@cloudcare/browser-logs 3.0.23 → 3.0.29
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/bundle/dataflux-logs.js +1 -1
- package/cjs/boot/buildEnv.js +1 -1
- package/cjs/boot/logsPublicApi.js +20 -20
- package/cjs/domain/assembly.js +0 -5
- package/cjs/domain/logger.js +45 -13
- package/cjs/domain/logsCollection/networkError/networkErrorCollection.js +3 -3
- package/esm/boot/buildEnv.js +1 -1
- package/esm/boot/logsPublicApi.js +21 -21
- package/esm/domain/assembly.js +0 -3
- package/esm/domain/logger.js +46 -14
- package/esm/domain/logsCollection/networkError/networkErrorCollection.js +4 -4
- package/package.json +3 -3
- package/src/boot/logsPublicApi.js +24 -21
- package/src/domain/assembly.js +0 -4
- package/src/domain/logger.js +56 -15
- package/src/domain/logsCollection/networkError/networkErrorCollection.js +6 -5
package/bundle/dataflux-logs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var e={log:"log",debug:"debug",info:"info",warn:"warn",error:"error"},n=function n(t){var r=[].slice.call(arguments,1);Object.prototype.hasOwnProperty.call(e,t)||(t=e.log),n[t].apply(n,r)};function t(e,n){var t,r=window;return r.Zone&&"function"==typeof r.Zone.__symbol__&&(t=e[r.Zone.__symbol__(n)]),t||(t=e[n]),t}function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(){if("object"===("undefined"==typeof globalThis?"undefined":r(globalThis)))return globalThis;Object.defineProperty(Object.prototype,"_gc_temp_",{get:function(){return this},configurable:!0});var e=_gc_temp_;return delete Object.prototype._gc_temp_,"object"!==r(e)&&(e="object"===("undefined"==typeof self?"undefined":r(self))?self:"object"===("undefined"==typeof window?"undefined":r(window))?window:{}),e}function i(e,n){return t(o(),"setTimeout")(e,n)}function s(e){t(o(),"clearTimeout")(e)}function a(e,n){return t(window,"setInterval")(e,n)}function u(e){t(window,"clearInterval")(e)}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}n.debug=console.debug.bind(console),n.log=console.log.bind(console),n.info=console.info.bind(console),n.warn=console.warn.bind(console),n.error=console.error.bind(console);var f=Array.prototype,l=(Function.prototype,Object.prototype),d=f.slice,p=l.toString,v=l.hasOwnProperty,g=f.forEach,h=Array.isArray,_=function(e,n,t){if(null===e)return!1;if(g&&e.forEach===g)e.forEach(n,t);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&false===n.call(t,e[r],r,e))return!1}else for(var i in e)if(v.call(e,i)&&false===n.call(t,e[i],i,e))return!1};function b(e){return _(d.call(arguments,1),(function(n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])})),e}var m=function(e){return _(d.call(arguments,1),(function(n){for(var t in n)void 0!==n[t]&&(e[t]=n[t])})),e},y=function(e){return _(d.call(arguments,1),(function(n){for(var t in n)void 0!==n[t]&&(T(n[t])&&T(e[t])?m(e[t],n[t]):e[t]=n[t])})),e},w=h||function(e){return"[object Array]"===p.call(e)},E=function(e){if(!e)return!1;try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},O=function(e){var n=[];return null===e||_(e,(function(e){n[n.length]=e})),n},S=function(e){var n=[];return null===e||_(e,(function(e,t){n[n.length]=t})),n},C=function(e,n,t){if(e.filter)return e.filter(n);for(var r=[],o=0;o<e.length;o++)if(v.call(e,o)){var i=e[o];n.call(t,i,o,e)&&r.push(i)}return r},x=function(e,n,t){if(e.map)return e.map(n);for(var r=[],o=0;o<e.length;o++)if(v.call(e,o)){var i=e[o];r.push(n.call(t,i,o,e))}return r},L=function(e,n,t){if(e.every)return e.every(n);for(var r=!0,o=0;o<e.length;o++)if(v.call(e,o)){var i=e[o];if(!n.call(t,i,o,e)){r=!1;break}}return r},T=function(e){return null!==e&&"[object Object]"===p.call(e)},R=function(e){if(T(e)){for(var n in e)if(v.call(e,n))return!1;return!0}return!1},k=function(e){var n=[];return _(e,(function(e,t){n.push([t,e])})),n},A=function(e){return"[object String]"===p.call(e)},M=function(e){return"[object Boolean]"===p.call(e)},D=function(e){return"[object Number]"===p.call(e)&&/[\d\.]+/.test(String(e))},I=(Date.now,function(e,n,t){var r,o,a=!t||void 0===t.leading||t.leading,u=!t||void 0===t.trailing||t.trailing,c=!1,f=this;return{throttled:function(){c?r=arguments:(a?e.apply(f,arguments):r=arguments,c=!0,o=i((function(){u&&r&&e.apply(f,r),c=!1,r=void 0}),n))},cancel:function(){s(o),c=!1,r=void 0}}}),$=function(e){for(var n,t=[],r={},o=0;o<e.length;o++)(n=e[o])in r||(r[n]=!0,t.push(n));return t};function U(e){return e?(parseInt(e,10)^16*Math.random()>>parseInt(e,10)/4).toString(16):"".concat(1e7,"-",1e3,"-",4e3,"-",8e3,"-",1e11).replace(/[018]/g,U)}var B=function(e){var n=function(e){this._fields={Username:4,Password:5,Port:7,Protocol:2,Host:6,Path:8,URL:0,QueryString:9,Fragment:10},this._values={},this._regex=null,this._regex=/^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/,void 0!==e&&this._parse(e)};return n.prototype.setUrl=function(e){this._parse(e)},n.prototype._initValues=function(){for(var e in this._fields)this._values[e]=""},n.prototype.addQueryString=function(e){if("object"!==c(e))return!1;var n=this._values.QueryString||"";for(var t in e)n=new RegExp(t+"[^&]+").test(n)?n.replace(new RegExp(t+"[^&]+"),t+"="+e[t]):"&"===n.slice(-1)?n+t+"="+e[t]:""===n?t+"="+e[t]:n+"&"+t+"="+e[t];this._values.QueryString=n},n.prototype.getParse=function(){return this._values},n.prototype.getUrl=function(){var e="";return e+=this._values.Origin,e+=this._values.Path,e+=this._values.QueryString?"?"+this._values.QueryString:""},n.prototype._parse=function(e){this._initValues();var n=this._regex.exec(e);if(!n)throw"DPURLParser::_parse -> Invalid URL";for(var t in this._fields)void 0!==n[this._fields[t]]&&(this._values[t]=n[this._fields[t]]);this._values.Path=this._values.Path||"/",this._values.Hostname=this._values.Host.replace(/:\d+$/,""),this._values.Origin=this._values.Protocol+"://"+this._values.Hostname+(this._values.Port?":"+this._values.Port:"")},new n(e)};function P(e){return null===e?"null":Array.isArray(e)?"array":c(e)}function N(e,n,t){if(void 0===t&&(t=function(){if("undefined"!=typeof WeakSet){var e=new WeakSet;return{hasAlreadyBeenSeen:function(n){var t=e.has(n);return t||e.add(n),t}}}var n=[];return{hasAlreadyBeenSeen:function(e){var t=n.indexOf(e)>=0;return t||n.push(e),t}}}()),void 0===n)return e;if("object"!==c(n)||null===n)return n;if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp){var r=n.flags||[n.global?"g":"",n.ignoreCase?"i":"",n.multiline?"m":"",n.sticky?"y":"",n.unicode?"u":""].join("");return new RegExp(n.source,r)}if(!t.hasAlreadyBeenSeen(n)){if(Array.isArray(n)){for(var o=Array.isArray(e)?e:[],i=0;i<n.length;++i)o[i]=N(o[i],n[i],t);return o}o="object"===P(e)?e:{};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=N(o[s],n[s],t));return o}}function W(e){return N(void 0,e)}function F(){}var G,V=1e3,j=60*V,q=60*j;function Q(e,n){return+e.toFixed(n)}function H(){return performance.now()}function K(){return{relative:H(),timeStamp:X()}}function X(){return Y()}function Y(){return(new Date).getTime()}function z(){return void 0===G&&(G=performance.timing.navigationStart),G}function Z(e,n){for(var t=n.split(".");t.length;){var r=t.shift();if(!(e&&r in e&&v.call(e,r)))return;e=e[r]}return e}function J(e,n){var t=e.charCodeAt(n-1);return t>=55296&&t<=56319?e.slice(0,n+1):e.slice(0,n)}function ee(e,n){return-1!==e.indexOf(n)}function ne(e){return D(e)&&e>=0&&e<=100}function te(e){var n={};return _(e,(function(e,t){var r;n[(r=t,r.replace(/[A-Z]/g,(function(e,n){return(0!==n?"_":"")+e.toLowerCase()})).replace(/-/g,"_"))]=re(e)})),n}function re(e){return w(e)?x(e,(function(e){return re(e)})):"object"===c(e)&&null!==e?te(e):e}function oe(e,n){return null!=e?e:n}var ie=function(){this.buffer=[]};ie.prototype={add:function(e){this.buffer.push(e)>500&&this.buffer.splice(0,1)},drain:function(){_(this.buffer,(function(e){e()})),this.buffer.length=0}};var se=ie,ae=1/0,ue=j;function ce(e,n){this.expireDelay=e,this.entries=[],this.maxEntries=n;var t=this;this.clearOldContextsInterval=a((function(){t.clearOldContexts()}),ue)}ce.prototype.add=function(e,n){var t=this,r={context:e,startTime:n,endTime:ae,remove:function(){var e=t.entries.indexOf(r);e>=0&&t.entries.splice(e,1)},close:function(e){r.endTime=e}};return this.maxEntries&&this.entries.length>=this.maxEntries&&this.entries.pop(),this.entries.unshift(r),r},ce.prototype.find=function(e){void 0===e&&(e=ae);for(var n=0;n<this.entries.length;n++){var t=this.entries[n];if(t.startTime<=e){if(e<=t.endTime)return t.context;break}}},ce.prototype.closeActive=function(e){var n=this.entries[0];n&&n.endTime===ae&&n.close(e)},ce.prototype.findAll=function(e,n){void 0===n&&(n=0);var t=e+n;void 0===e&&(e=ae);var r=C(this.entries,(function(n){return n.startTime<=t&&e<=n.endTime}));return x(r,(function(e){return e.context}))},ce.prototype.reset=function(){this.entries=[]},ce.prototype.stop=function(){u(this.clearOldContextsInterval)},ce.prototype.clearOldContexts=function(){for(var e=H()-this.expireDelay;this.entries.length>0&&this.entries[this.entries.length-1].endTime<e;)this.entries.pop()};var fe={navigator:"undefined"!=typeof window&&void 0!==window.navigator?window.navigator:{},infoMap:{engine:["WebKit","Trident","Gecko","Presto"],browser:["Safari","Chrome","Edge","IE","IE 11","IE 10","IE 9","IE 8","IE 7","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360SE","360EE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","2345Explorer","TheWorld","XiaoMi","Quark","Qiyu","Wechat",,"WechatWork","Taobao","Alipay","Weibo","Douban","Suning","iQiYi"],os:["Windows","Linux","Mac OS","Android","Ubuntu","FreeBSD","Debian","iOS","Windows Phone","BlackBerry","MeeGo","Symbian","Chrome OS","WebOS"],device:["Mobile","Tablet","iPad"]}},le={getMatchMap:function(e){return{Trident:e.indexOf("Trident")>-1||e.indexOf("NET CLR")>-1,Presto:e.indexOf("Presto")>-1,WebKit:e.indexOf("AppleWebKit")>-1,Gecko:e.indexOf("Gecko/")>-1,Safari:e.indexOf("Safari")>-1,Chrome:e.indexOf("Chrome")>-1||e.indexOf("CriOS")>-1,IE:e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1,Edge:e.indexOf("Edge")>-1||e.indexOf("Edg")>-1,Firefox:e.indexOf("Firefox")>-1||e.indexOf("FxiOS")>-1,"Firefox Focus":e.indexOf("Focus")>-1,Chromium:e.indexOf("Chromium")>-1,Opera:e.indexOf("Opera")>-1||e.indexOf("OPR")>-1,Vivaldi:e.indexOf("Vivaldi")>-1,Yandex:e.indexOf("YaBrowser")>-1,Arora:e.indexOf("Arora")>-1,Lunascape:e.indexOf("Lunascape")>-1,QupZilla:e.indexOf("QupZilla")>-1,"Coc Coc":e.indexOf("coc_coc_browser")>-1,Kindle:e.indexOf("Kindle")>-1||e.indexOf("Silk/")>-1,Iceweasel:e.indexOf("Iceweasel")>-1,Konqueror:e.indexOf("Konqueror")>-1,Iceape:e.indexOf("Iceape")>-1,SeaMonkey:e.indexOf("SeaMonkey")>-1,Epiphany:e.indexOf("Epiphany")>-1,360:e.indexOf("QihooBrowser")>-1||e.indexOf("QHBrowser")>-1,"360EE":e.indexOf("360EE")>-1,"360SE":e.indexOf("360SE")>-1,UC:e.indexOf("UC")>-1||e.indexOf(" UBrowser")>-1,QQBrowser:e.indexOf("QQBrowser")>-1,QQ:e.indexOf("QQ/")>-1,Baidu:e.indexOf("Baidu")>-1||e.indexOf("BIDUBrowser")>-1,Maxthon:e.indexOf("Maxthon")>-1,Sogou:e.indexOf("MetaSr")>-1||e.indexOf("Sogou")>-1,LBBROWSER:e.indexOf("LBBROWSER")>-1,"2345Explorer":e.indexOf("2345Explorer")>-1,TheWorld:e.indexOf("TheWorld")>-1,XiaoMi:e.indexOf("MiuiBrowser")>-1,Quark:e.indexOf("Quark")>-1,Qiyu:e.indexOf("Qiyu")>-1,Wechat:e.indexOf("MicroMessenger")>-1,Taobao:e.indexOf("AliApp(TB")>-1,Alipay:e.indexOf("AliApp(AP")>-1,Weibo:e.indexOf("Weibo")>-1,Douban:e.indexOf("com.douban.frodo")>-1,Suning:e.indexOf("SNEBUY-APP")>-1,iQiYi:e.indexOf("IqiyiApp")>-1,Windows:e.indexOf("Windows")>-1,Linux:e.indexOf("Linux")>-1||e.indexOf("X11")>-1,"Mac OS":e.indexOf("Macintosh")>-1,Android:e.indexOf("Android")>-1||e.indexOf("Adr")>-1,Ubuntu:e.indexOf("Ubuntu")>-1,FreeBSD:e.indexOf("FreeBSD")>-1,Debian:e.indexOf("Debian")>-1,"Windows Phone":e.indexOf("IEMobile")>-1||e.indexOf("Windows Phone")>-1,BlackBerry:e.indexOf("BlackBerry")>-1||e.indexOf("RIM")>-1,MeeGo:e.indexOf("MeeGo")>-1,Symbian:e.indexOf("Symbian")>-1,iOS:e.indexOf("like Mac OS X")>-1,"Chrome OS":e.indexOf("CrOS")>-1,WebOS:e.indexOf("hpwOS")>-1,Mobile:e.indexOf("Mobi")>-1||e.indexOf("iPh")>-1||e.indexOf("480")>-1,Tablet:e.indexOf("Tablet")>-1||e.indexOf("Nexus 7")>-1,iPad:e.indexOf("iPad")>-1}},matchInfoMap:function(e){var n=fe.navigator.userAgent||"",t=le.getMatchMap(n);for(var r in fe.infoMap)for(var o=0;o<fe.infoMap[r].length;o++){var i=fe.infoMap[r][o];t[i]&&(e[r]=i)}},getOS:function(){return le.matchInfoMap(this),this.os||"Unknown"},getOSVersion:function(){var e=this,n=fe.navigator.userAgent||"";e.osVersion="",e.osMajor="";var t={Windows:function(){var e=n.replace(/^.*Windows NT ([\d.]+);.*$/,"$1");return{6.4:"10",6.3:"8.1",6.2:"8",6.1:"7","6.0":"Vista",5.2:"XP",5.1:"XP","5.0":"2000"}[e]||e},Android:function(){return n.replace(/^.*Android ([\d.]+);.*$/,"$1")},iOS:function(){return n.replace(/^.*OS ([\d_]+) like.*$/,"$1").replace(/_/g,".")},Debian:function(){return n.replace(/^.*Debian\/([\d.]+).*$/,"$1")},"Windows Phone":function(){return n.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/,"$2")},"Mac OS":function(){return n.replace(/^.*Mac OS X ([\d_]+).*$/,"$1").replace(/_/g,".")},WebOS:function(){return n.replace(/^.*hpwOS\/([\d.]+);.*$/,"$1")}};return t[e.os]&&(e.osVersion=t[e.os](),e.osVersion===n&&(e.osVersion="")),e.osVersion&&(e.osMajor=e.osVersion.split(".").length&&e.osVersion.split(".")[0]),{version:e.osVersion,osMajor:e.osMajor}},getOrientationStatu:function(){return window.matchMedia("(orientation: portrait)").matches?"竖屏":"横屏"},getDeviceType:function(){var e=this;return e.device="PC",le.matchInfoMap(e),e.device},getNetwork:function(){var e=window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection,n="unknown",t=e?e.type||e.effectiveType:null;if(t&&"string"==typeof t)switch(t){case"bluetooth":case"cellular":case"slow-2g":case"2g":case"3g":n="cellular";break;case"none":n="none";break;case"ethernet":case"wifi":case"wimax":case"4g":n="wifi";break;case"other":case"unknown":n="unknown"}return n},getLanguage:function(){var e;return this.language=((e=(fe.navigator.browserLanguage||fe.navigator.language||"").split("-"))[1]&&(e[1]=e[1].toUpperCase()),e.join("_")),this.language},getBrowserInfo:function(){var e=this;le.matchInfoMap(e);var n=fe.navigator.userAgent||"",t=function(e,n){var t=fe.navigator.mimeTypes;for(var r in t)if(t[r][e]==n)return!0;return!1},r=le.getMatchMap(n),o=!1;if("undefined"!=typeof window&&window.chrome){var i=n.replace(/^.*Chrome\/([\d]+).*$/,"$1");i>36&&window.showModalDialog?o=!0:i>45&&(o=t("type","application/vnd.chromium.remoting-viewer"))}if(r.Baidu&&r.Opera&&(r.Baidu=!1),r.Mobile&&(r.Mobile=!(n.indexOf("iPad")>-1)),o&&(t("type","application/gameplugin")||fe.navigator&&void 0===fe.navigator.connection.saveData?r["360SE"]=!0:r["360EE"]=!0),r.IE||r.Edge)switch(window.screenTop-window.screenY){case 71:case 74:case 99:case 75:case 74:case 105:default:break;case 102:r["360EE"]=!0;break;case 104:r["360SE"]=!0}var s={Safari:function(){return n.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return n.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return n.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return n.replace(/^.*Edge?\/([\d.]+).*$/,"$1")},Firefox:function(){return n.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return n.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return n.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return n.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1")},Vivaldi:function(){return n.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return n.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return n.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return n.replace(/^.*Lunascape[\/\s]([\d.]+).*$/,"$1")},QupZilla:function(){return n.replace(/^.*QupZilla[\/\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return n.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return n.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return n.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return n.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return n.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return n.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return n.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},360:function(){return n.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[n.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[n.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},Maxthon:function(){return n.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return n.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return n.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return n.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/,"$1")},UC:function(){return n.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return n.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},LBBROWSER:function(){var e="";n.indexOf("LieBaoFast")>-1&&(e=n.replace(/^.*LieBaoFast\/([\d.]+).*$/,"$1"));var t=n.replace(/^.*Chrome\/([\d]+).*$/,"$1");return e||{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[t]||""},"2345Explorer":function(){return n.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1")},TheWorld:function(){return n.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return n.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return n.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return n.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return n.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},WechatWork:function(){return n.replace(/^.*wxwork\/([\d.]+).*$/,"$1")},Taobao:function(){return n.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return n.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return n.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return n.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return n.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return n.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")}};return e.browserVersion="",e.browserMajor="",s[e.browser]&&(e.browserVersion=s[e.browser](),e.browserVersion==n&&(e.browserVersion="")),"Chrome"==e.browser&&n.match(/\S+Browser/)&&(e.browser=n.match(/\S+Browser/)[0],e.version=n.replace(/^.*Browser\/([\d.]+).*$/,"$1")),"Edge"==e.browser&&(e.version>"75"?e.engine="Blink":e.engine="EdgeHTML"),("Chrome"==e.browser&&parseInt(e.browserVersion)>27||r.Chrome&&"WebKit"==e.engine&&parseInt(e.browserVersion)>27||"Opera"==e.browser&&parseInt(e.version)>12||"Yandex"==e.browser)&&(e.engine="Blink"),e.browserVersion&&(e.browserMajor=e.browserVersion.split(".").length&&this.browserVersion.split(".")[0]),{browser:e.browser,browserVersion:e.browserVersion,engine:e.engine,browserMajor:e.browserMajor}},getGeoPostion:function(e){navigator&&navigator.geolocation&&navigator.geolocation.getCurrentPosition((function(n){e(n)}),(function(e){n.warn(e)}))}},de={};"undefined"!=typeof window&&(de={os:le.getOS(),osVersion:le.getOSVersion().version,osVersionMajor:le.getOSVersion().osMajor,browser:le.getBrowserInfo().browser,browserVersion:le.getBrowserInfo().browserVersion,browserVersionMajor:le.getBrowserInfo().browserMajor,screenSize:window.screen.width+"*"+window.screen.height,networkType:le.getNetwork(),divice:le.getDeviceType()});var pe=de,ve={BEFORE_UNLOAD:"beforeunload",CLICK:"click",DBL_CLICK:"dblclick",KEY_DOWN:"keydown",LOAD:"load",POP_STATE:"popstate",SCROLL:"scroll",TOUCH_START:"touchstart",TOUCH_END:"touchend",TOUCH_MOVE:"touchmove",VISIBILITY_CHANGE:"visibilitychange",PAGE_SHOW:"pageshow",FREEZE:"freeze",RESUME:"resume",DOM_CONTENT_LOADED:"DOMContentLoaded",POINTER_DOWN:"pointerdown",POINTER_UP:"pointerup",POINTER_CANCEL:"pointercancel",HASH_CHANGE:"hashchange",PAGE_HIDE:"pagehide",MOUSE_DOWN:"mousedown",MOUSE_UP:"mouseup",MOUSE_MOVE:"mousemove",FOCUS:"focus",BLUR:"blur",CONTEXT_MENU:"contextmenu",RESIZE:"resize",CHANGE:"change",INPUT:"input",PLAY:"play",PAUSE:"pause",SECURITY_POLICY_VIOLATION:"securitypolicyviolation",SELECTION_CHANGE:"selectionchange"},ge={ACTION:"action",ERROR:"error",LONG_TASK:"long_task",VIEW:"view",RESOURCE:"resource",LOGGER:"logger"},he={FETCH:"fetch",XHR:"xhr"},_e={HANDLED:"handled",UNHANDLED:"unhandled"};function be(e,n,t){var r=e[n],o=t(r),i=function(){if("function"==typeof o)return o.apply(this,arguments)};return e[n]=i,{stop:function(){e[n]===i?e[n]=r:o=r}}}function me(e,n,t){return be(e,n,(function(e){return function(){var n;return t&&t.before&&t.before.apply(this,arguments),"function"==typeof e&&(n=e.apply(this,arguments)),t&&t.after&&t.after.apply(this,arguments),n}}))}function ye(e){return ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ye(e)}function we(e,n,t){if("object"!==ye(e)||null===e)return JSON.stringify(e);var r=Ee(Object.prototype),o=Ee(Array.prototype),i=Ee(Object.getPrototypeOf(e)),s=Ee(e);try{return JSON.stringify(e,n,t)}catch(e){return"<error: unable to serialize object>"}finally{r(),o(),i(),s()}}function Ee(e){var n=e,t=n.toJSON;return t?(delete n.toJSON,function(){n.toJSON=t}):F}function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}var Se="?";function Ce(e){var n=[],t=Ie(e,"stack");return t&&_(t.split("\n"),(function(e){var t=function(e){var n=Te.exec(e);if(!n)return;var t=n[2]&&0===n[2].indexOf("native"),r=n[2]&&0===n[2].indexOf("eval"),o=Re.exec(n[2]);r&&o&&(n[2]=o[1],n[3]=o[2],n[4]=o[3]);return{args:t?[n[2]]:[],column:n[4]?+n[4]:void 0,func:n[1]||Se,line:n[3]?+n[3]:void 0,url:t?void 0:n[2]}}(e)||function(e){var n=ke.exec(e);if(!n)return;return{args:[],column:n[3]?+n[3]:void 0,func:Se,line:n[2]?+n[2]:void 0,url:n[1]}}(e)||function(e){var n=Ae.exec(e);if(!n)return;return{args:[],column:n[4]?+n[4]:void 0,func:n[1]||Se,line:+n[3],url:n[2]}}(e)||function(e){var n=Me.exec(e);if(!n)return;var t=n[3]&&n[3].indexOf(" > eval")>-1,r=De.exec(n[3]);t&&r&&(n[3]=r[1],n[4]=r[2],n[5]=void 0);return{args:n[2]?n[2].split(","):[],column:n[5]?+n[5]:void 0,func:n[1]||Se,line:n[4]?+n[4]:void 0,url:n[3]}}(e);t&&(!t.func&&t.line&&(t.func=Se),n.push(t))})),{message:Ie(e,"message"),name:Ie(e,"name"),stack:n}}var xe="((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\w+\\.|\\/).*?)",Le="(?::(\\d+))",Te=new RegExp("^\\s*at (.*?) ?\\("+xe+Le+"?"+Le+"?\\)?\\s*$","i"),Re=new RegExp("\\((\\S*)"+Le+Le+"\\)");var ke=new RegExp("^\\s*at ?"+xe+Le+"?"+Le+"??\\s*$","i");var Ae=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;var Me=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,De=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Ie(e,n){if("object"===Oe(e)&&e&&n in e){var t=e[n];return"string"==typeof t?t:void 0}}var $e=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/;function Ue(e){var n=function(e){return me(window,"onerror",{before:function(n,t,r,o,i){var s;if(i instanceof Error)s=Ce(i);else{var a={url:t,column:o,line:r},u=function(e){var n,t;if("[object String]"==={}.toString.call(e)){var r=$e.exec(e);r&&(n=r[1],t=r[2])}return{name:n,message:t}}(n);s={name:u.name,message:u.message,stack:[a]}}e(s,oe(i,n))}})}(e),t=function(e){return me(window,"onunhandledrejection",{before:function(n){var t=n.reason||"Empty reason",r=Ce(t);e(r,t)}})}(e);return{stop:function(){n.stop(),t.stop()}}}var Be={AGENT:"agent",CONSOLE:"console",NETWORK:"network",SOURCE:"source",LOGGER:"logger",CUSTOM:"custom"};function Pe(e){var n=Ne(e);return _(e.stack,(function(e){var t="?"===e.func?"<anonymous>":e.func,r=e.args&&e.args.length>0?"("+e.args.join(", ")+")":"",o=e.line?":"+e.line:"",i=e.line&&e.column?":"+e.column:"";n+="\n at "+t+r+" @ "+e.url+o+i})),n}function Ne(e){return(e.name||"Error")+": "+e.message}function We(e,n){for(var t=e,r=[];t&&t.cause instanceof Error&&r.length<10;){var o=Ce(t.cause);r.push({message:t.cause.message,source:n,type:o&&o.name,stack:o&&Pe(o)}),t=t.cause}return r.length?r:void 0}var Fe=1024,Ge=1024*Fe,Ve=/[^\u0000-\u007F]/;function je(e){return Ve.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length}function qe(e){return Ue((function(n,t){e.notify(function(e){var n=e.stackTrace,t=e.originalError,r=e.handlingStack,o=e.startClocks,i=e.nonErrorPrefix,s=e.source,a=e.handling;return n&&(void 0!==n.message||t instanceof Error)?{startClocks:o,source:s,handling:a,originalError:t,message:n.message||"Empty message",stack:Pe(n),handlingStack:r,type:n.name,causes:We(t,s)}:{startClocks:o,source:s,handling:a,originalError:t,message:i+" "+we(t),stack:"No stack, consider using an instance of Error",handlingStack:r,type:n&&n.name}}({stackTrace:n,originalError:t,startClocks:K(),nonErrorPrefix:"Uncaught",source:Be.SOURCE,handling:_e.UNHANDLED}))}))}var Qe=function(e){this.observers=[],this.onLastUnsubscribe=void 0,this.onFirstSubscribe=e};Qe.prototype={subscribe:function(e){!this.observers.length&&this.onFirstSubscribe&&(this.onLastUnsubscribe=this.onFirstSubscribe()||void 0),this.observers.push(e);var n=this;return{unsubscribe:function(){n.observers=C(n.observers,(function(n){return e!==n})),!n.observers.length&&n.onLastUnsubscribe&&n.onLastUnsubscribe()}}},notify:function(e){_(this.observers,(function(n){n(e)}))}};var He=Qe;function Ke(){var e=[].slice.call(arguments),n=new He((function(){var t=x(e,(function(e){return e.subscribe((function(e){return n.notify(e)}))}));return function(){return _(t,(function(e){return e.unsubscribe()}))}}));return n}var Xe={};function Ye(n){var t=x(n,(function(n){return Xe[n]||(Xe[n]=function(n){var t=new He((function(){var r=console[n];return console[n]=function(){var o=[].slice.call(arguments);r.apply(console,arguments);var i=function(){var e=new Error;if(!e.stack)try{throw e}catch(e){}var n=Ce(e);return n.stack=n.stack.slice(2),Pe(n)}();t.notify(function(n,t,r){var o,i=x(n,(function(e){return function(e){if("string"==typeof e)return e;if(e instanceof Error)return Ne(Ce(e));return we(e,void 0,2)}(e)})).join(" ");if(t===e.error){var s=function(e,n){for(var t=0;t<e.length;t+=1){var r=e[t];if(n(r,t,e))return r}}(n,(function(e){return e instanceof Error}));o=s?Pe(Ce(s)):void 0,i="console error: "+i}return{api:t,message:i,stack:o,handlingStack:r}}(o,n,i))},function(){console[n]=r}}));return t}(n)),Xe[n]}));return Ke.apply(this,t)}function ze(e,n,t,r){return Ze(e,[n],t,r)}function Ze(e,n,r,o){var i=o&&o.once?function(e){a(),r(e)}:r;o=o&&o.passive?{capture:o.capture,passive:o.passive}:o&&o.capture;var s=t(e,"addEventListener");_(n,(function(n){s.call(e,n,i,o)}));var a=function(){var r=t(e,"removeEventListener");_(n,(function(n){r.call(e,n,i,o)}))};return{stop:a}}var Je={intervention:"intervention",deprecation:"deprecation",cspViolation:"csp_violation"};function en(e){var n,t=[];ee(e,Je.cspViolation)&&t.push(n=new He((function(){var e=function(e){n.notify(function(e){var n=Je.cspViolation,t="'"+e.blockedURI+"' blocked by '"+e.effectiveDirective+"' directive";return{type:Je.cspViolation,subtype:e.effectiveDirective,message:n+": "+t,stack:nn(e.effectiveDirective,t+' of the policy "'+J(e.originalPolicy,100)+'"',e.sourceFile,e.lineNumber,e.columnNumber)}}(e))};return ze(document,ve.SECURITY_POLICY_VIOLATION,e).stop})));var r=C(e,(function(e){return e!==Je.cspViolation}));return r.length&&t.push(function(e){var n=new He((function(){if(window.ReportingObserver){var t=function(e){_(e,(function(e){n.notify(function(e){var n=e.body,t=e.type;return{type:t,subtype:n.id,message:t+": "+n.message,stack:nn(n.id,n.message,n.sourceFile,n.lineNumber,n.columnNumber)}}(e))}))},r=new window.ReportingObserver(t,{types:e,buffered:!0});return r.observe(),function(){r.disconnect()}}}));return n}(r)),Ke.apply(this,t)}function nn(e,n,t,r,o){return t&&Pe({name:e,message:n,stack:[{func:"?",url:t,line:r,column:o}]})}var tn=function(){this._events=[],this.pendingEvents=[]};tn.prototype={emit:function(e){var n=[].slice.call(arguments,1);_(this._events,(function(t){if(t.type!==e)return!1;t.callback.apply(t.context,n)}))},on:function(e,n,t){"function"==typeof n&&this._events.push({type:e,callback:n,context:t||this})}};new tn;var rn,on={PERFORMANCE_ENTRIES_COLLECTED:"PERFORMANCE_ENTRIES_COLLECTED",AUTO_ACTION_COMPLETED:"AUTO_ACTION_COMPLETED",VIEW_CREATED:"VIEW_CREATED",VIEW_UPDATED:"VIEW_UPDATED",VIEW_ENDED:"VIEW_ENDED",SESSION_RENEWED:"SESSION_RENEWED",SESSION_EXPIRED:"SESSION_EXPIRED",PAGE_EXITED:"PAGE_EXITED",REQUEST_STARTED:"REQUEST_STARTED",REQUEST_COMPLETED:"REQUEST_COMPLETED",RAW_RUM_EVENT_COLLECTED:"RAW_RUM_EVENT_COLLECTED",RUM_EVENT_COLLECTED:"RUM_EVENT_COLLECTED",RAW_ERROR_COLLECTED:"RAW_ERROR_COLLECTED",RAW_LOG_COLLECTED:"RAW_LOG_COLLECTED",LOG_COLLECTED:"LOG_COLLECTED"};function sn(){this.callbacks={}}function an(e){return un(e,function(e){if(e.origin&&"null"!==e.origin)return e.origin;var n=e.host.replace(/(:80|:443)$/,"");return e.protocol+"//"+n}(window.location)).href}function un(e,n){if(function(){if(void 0!==rn)return rn;try{var e=new URL("http://test/path");return rn="http://test/path"===e.href}catch(e){rn=!1}return rn}())return void 0!==n?new URL(e,n):new URL(e);if(void 0===n&&!/:/.test(e))throw new Error("Invalid URL: "+e);var t=document,r=t.createElement("a");if(void 0!==n){var o=(t=document.implementation.createHTMLDocument("")).createElement("base");o.href=n,t.head.appendChild(o),t.body.appendChild(r)}return r.href=e,r}sn.prototype={notify:function(e,n){var t=this.callbacks[e];t&&_(t,(function(e){e(n)}))},subscribe:function(e,n){this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(n);var t=this;return{unsubscribe:function(){t.callbacks[e]=C(t.callbacks[e],(function(e){return e!==n}))}}}};var cn=navigator.userAgent.toLowerCase(),fn=function(){return/iphone os/.test(cn)};var ln,dn=V;function pn(e,n,t,r){var o=new Date;o.setTime(o.getTime()+t);var i="expires="+o.toUTCString(),s=r&&r.crossSite?"none":"strict",a=r&&r.domain?";domain="+r.domain:"",u=r&&r.secure?";secure":"";document.cookie=e+"="+n+";"+i+";path=/;samesite="+s+a+u}function vn(e){return function(e,n){var t=e.match("(?:^|;)\\s*"+n+"\\s*=\\s*([^;]+)");return t?t[1]:void 0}(document.cookie,e)}var gn=/^\s+|\s+$/g,hn={rum:"/rum",log:"/logging",sessionReplay:"/rum/replay"};function _n(e,n){var t=hn[n];return t?(0===e.indexOf("/")&&(e=location.origin+bn(e)),e.lastIndexOf("/")===e.length-1?bn(e)+"v1/write"+t:bn(e)+"/v1/write"+t):""}function bn(e){return e.replace(gn,"")}var mn,yn;function wn(e){if(void 0===e.sampleRate||ne(e.sampleRate)){if(void 0===e.sessionSampleRate||ne(e.sessionSampleRate)){var t,r,o=e.sessionSampleRate||e.sampleRate;return b({beforeSend:e.beforeSend&&(t=e.beforeSend,r="beforeSend threw an error:",function(){var e=[].slice.call(arguments);try{return t.apply(this,e)}catch(e){n.error(r,e)}}),cookieOptions:En(e),sessionSampleRate:oe(o,100),service:e.service,version:e.version,env:e.env,silentMultipleInit:!!e.silentMultipleInit,batchBytesLimit:16*Fe,eventRateLimiterThreshold:3e3,flushTimeout:30*V,batchMessagesLimit:50,messageBytesLimit:256*Fe,resourceUrlLimit:5*Fe},function(e){var n=function(e){return!1};"isIntakeUrl"in e&&E(e.isIntakeUrl)&&M(e.isIntakeUrl())&&(n=e.isIntakeUrl);var t=function(e){return!1};return"isServerError"in e&&E(e.isServerError)&&M(e.isServerError())&&(t=e.isServerError),{datakitUrl:_n(e.datakitUrl||e.datakitOrigin,"rum"),logsEndpoint:_n(e.datakitOrigin,"log"),sessionReplayEndPoint:_n(e.datakitOrigin,"sessionReplay"),isIntakeUrl:n,isServerError:t}}(e))}n.error("Sample Rate should be a number between 0 and 100")}else n.error("Sample Rate should be a number between 0 and 100")}function En(e){var n={};return n.secure=function(e){return!!e.useSecureSessionCookie||!!e.useCrossSiteSessionCookie}(e),n.crossSite=!!e.useCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(n.domain=function(){if(void 0===ln){for(var e="dd_site_test_".concat(U()),n=window.location.hostname.split("."),t=n.pop();n.length&&!vn(e);)t=n.pop()+"."+t,pn(e,"test",V,{domain:t});ln=t}return ln}()),n}function On(){var e;return mn||(e=new He((function(){if(window.fetch){var n=be(window,"fetch",(function(n){return function(t,r){var o,i=function(e,n,t){var r=t&&t.method||n instanceof Request&&n.method||"GET",o=n instanceof Request?n.url:an(String(n)),i=K(),s={state:"start",init:t,input:n,method:r,startClocks:i,url:o};return e.notify(s),s}(e,t,r);return i?(o=n.call(this,i.input,i.init),function(e,n,t){var r=function(n){var r=t;if(r.state="resolve","stack"in n||n instanceof Error)r.status=0,r.isAborted=n instanceof DOMException&&n.code===DOMException.ABORT_ERR,r.error=n;else if("status"in n){r.response=n;try{r.responseType=n.constructor===Response&&n.type||""}catch(e){r.responseType=""}r.status=n.status,r.isAborted=!1}e.notify(r)};n.then(r,r)}(e,o,i)):o=n.call(this,t,r),o}}));return n.stop}})),mn=e),mn}var Sn={},Cn="_DATAFLUX_REQUEST_UUID";function xn(){var e;return yn||(e=new He((function(){var n=me(XMLHttpRequest.prototype,"open",{before:Ln}),t=me(XMLHttpRequest.prototype,"send",{before:function(){Tn.call(this,e)}}),r=me(XMLHttpRequest.prototype,"abort",{before:kn});return function(){n.stop(),t.stop(),r.stop()}})),yn=e),yn}function Ln(e,n){var t=this[Cn]||U();this[Cn]=t,Sn[t]={state:"open",method:e,url:an(String(n))}}function Tn(e){var n=Sn[this[Cn]];if(n){var t=n;t.state="start",t.startTime=H(),t.startClocks=K(),t.isAborted=!1,t.xhr=this;var r=!1,o=me(this,"onreadystatechange",{before:function(){this.readyState===XMLHttpRequest.DONE&&i.call(this)}}).stop,i=function(){if(s(),o(),!r){r=!0;var i,a=n;a.state="complete",a.duration=(i=t.startClocks.timeStamp,X()-i),a.status=this.status,e.notify(b({},a)),Rn.call(this)}},s=ze(this,"loadend",i).stop;e.notify(t)}}function Rn(){delete Sn[this[Cn]],delete this[Cn]}function kn(){var e=Sn[this[Cn]];e&&(e.isAborted=!0)}var An={HIDDEN:"visibility_hidden",UNLOADING:"before_unload",PAGEHIDE:"page_hide",FROZEN:"page_frozen"};var Mn,Dn={sdk_name:"_gc.sdk_name",sdk_version:"_gc.sdk_version",app_id:"application.id",env:"env",service:"service",version:"version",userid:"user.id",user_email:"user.email",user_name:"user.name",session_id:"session.id",session_type:"session.type",session_sampling:"session.is_sampling",session_has_replay:"session.has_replay",is_signin:"user.is_signin",os:"device.os",os_version:"device.os_version",os_version_major:"device.os_version_major",browser:"device.browser",browser_version:"device.browser_version",browser_version_major:"device.browser_version_major",screen_size:"device.screen_size",network_type:"device.network_type",device:"device.device",view_id:"view.id",view_referrer:"view.referrer",view_url:"view.url",view_host:"view.host",view_path:"view.path",view_name:"view.path",view_path_group:"view.path_group",view_url_query:"view.url_query"},In={action_id:"action.id",view_in_foreground:"view.in_foreground"},$n={view:{type:ge.VIEW,tags:{view_loading_type:"view.loading_type",view_apdex_level:"view.apdex_level"},fields:{is_active:"view.is_active",session_replay_stats:"_gc.replay_stats",session_is_active:"session.is_active",view_error_count:"view.error.count",view_resource_count:"view.resource.count",view_long_task_count:"view.long_task.count",view_action_count:"view.action.count",first_contentful_paint:"view.first_contentful_paint",largest_contentful_paint:"view.largest_contentful_paint",largest_contentful_paint_element_selector:"view.largest_contentful_paint_element_selector",cumulative_layout_shift:"view.cumulative_layout_shift",first_input_delay:"view.first_input_delay",loading_time:"view.loading_time",dom_interactive:"view.dom_interactive",dom_content_loaded:"view.dom_content_loaded",dom_complete:"view.dom_complete",load_event:"view.load_event",first_input_time:"view.first_input_time",first_paint_time:"view.fpt",resource_load_time:"view.resource_load_time",time_to_interactive:"view.tti",dom:"view.dom",dom_ready:"view.dom_ready",time_spent:"view.time_spent",first_byte:"view.first_byte",in_foreground_periods:"view.in_foreground_periods",frustration_count:"view.frustration.count",custom_timings:"view.custom_timings"}},resource:{type:ge.RESOURCE,tags:{trace_id:"_gc.trace_id",span_id:"_gc.span_id",resource_url:"resource.url",resource_url_host:"resource.url_host",resource_url_path:"resource.url_path",resource_url_path_group:"resource.url_path_group",resource_url_query:"resource.url_query",resource_type:"resource.type",resource_status:"resource.status",resource_status_group:"resource.status_group",resource_method:"resource.method"},fields:{duration:"resource.duration",resource_size:"resource.size",resource_encode_size:"resource.encode_size",resource_render_blocking_status:"resource.render_blocking_status",resource_dns:"resource.dns",resource_tcp:"resource.tcp",resource_ssl:"resource.ssl",resource_ttfb:"resource.ttfb",resource_trans:"resource.trans",resource_redirect:"resource.redirect",resource_first_byte:"resource.firstbyte",resource_dns_time:"resource.dns_time",resource_download_time:"resource.download_time",resource_first_byte_time:"resource.first_byte_time",resource_connect_time:"resource.connect_time",resource_ssl_time:"resource.ssl_time",resource_redirect_time:"resource.redirect_time"}},error:{type:ge.ERROR,tags:{error_id:"error.id",trace_id:"_gc.trace_id",span_id:"_gc.span_id",error_source:"error.source",error_type:"error.type",error_handling:"error.handling"},fields:{error_message:["string","error.message"],error_stack:["string","error.stack"],error_causes:["string","error.causes"]}},long_task:{type:ge.LONG_TASK,tags:{long_task_id:"long_task.id"},fields:{duration:"long_task.duration"}},action:{type:ge.ACTION,tags:{action_type:"action.type"},fields:{action_name:"action.target.name",duration:"action.loading_time",action_error_count:"action.error.count",action_resource_count:"action.resource.count",action_frustration_types:"action.frustration.type",action_long_task_count:"action.long_task.count",action_target:"_gc.action.target",action_position:"_gc.action.position"}},browser_log:{type:ge.LOGGER,tags:{error_source:"error.source",error_type:"error.type",error_resource_url:"http.url",error_resource_url_host:"http.url_host",error_resource_url_path:"http.url_path",error_resource_url_path_group:"http.url_path_group",error_resource_status:"http.status_code",error_resource_status_group:"http.status_group",error_resource_method:"http.method",action_id:"user_action.id",service:"service",status:"status"},fields:{message:["string","message"]}}},Un=4*q,Bn=15*j,Pn=/^([a-z]+)=([a-z0-9-]+)$/,Nn="&",Wn="_dataflux_s",Fn=10,Gn=100,Vn=[];function jn(e,n){if(void 0===n&&(n=0),Mn||(Mn=e),e===Mn)if(n>=Gn)Hn();else{var t,r=Xn();if(qn()){if(r.lock)return void Qn(e,n);if(t=U(),r.lock=t,Kn(r,e.options),(r=Xn()).lock!==t)return void Qn(e,n)}var o=e.process(r);if(qn()&&(r=Xn()).lock!==t)Qn(e,n);else{if(o&&function(e,n){if(Yn(e))return void function(e){pn(Wn,"",0,e)}(n);e.expire=String(Y()+Bn),Kn(e,n)}(o,e.options),qn()&&(!o||!Yn(o))){if((r=Xn()).lock!==t)return void Qn(e,n);delete r.lock,Kn(r,e.options),o=r}e.after&&e.after(o||r),Hn()}}else Vn.push(e)}function qn(){return!!window.chrome||/HeadlessChrome/.test(window.navigator.userAgent)}function Qn(e,n){i((function(){jn(e,n+1)}),Fn)}function Hn(){Mn=void 0;var e=Vn.shift();e&&jn(e)}function Kn(e,n){pn(Wn,function(e){return x(k(e),(function(e){return e[0]+"="+e[1]})).join(Nn)}(e),Bn,n)}function Xn(){var e=vn(Wn),n={};return function(e){return void 0!==e&&(-1!==e.indexOf(Nn)||Pn.test(e))}(e)&&_(e.split(Nn),(function(e){var t=Pn.exec(e);if(null!==t){var r=t[1],o=t[2];n[r]=o}})),n}function Yn(e){return R(e)}function zn(e,n,t){var r=new He,o=new He,i=a((function(){jn({options:e,process:function(e){return l(e)?void 0:{}},after:c})}),dn),s=function(){var e=Xn();if(l(e))return e;return{}}();function c(e){return l(e)||(e={}),f()&&(!function(e){return s.id!==e.id||s[n]!==e[n]}(e)?s=e:(s={},o.notify())),e}function f(){return void 0!==s[n]}function l(e){return(void 0===e.created||Y()-Number(e.created)<Un)&&(void 0===e.expire||Y()<Number(e.expire))}return{expandOrRenewSession:I((function(){var o;jn({options:e,process:function(e){var r=c(e);return o=function(e){var r=t(e[n]),o=r.trackingType,i=r.isTracked;e[n]=o,i&&!e.id&&(e.id=U(),e.created=String(Y()));return i}(r),r},after:function(e){o&&!f()&&function(e){s=e,r.notify()}(e),s=e}})}),dn).throttled,expandSession:function(){jn({options:e,process:function(e){return f()?c(e):void 0}})},getSession:function(){return s},renewObservable:r,expireObservable:o,expire:function(){deleteSessionCookie(e),c({})},stop:function(){u(i)}}}var Zn=j,Jn=Un,et=[],nt=function(e,n,t){var r=zn(e,n,t);et.push((function(){return r.stop()}));var o,i,s=new ce(Jn);function c(){return{id:r.getSession().id,trackingType:r.getSession()[n]}}return et.push((function(){return s.stop()})),r.renewObservable.subscribe((function(){s.add(c(),H())})),r.expireObservable.subscribe((function(){s.closeActive(H())})),r.expandOrRenewSession(),s.add(c(),[0,z()][0]),o=function(){return r.expandOrRenewSession()},i=Ze(window,[ve.CLICK,ve.TOUCH_START,ve.KEY_DOWN,ve.SCROLL],o,{capture:!0,passive:!0}),et.push(i.stop),function(e){var n=function(){"visible"===document.visibilityState&&e()},t=ze(document,ve.VISIBILITY_CHANGE,n);et.push(t.stop);var r=a(n,Zn);et.push((function(){u(r)}))}((function(){return r.expandSession()})),{findActiveSession:function(e){return s.find(e)},renewObservable:r.renewObservable,expireObservable:r.expireObservable,expire:r.expire}};var tt=80*Fe,rt=32,ot=3*Ge,it=256*V,st=V,at={UP:0,FAILURE_DETECTED:1,DOWN:2},ut={AFTER_SUCCESS:0,AFTER_RESUME:1};function ct(e,n,t,r,o){n.transportStatus===at.UP&&0===n.queuedPayloads.size()&&n.bandwidthMonitor.canHandle(e)?lt(e,n,t,{onSuccess:function(){return dt(ut.AFTER_SUCCESS,n,t,r,o)},onFailure:function(){n.queuedPayloads.enqueue(e),ft(n,t,r,o)}}):n.queuedPayloads.enqueue(e)}function ft(e,n,t,r){e.transportStatus===at.DOWN&&i((function(){lt(e.queuedPayloads.first(),e,n,{onSuccess:function(){e.queuedPayloads.dequeue(),e.currentBackoffTime=st,dt(ut.AFTER_RESUME,e,n,t,r)},onFailure:function(){e.currentBackoffTime=Math.min(it,2*e.currentBackoffTime),ft(e,n,t,r)}})}),e.currentBackoffTime)}function lt(e,n,t,r){var o=r.onSuccess,i=r.onFailure;n.bandwidthMonitor.add(e),t(e,(function(t){n.bandwidthMonitor.remove(e),!function(e){return"opaque"!==e.type&&(0===e.status&&!navigator.onLine||408===e.status||429===e.status||e.status>=500)}(t)?(n.transportStatus=at.UP,o()):(n.transportStatus=n.bandwidthMonitor.ongoingRequestCount>0?at.FAILURE_DETECTED:at.DOWN,n.lastFailureStatus=t.status,i())}))}function dt(e,n,t,r,o){e===ut.AFTER_SUCCESS&&n.queuedPayloads.isFull()&&!n.queueFullReported&&(o({message:"Reached max "+r+" events size queued for upload: "+ot/Ge+"MiB",source:Be.AGENT,startClocks:K()}),n.queueFullReported=!0);var i=n.queuedPayloads;for(n.queuedPayloads=pt();i.size()>0;)ct(i.dequeue(),n,t,r,o)}function pt(){var e=[];return{bytesCount:0,enqueue:function(n){this.isFull()||(e.push(n),this.bytesCount+=n.bytesCount)},first:function(){return e[0]},dequeue:function(){var n=e.shift();return n&&(this.bytesCount-=n.bytesCount),n},size:function(){return e.length},isFull:function(){return this.bytesCount>=ot}}}function vt(e){return e?e+(-1===e.indexOf("?")?"?":"&")+"precision=ms":e}function gt(e,n,t){var r={transportStatus:at.UP,lastFailureStatus:0,currentBackoffTime:st,bandwidthMonitor:{ongoingRequestCount:0,ongoingByteCount:0,canHandle:function(e){return 0===this.ongoingRequestCount||this.ongoingByteCount+e.bytesCount<=tt&&this.ongoingRequestCount<rt},add:function(e){this.ongoingRequestCount+=1,this.ongoingByteCount+=e.bytesCount},remove:function(e){this.ongoingRequestCount-=1,this.ongoingByteCount-=e.bytesCount}},queuedPayloads:pt(),queueFullReported:!1},o=function(t,r){return function(e,n,t,r){var o=t.data,i=t.bytesCount,s=vt(e),a=function(){try{return window.Request&&"keepalive"in new Request("http://a")}catch(e){return!1}}()&&i<n;a?fetch(s,{method:"POST",body:o,keepalive:!0,mode:"cors"}).then((function(e){"function"==typeof r&&r({status:e.status,type:e.type})}),(function(){ht(s,o,r)})):ht(s,o,r)}(e,n,t,r)};return{send:function(n){ct(n,r,o,e,t)},sendOnExit:function(t){!function(e,n,t){var r=t.data,o=t.bytesCount,i=vt(e),s=!!navigator.sendBeacon&&o<n;if(s)try{if(navigator.sendBeacon(i,r))return}catch(e){}ht(i,r)}(e,n,t)}}}function ht(e,n,t){var r=new XMLHttpRequest;r.open("POST",e,!0),ze(r,"loadend",(function(){"function"==typeof t&&t({status:r.status})}),{once:!0}),r.send(n)}function _t(e){return _t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_t(e)}function bt(e){if("object"===_t(e)&&e)e=we(e);else if(!A(e))return e;return String(e).replace(/[\s=,"]/g,(function(e){return"\\"+e}))}function mt(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function yt(e){return"object"===_t(e)&&e?mt(we(e)):A(e)?mt(e):e}var wt="custom_keys",Et=function(e){if(!e||!e.type)return{rowStr:"",rowData:void 0};var n={tags:{},fields:{}},t=!1,r="";return _($n,(function(o,i){if(o.type===e.type){r+=i+",",n.measurement=i;var s=[],a=m({},Dn,o.tags),u=["date","type",wt];_(a,(function(t,r){var o=Z(e,t);u.push(r),(o||D(o))&&(n.tags[r]=function(e){return A(e)?e:we(e)}(o),s.push(bt(r)+"="+bt(o)))}));var c=[],f=m({},In,o.fields);if(_(f,(function(t,r){if(w(t)&&2===t.length){var o=t[1],i=Z(e,o);u.push(r),null!=i&&(n.fields[r]=i,c.push(bt(r)+"="+yt(i)))}else if(A(t)){i=Z(e,t);u.push(r),null!=i&&(n.fields[r]=i,c.push(bt(r)+"="+yt(i)))}})),e.tags&&T(e.tags)&&!R(e.tags)){var l=[];_(e.tags,(function(e,t){u.indexOf(t)>-1||(u.push(t),null!=e&&(l.push(t),n.fields[t]=e,c.push(bt(t)+"="+yt(e))))})),l.length&&(n.fields[wt]=yt(l),c.push(bt(wt)+"="+yt(l)))}e.type===ge.LOGGER&&_(e,(function(e,t){-1===u.indexOf(t)&&null!=e&&(n.fields[t]=e,c.push(bt(t)+"="+yt(e)))})),s.length&&(r+=s.join(",")),c.length&&(r+=" ",r+=c.join(","),t=!0),r=r+" "+e.date,n.time=(d=e.date,D(d)?Q(1e6*d,0):d)}var d})),{rowStr:t?r:"",rowData:t?n:void 0}},Ot=function(e,n,t){this.pushOnlyBuffer=[],this.upsertBuffer={},this.request=e,this.flushController=n,this.messageBytesLimit=t;var r=this;this.flushController.flushObservable.subscribe((function(e){r.flush(e)}))};Ot.prototype.add=function(e){this.addOrUpdate(e)},Ot.prototype.upsert=function(e,n){this.addOrUpdate(e,n)},Ot.prototype.flush=function(e){var n,t=this.pushOnlyBuffer.concat(O(this.upsertBuffer));if(this.pushOnlyBuffer=[],this.upsertBuffer={},t.length>0){var r={data:t.join("\n"),bytesCount:e.bytesCount,flushReason:e.reason};n=e.reason,ee(O(An),n)?this.request.sendOnExit(r):this.request.send(r)}},Ot.prototype.addOrUpdate=function(e,t){var r=this.process(e),o=r.processedMessage,i=r.messageBytesCount;i>=this.messageBytesLimit?n.warn("Discarded a message whose size was bigger than the maximum allowed size "+this.messageBytesLimit+"KB."):(this.hasMessageFor(t)&&this.remove(t),this.push(o,i,t))},Ot.prototype.process=function(e){var n=Et(e).rowStr;return{processedMessage:n,messageBytesCount:je(n)}},Ot.prototype.push=function(e,n,t){var r=this.flushController.getMessagesCount()>0?1:0;this.flushController.notifyBeforeAddMessage(n+r),void 0!==t?this.upsertBuffer[t]=e:this.pushOnlyBuffer.push(e),this.flushController.notifyAfterAddMessage()},Ot.prototype.remove=function(e){var n=this.upsertBuffer[e];delete this.upsertBuffer[e];var t=je(n),r=this.flushController.getMessagesCount()>1?1:0;this.flushController.notifyAfterRemoveMessage(t+r)},Ot.prototype.hasMessageFor=function(e){return void 0!==e&&void 0!==this.upsertBuffer[e]};var St=Ot;function Ct(e){var n=e.messagesLimit,t=e.bytesLimit,r=e.durationLimit,o=e.pageExitObservable,a=e.sessionExpireObservable,u=new He;o.subscribe((function(e){return d(e.reason)})),a.subscribe((function(){return d("session_expire")}));var c,f=0,l=0;function d(e){if(0!==l){var n=l,t=f;l=0,f=0,p(),u.notify({reason:e,messagesCount:n,bytesCount:t})}}function p(){s(c),c=void 0}return{flushObservable:u,getMessagesCount:function(){return l},notifyBeforeAddMessage:function(e){f+e>=t&&d("bytes_limit"),l+=1,f+=e,void 0===c&&(c=i((function(){d("duration_limit")}),r))},notifyAfterAddMessage:function(){l>=n?d("messages_limit"):f>=t&&d("bytes_limit")},notifyAfterRemoveMessage:function(e){f-=e,0===(l-=1)&&p()}}}var xt=3*Fe,Lt={FeatureFlag:"feature flag evaluation",User:"user",GlobalContext:"global context",LoggerContext:"logger context"};var Tt=200;function Rt(e,t){void 0===t&&(t=je);var r,o={},i=!1,s=I((function(o){r=t(we(o)),i||(i=function(e,t){return e>xt&&(n.warn("The "+t+"data is over "+xt/Fe+" KiB. On low connectivity, the SDK has the potential to exhaust the user's upload bandwidth."),!0)}(r,e))}),Tt).throttled;return{getBytesCount:function(){return r},get:function(){return o},add:function(e,n){o[e]=n,s(o)},remove:function(e){delete o[e],s(o)},set:function(e){s(o=e)},getContext:function(){return W(o)},setContext:function(e){o=W(e),s(o)},setContextProperty:function(e,n){o[e]=W(n),s(o)},removeContextProperty:function(e){delete o[e],s(o)},clearContext:function(){o={},r=0}}}var kt={sdkVersion:"3.0.23",sdkName:"df_web_logs_sdk"},At=32*Fe;function Mt(e,t,r){return void 0===e?[]:"all"===e||w(e)&&L(e,(function(e){return ee(t,e)}))?"all"===e?t:$(e):void n.error(r+' should be "all" or an array with allowed values "'+t.join('", "')+'"')}var Dt={debug:"debug",error:"error",info:"info",warn:"warn",critical:"critical"},It={console:"console",http:"http",silent:"silent"},$t=S(Dt);function Ut(e,n,t,r,o){this.contextManager=Rt(Lt.LoggerContext),void 0===t&&(t=It.http),void 0===r&&(r=Dt.debug),void 0===o&&(o={}),this.handleLogStrategy=e,this.handlerType=t,this.level=r,this.contextManager.set(b({},o,n?{logger:{name:n}}:void 0))}Ut.prototype={log:function(e,n,t){void 0===t&&(t=Dt.info),this.handleLogStrategy({message:e,context:W(n),status:t},this)},debug:function(e,n){this.log(e,n,Dt.debug)},info:function(e,n){this.log(e,n,Dt.info)},warn:function(e,n){this.log(e,n,Dt.warn)},critical:function(e,n){this.log(e,n,Dt.critical)},error:function(e,n){var t={error:{origin:Be.LOGGER}};this.log(e,y(t,n),Dt.error)},setContext:function(e){this.contextManager.set(e)},getContext:function(){return this.contextManager.get()},addContext:function(e,n){this.contextManager.add(e,n)},removeContext:function(e){this.contextManager.remove(e)},setHandler:function(e){this.handlerType=e},getHandler:function(){return this.handlerType},setLevel:function(e){this.level=e},getLevel:function(){return this.level}};var Bt="logs",Pt={NOT_TRACKED:"0",TRACKED:"1"};function Nt(e){var n=nt(e.cookieOptions,Bt,(function(n){return function(e,n){var t=function(e){return e===Pt.NOT_TRACKED||e===Pt.TRACKED}(n)?n:Wt(e);return{trackingType:t,isTracked:t===Pt.TRACKED}}(e,n)}));return{findTrackedSession:function(e){var t=n.findActiveSession(e);return t&&t.trackingType===Pt.TRACKED?{id:t.id}:void 0},expireObservable:n.expireObservable}}function Wt(e){return 0!==(n=e.sessionSampleRate)&&100*Math.random()<=n?Pt.TRACKED:Pt.NOT_TRACKED;var n}var Ft={[Dt.debug]:0,[Dt.info]:1,[Dt.warn]:2,[Dt.error]:3};function Gt(e,n,t){var r=t.getHandler(),o=w(r)?r:[r];return Ft[e]>=Ft[t.getLevel()]&&ee(o,n)}function Vt(e,n,t,r,o,s){var a=$t.concat(["custom"]),u={};_(a,(function(e){var t,r,o,a,c;u[e]=(t=e,r=n.eventRateLimiterThreshold,o=s,a=0,c=!1,{isLimitReached:function(){if(0===a&&i((function(){a=0}),j),(a+=1)<=r||c)return c=!1,!1;if(a===r+1){c=!0;try{o({message:"Reached max number of "+t+"s by minute: "+r,source:Be.AGENT,startClocks:K()})}finally{c=!1}}return!0}})})),t.subscribe(on.RAW_LOG_COLLECTED,(function(i){var s=i.rawLogsEvent,a=i.messageContext||void 0,c=i.savedCommonContext||void 0,f=i.logger||o,l=s.date-z(),d=e.findTrackedSession(l);if(d){var p=c||r(),v=y({service:n.service||"browser",env:n.env||"",version:n.version||"",_dd:{sdkName:n.sdkName,sdkVersion:n.sdkVersion},session:{id:d.id},view:p.view,user:R(p.user)?void 0:p.user,device:pe,type:ge.LOGGER},p.context,function(e){return n(window.DATAFLUX_RUM);function n(n){if(n&&n.getInternalContext)return n.getInternalContext(e)}}(l),s,f.getContext(),a);!Gt(s.status,It.http,f)||n.beforeSend&&!1===n.beforeSend(v)||v.error&&v.error.origin!==Be.AGENT&&oe(u[v.status],u.custom).isLimitReached()||t.notify(on.LOG_COLLECTED,te(v))}}))}var jt={[e.log]:Dt.info,[e.debug]:Dt.debug,[e.info]:Dt.info,[e.warn]:Dt.warn,[e.error]:Dt.error};var qt={[Je.cspViolation]:Dt.error,[Je.intervention]:Dt.error,[Je.deprecation]:Dt.warn};function Qt(e,n){if(!e.forwardErrorsToLogs)return{stop:F};var t=xn().subscribe((function(e){"complete"===e.state&&o(he.XHR,e)})),r=On().subscribe((function(e){"resolve"===e.state&&o(he.FETCH,e)}));function o(t,r){function o(e){var o,i,s,a=B(r.url).getParse();n.notify(on.RAW_LOG_COLLECTED,{rawLogsEvent:{message:Kt(t)+" error "+r.method+" "+r.url,date:r.startClocks.timeStamp,error:{origin:Be.NETWORK,stack:e||"Failed to load"},http:{method:r.method,status_code:r.status,url:r.url,statusGroup:(s=r.status,s?String(s).substr(0,1)+String(s).substr(1).replace(/\d*/g,"x"):s),urlHost:a.Host,urlPath:a.Path,urlPathGroup:(o=a.Path,i="",o&&(i=o.replace(/\/([^\/]*)\d([^\/]*)/g,"/?").replace(/\/$/g,"")),i||"/")},status:Dt.error,origin:Be.NETWORK}})}!e.isIntakeUrl(r.url)&&(function(e){return 0===e.status&&"opaque"!==e.responseType}(r)||function(e){return e.status>=500}(r)||e.isServerError(r))&&("xhr"in r?function(e,n,t){"string"==typeof e.response?t(Ht(e.response,n)):t(e.response)}(r.xhr,e,o):r.response?function(e,n,t){var r=function(e){try{return e.clone()}catch(e){return}}(e);r&&r.body?window.TextDecoder?function(e,n,t){!function(e,n,t){var r=e.getReader(),o=[],i=0;function s(){var e,s;if(r.cancel().catch(F),t.collectStreamBody){var a;if(1===o.length)a=o[0];else{a=new Uint8Array(i);var u=0;_(o,(function(e){a.set(e,u),u+=e.length}))}e=a.slice(0,t.bytesLimit),s=a.length>t.bytesLimit}n(void 0,e,s)}!function e(){r.read().then((function(n){n.done?s():(t.collectStreamBody&&o.push(n.value),(i+=n.value.length)>t.bytesLimit?s():e())}),(function(e){n(e)}))}()}(e,(function(e,n,r){if(e)t(e);else{var o=(new TextDecoder).decode(n);r&&(o+="..."),t(void 0,o)}}),{bytesLimit:n,collectStreamBody:!0})}(r.body,n.requestErrorResponseLengthLimit,(function(e,n){t(e?"Unable to retrieve response: "+e:n)})):r.text().then((function(e){return t(Ht(e,n))}),(function(e){return t("Unable to retrieve response: "+e)})):t()}(r.response,e,o):r.error&&function(e,n,t){t(Ht(Pe(Ce(e)),n))}(r.error,e,o))}return{stop:function(){t.unsubscribe(),r.unsubscribe()}}}function Ht(e,n){return e.length>n.requestErrorResponseLengthLimit?e.substring(0,n.requestErrorResponseLengthLimit)+"...":e}function Kt(e){return he.XHR===e?"XHR":"Fetch"}function Xt(e,n,t,r,o){var i=function(e,n,t,r,o){var i=function(n){return new St(gt(n,e.batchBytesLimit,t),Ct({messagesLimit:e.batchMessagesLimit,bytesLimit:e.batchBytesLimit,durationLimit:e.flushTimeout,pageExitObservable:r,sessionExpireObservable:o}),e.messageBytesLimit)}(n);return{add:function(e){i.add(e)}}}(e,e.logsEndpoint,t,r,o);n.subscribe(on.LOG_COLLECTED,(function(e){i.add(e)}))}const Yt=function(t){var r,o=!1,i=Rt(Lt.GlobalContext),s=Rt(Lt.User),a={},u=function(){},c=new se,f=function(e,n,t,r){void 0===t&&(t=W(p())),void 0===r&&(r=X()),c.add((function(){return f(e,n,t,r)}))},l=function(){},d=new Ut((function(){return f.apply(this,arguments)}));function p(){return{view:{referrer:document.referrer,url:window.location.href},context:i.getContext(),user:s.getContext()}}return r={logger:d,init:function(r){if(function(e){return o?(e.silentMultipleInit||n.error("DD_LOGS is already initialized."),!1):!(!e.datakitUrl&&!e.datakitOrigin)||(n.error("datakitOrigin is not configured, no RUM data will be collected."),!1)}(r)){var i=function(n){var t=wn(n),r=Mt(n.forwardConsoleLogs,O(e),"Forward Console Logs"),o=Mt(n.forwardReports,O(Je),"Forward Reports");if(t&&r&&o)return n.forwardErrorsToLogs&&!ee(r,e.error)&&r.push(e.error),b({forwardErrorsToLogs:!1!==n.forwardErrorsToLogs,forwardConsoleLogs:r,forwardReports:o,requestErrorResponseLengthLimit:At},t,kt)}(r);if(i){var s=t(i,p,d);f=s.handleLog,u=s.getInternalContext,l=function(){return W(r)},c.drain(),o=!0}}},getGlobalContext:i.getContext,setGlobalContext:i.setContext,setGlobalContextProperty:i.setContextProperty,removeGlobalContextProperty:i.removeContextProperty,clearGlobalContext:i.clearContext,createLogger:function(e,n){return void 0===n&&(n={}),a[e]=new Ut((function(){return f(this.arguments)}),e,n.handler,n.level,n.context),a[e]},getLogger:function(e){return a[e]},getInitConfiguration:function(){return l()},getInternalContext:function(e){return u(e)},setUser:function(e){(function(e){var t="object"===P(e);return t||n.error("Unsupported user:",e),t})(e)&&s.setContext(function(e){var n=b({},e);return _(["id","name","email"],(function(e){e in n&&(n[e]=String(n[e]))})),n}(e))},getUser:s.getContext,removeUserProperty:s.removeContextProperty,clearUser:s.clearContext},m({},r,{onReady:function(e){e()}})}((function(t,r,o){var i,s=new sn,a=function(e){s.notify(on.RAW_LOG_COLLECTED,{rawLogsEvent:{message:e.message,date:e.startClocks.timeStamp,error:{origin:Be.AGENT},origin:Be.AGENT,status:Dt.error}})},u=i=new He((function(){var e=Ze(document,[ve.VISIBILITY_CHANGE,ve.FREEZE,ve.PAGE_HIDE],(function(e){e.type===ve.VISIBILITY_CHANGE&&"hidden"===document.visibilityState?i.notify({reason:An.HIDDEN}):e.type===ve.FREEZE&&i.notify({reason:An.FROZEN})}),{capture:!0}),n=ze(window,ve.BEFORE_UNLOAD,(function(){i.notify({reason:An.UNLOADING})}));return function(){e.stop(),n.stop()}})),c=function(e){if(void 0===document.cookie||null===document.cookie)return!1;try{var n="dd_cookie_test_".concat(U()),t="test";return pn(n,t,V,e),vn(n)===t}catch(e){return!1}}(t.cookieOptions)?Nt(t):function(e){var n=Wt(e)===Pt.TRACKED?{}:void 0;return{findTrackedSession:function(){return n},expireObservable:new He}}(t);Qt(t,s),function(e,n){if(!e.forwardErrorsToLogs)return{stop:F};var t=new He,r=qe(t),o=t.subscribe((function(e){n.notify(on.RAW_LOG_COLLECTED,{rawLogsEvent:{message:e.message,date:e.startClocks.timeStamp,error:{kind:e.type,origin:Be.SOURCE,stack:e.stack},origin:Be.SOURCE,status:Dt.error}})}))}(t,s),function(n,t){var r=Ye(n.forwardConsoleLogs).subscribe((function(n){t.notify(on.RAW_LOG_COLLECTED,{rawLogsEvent:{date:X(),message:n.message,origin:Be.CONSOLE,error:n.api===e.error?{origin:Be.CONSOLE,stack:n.stack}:void 0,status:jt[n.api]}})}))}(t,s),function(e,n){var t=en(e.forwardReports).subscribe((function(e){var t,r,o,i=e.message,s=qt[e.type];s===Dt.error?t={kind:e.subtype,origin:Be.REPORT,stack:e.stack}:e.stack&&(i+=" Found in "+(r=e.stack,(o=/@ (.+)/.exec(r))&&o[1])),n.notify(on.RAW_LOG_COLLECTED,{rawLogsEvent:{date:X(),message:i,origin:Be.REPORT,error:t,status:s}})}))}(t,s);var f=function(e){return{handleLog:function(t,r,o,i){var s=t.context;Gt(t.status,It.console,r)&&n(t.status,t.message,y(r.getContext(),s)),e.notify(on.RAW_LOG_COLLECTED,{rawLogsEvent:{date:i||X(),message:t.message,status:t.status,origin:Be.LOGGER},messageContext:s,savedCommonContext:o,logger:r})}}}(s);Vt(c,t,s,r,o,a),Xt(t,s,a,u,c.expireObservable);var l,d=(l=c,{get:function(e){var n=l.findTrackedSession(e);if(n)return{session:{id:n.id}}}});return{handleLog:f.handleLog,getInternalContext:d.get}}));var zt,Zt,Jt,er;zt=o(),Jt=Yt,er=zt[Zt="DATAFLUX_LOGS"],zt[Zt]=Jt,er&&er.q&&_(er.q,(function(e){e()}))}();
|
|
1
|
+
!function(){"use strict";var e,t={log:"log",debug:"debug",info:"info",warn:"warn",error:"error"},n=function e(n){var r=[].slice.call(arguments,1);Object.prototype.hasOwnProperty.call(t,n)||(n=t.log),e[n].apply(e,r)};function r(e,t){var n,r=window;return r.Zone&&"function"==typeof r.Zone.__symbol__&&(n=e[r.Zone.__symbol__(t)]),n||(n=e[t]),n}n.debug=console.debug.bind(console),n.log=console.log.bind(console),n.info=console.info.bind(console),n.warn=console.warn.bind(console),n.error=console.error.bind(console);var o=!1;function i(e){o=e}function s(e){return function(){return a(e,this,arguments)}}function a(n,r,o){try{return n.apply(r,o)}catch(n){if(u(t.error,n),e)try{e(n)}catch(e){u(t.error,e)}}}function u(e){var t=[].slice.call(arguments,1);o&&n.apply(null,[e,"[MONITOR]"].concat(t))}function c(e,t){return function(){var r=[].slice.call(arguments);try{return e.apply(this,r)}catch(e){n.error(t,e)}}}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function l(){if("object"===("undefined"==typeof globalThis?"undefined":f(globalThis)))return globalThis;Object.defineProperty(Object.prototype,"_gc_temp_",{get:function(){return this},configurable:!0});var e=_gc_temp_;return delete Object.prototype._gc_temp_,"object"!==f(e)&&(e="object"===("undefined"==typeof self?"undefined":f(self))?self:"object"===("undefined"==typeof window?"undefined":f(window))?window:{}),e}function d(e,t){return r(l(),"setTimeout")(s(e),t)}function p(e){r(l(),"clearTimeout")(e)}function v(e,t){return r(window,"setInterval")(s(e),t)}function g(e){r(window,"clearInterval")(e)}function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}var _=Array.prototype,y=(Function.prototype,Object.prototype),b=_.slice,m=y.toString,E=y.hasOwnProperty,w=_.forEach,O=Array.isArray,S=function(e,t,n){if(null===e)return!1;if(w&&e.forEach===w)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&false===t.call(n,e[r],r,e))return!1}else for(var i in e)if(E.call(e,i)&&false===t.call(n,e[i],i,e))return!1};function x(e){return S(b.call(arguments,1),(function(t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})),e}var C=function(e){return S(b.call(arguments,1),(function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])})),e},L=function(e){return S(b.call(arguments,1),(function(t){for(var n in t)void 0!==t[n]&&($(t[n])&&$(e[n])?C(e[n],t[n]):e[n]=t[n])})),e},T=O||function(e){return"[object Array]"===m.call(e)},R=function(e){if(!e)return!1;try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},k=function(e){var t=[];return null===e||S(e,(function(e){t[t.length]=e})),t},A=function(e){var t=[];return null===e||S(e,(function(e,n){t[t.length]=n})),t},M=function(e,t,n){if(e.filter)return e.filter(t);for(var r=[],o=0;o<e.length;o++)if(E.call(e,o)){var i=e[o];t.call(n,i,o,e)&&r.push(i)}return r},D=function(e,t,n){if(e.map)return e.map(t);for(var r=[],o=0;o<e.length;o++)if(E.call(e,o)){var i=e[o];r.push(t.call(n,i,o,e))}return r},I=function(e,t,n){if(e.every)return e.every(t);for(var r=!0,o=0;o<e.length;o++)if(E.call(e,o)){var i=e[o];if(!t.call(n,i,o,e)){r=!1;break}}return r},$=function(e){return null!==e&&"[object Object]"===m.call(e)},U=function(e){if($(e)){for(var t in e)if(E.call(e,t))return!1;return!0}return!1},B=function(e){var t=[];return S(e,(function(e,n){t.push([n,e])})),t},N=function(e){return"[object String]"===m.call(e)},P=function(e){return"[object Boolean]"===m.call(e)},G=function(e){return"[object Number]"===m.call(e)&&/[\d\.]+/.test(String(e))},W=(Date.now,function(e,t,n){var r,o,i=!n||void 0===n.leading||n.leading,s=!n||void 0===n.trailing||n.trailing,a=!1,u=this;return{throttled:function(){a?r=arguments:(i?e.apply(u,arguments):r=arguments,a=!0,o=d((function(){s&&r&&e.apply(u,r),a=!1,r=void 0}),t))},cancel:function(){p(o),a=!1,r=void 0}}}),F=function(e){for(var t,n=[],r={},o=0;o<e.length;o++)(t=e[o])in r||(r[t]=!0,n.push(t));return n};function V(e){return e?(parseInt(e,10)^16*Math.random()>>parseInt(e,10)/4).toString(16):"".concat(1e7,"-",1e3,"-",4e3,"-",8e3,"-",1e11).replace(/[018]/g,V)}var j=function(e){var t=function(e){this._fields={Username:4,Password:5,Port:7,Protocol:2,Host:6,Path:8,URL:0,QueryString:9,Fragment:10},this._values={},this._regex=null,this._regex=/^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/,void 0!==e&&this._parse(e)};return t.prototype.setUrl=function(e){this._parse(e)},t.prototype._initValues=function(){for(var e in this._fields)this._values[e]=""},t.prototype.addQueryString=function(e){if("object"!==h(e))return!1;var t=this._values.QueryString||"";for(var n in e)t=new RegExp(n+"[^&]+").test(t)?t.replace(new RegExp(n+"[^&]+"),n+"="+e[n]):"&"===t.slice(-1)?t+n+"="+e[n]:""===t?n+"="+e[n]:t+"&"+n+"="+e[n];this._values.QueryString=t},t.prototype.getParse=function(){return this._values},t.prototype.getUrl=function(){var e="";return e+=this._values.Origin,e+=this._values.Path,e+=this._values.QueryString?"?"+this._values.QueryString:""},t.prototype._parse=function(e){this._initValues();var t=this._regex.exec(e);if(!t)throw"DPURLParser::_parse -> Invalid URL";for(var n in this._fields)void 0!==t[this._fields[n]]&&(this._values[n]=t[this._fields[n]]);this._values.Path=this._values.Path||"/",this._values.Hostname=this._values.Host.replace(/:\d+$/,""),this._values.Origin=this._values.Protocol+"://"+this._values.Hostname+(this._values.Port?":"+this._values.Port:"")},new t(e)};function q(e){return null===e?"null":Array.isArray(e)?"array":h(e)}function Q(e,t,n){if(void 0===n&&(n=function(){if("undefined"!=typeof WeakSet){var e=new WeakSet;return{hasAlreadyBeenSeen:function(t){var n=e.has(t);return n||e.add(t),n}}}var t=[];return{hasAlreadyBeenSeen:function(e){var n=t.indexOf(e)>=0;return n||t.push(e),n}}}()),void 0===t)return e;if("object"!==h(t)||null===t)return t;if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){var r=t.flags||[t.global?"g":"",t.ignoreCase?"i":"",t.multiline?"m":"",t.sticky?"y":"",t.unicode?"u":""].join("");return new RegExp(t.source,r)}if(!n.hasAlreadyBeenSeen(t)){if(Array.isArray(t)){for(var o=Array.isArray(e)?e:[],i=0;i<t.length;++i)o[i]=Q(o[i],t[i],n);return o}o="object"===q(e)?e:{};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(o[s]=Q(o[s],t[s],n));return o}}function H(e){return Q(void 0,e)}function K(){}var X,z=1e3,Y=60*z,Z=60*Y;function J(e,t){return+e.toFixed(t)}function ee(){return performance.now()}function te(){return{relative:ee(),timeStamp:ne()}}function ne(){return re()}function re(){return(new Date).getTime()}function oe(){return void 0===X&&(X=performance.timing.navigationStart),X}function ie(e,t){for(var n=t.split(".");n.length;){var r=n.shift();if(!(e&&r in e&&E.call(e,r)))return;e=e[r]}return e}function se(e,t){var n=e.charCodeAt(t-1);return n>=55296&&n<=56319?e.slice(0,t+1):e.slice(0,t)}function ae(e,t){return-1!==e.indexOf(t)}function ue(e){return G(e)&&e>=0&&e<=100}function ce(e){var t={};return S(e,(function(e,n){var r;t[(r=n,r.replace(/[A-Z]/g,(function(e,t){return(0!==t?"_":"")+e.toLowerCase()})).replace(/-/g,"_"))]=fe(e)})),t}function fe(e){return T(e)?D(e,(function(e){return fe(e)})):"object"===h(e)&&null!==e?ce(e):e}function le(e,t){return null!=e?e:t}var de=function(){this.buffer=[]};de.prototype={add:function(e){this.buffer.push(e)>500&&this.buffer.splice(0,1)},drain:function(){S(this.buffer,(function(e){e()})),this.buffer.length=0}};var pe=de,ve=1/0,ge=Y;function he(e,t){this.expireDelay=e,this.entries=[],this.maxEntries=t;var n=this;this.clearOldContextsInterval=v((function(){n.clearOldContexts()}),ge)}he.prototype.add=function(e,t){var n=this,r={context:e,startTime:t,endTime:ve,remove:function(){var e=n.entries.indexOf(r);e>=0&&n.entries.splice(e,1)},close:function(e){r.endTime=e}};return this.maxEntries&&this.entries.length>=this.maxEntries&&this.entries.pop(),this.entries.unshift(r),r},he.prototype.find=function(e){void 0===e&&(e=ve);for(var t=0;t<this.entries.length;t++){var n=this.entries[t];if(n.startTime<=e){if(e<=n.endTime)return n.context;break}}},he.prototype.closeActive=function(e){var t=this.entries[0];t&&t.endTime===ve&&t.close(e)},he.prototype.findAll=function(e,t){void 0===t&&(t=0);var n=e+t;void 0===e&&(e=ve);var r=M(this.entries,(function(t){return t.startTime<=n&&e<=t.endTime}));return D(r,(function(e){return e.context}))},he.prototype.reset=function(){this.entries=[]},he.prototype.stop=function(){g(this.clearOldContextsInterval)},he.prototype.clearOldContexts=function(){for(var e=ee()-this.expireDelay;this.entries.length>0&&this.entries[this.entries.length-1].endTime<e;)this.entries.pop()};var _e={navigator:"undefined"!=typeof window&&void 0!==window.navigator?window.navigator:{},infoMap:{engine:["WebKit","Trident","Gecko","Presto"],browser:["Safari","Chrome","Edge","IE","IE 11","IE 10","IE 9","IE 8","IE 7","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360SE","360EE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","2345Explorer","TheWorld","XiaoMi","Quark","Qiyu","Wechat",,"WechatWork","Taobao","Alipay","Weibo","Douban","Suning","iQiYi"],os:["Windows","Linux","Mac OS","Android","Ubuntu","FreeBSD","Debian","iOS","Windows Phone","BlackBerry","MeeGo","Symbian","Chrome OS","WebOS"],device:["Mobile","Tablet","iPad"]}},ye={getMatchMap:function(e){return{Trident:e.indexOf("Trident")>-1||e.indexOf("NET CLR")>-1,Presto:e.indexOf("Presto")>-1,WebKit:e.indexOf("AppleWebKit")>-1,Gecko:e.indexOf("Gecko/")>-1,Safari:e.indexOf("Safari")>-1,Chrome:e.indexOf("Chrome")>-1||e.indexOf("CriOS")>-1,IE:e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1,Edge:e.indexOf("Edge")>-1||e.indexOf("Edg")>-1,Firefox:e.indexOf("Firefox")>-1||e.indexOf("FxiOS")>-1,"Firefox Focus":e.indexOf("Focus")>-1,Chromium:e.indexOf("Chromium")>-1,Opera:e.indexOf("Opera")>-1||e.indexOf("OPR")>-1,Vivaldi:e.indexOf("Vivaldi")>-1,Yandex:e.indexOf("YaBrowser")>-1,Arora:e.indexOf("Arora")>-1,Lunascape:e.indexOf("Lunascape")>-1,QupZilla:e.indexOf("QupZilla")>-1,"Coc Coc":e.indexOf("coc_coc_browser")>-1,Kindle:e.indexOf("Kindle")>-1||e.indexOf("Silk/")>-1,Iceweasel:e.indexOf("Iceweasel")>-1,Konqueror:e.indexOf("Konqueror")>-1,Iceape:e.indexOf("Iceape")>-1,SeaMonkey:e.indexOf("SeaMonkey")>-1,Epiphany:e.indexOf("Epiphany")>-1,360:e.indexOf("QihooBrowser")>-1||e.indexOf("QHBrowser")>-1,"360EE":e.indexOf("360EE")>-1,"360SE":e.indexOf("360SE")>-1,UC:e.indexOf("UC")>-1||e.indexOf(" UBrowser")>-1,QQBrowser:e.indexOf("QQBrowser")>-1,QQ:e.indexOf("QQ/")>-1,Baidu:e.indexOf("Baidu")>-1||e.indexOf("BIDUBrowser")>-1,Maxthon:e.indexOf("Maxthon")>-1,Sogou:e.indexOf("MetaSr")>-1||e.indexOf("Sogou")>-1,LBBROWSER:e.indexOf("LBBROWSER")>-1,"2345Explorer":e.indexOf("2345Explorer")>-1,TheWorld:e.indexOf("TheWorld")>-1,XiaoMi:e.indexOf("MiuiBrowser")>-1,Quark:e.indexOf("Quark")>-1,Qiyu:e.indexOf("Qiyu")>-1,Wechat:e.indexOf("MicroMessenger")>-1,Taobao:e.indexOf("AliApp(TB")>-1,Alipay:e.indexOf("AliApp(AP")>-1,Weibo:e.indexOf("Weibo")>-1,Douban:e.indexOf("com.douban.frodo")>-1,Suning:e.indexOf("SNEBUY-APP")>-1,iQiYi:e.indexOf("IqiyiApp")>-1,Windows:e.indexOf("Windows")>-1,Linux:e.indexOf("Linux")>-1||e.indexOf("X11")>-1,"Mac OS":e.indexOf("Macintosh")>-1,Android:e.indexOf("Android")>-1||e.indexOf("Adr")>-1,Ubuntu:e.indexOf("Ubuntu")>-1,FreeBSD:e.indexOf("FreeBSD")>-1,Debian:e.indexOf("Debian")>-1,"Windows Phone":e.indexOf("IEMobile")>-1||e.indexOf("Windows Phone")>-1,BlackBerry:e.indexOf("BlackBerry")>-1||e.indexOf("RIM")>-1,MeeGo:e.indexOf("MeeGo")>-1,Symbian:e.indexOf("Symbian")>-1,iOS:e.indexOf("like Mac OS X")>-1,"Chrome OS":e.indexOf("CrOS")>-1,WebOS:e.indexOf("hpwOS")>-1,Mobile:e.indexOf("Mobi")>-1||e.indexOf("iPh")>-1||e.indexOf("480")>-1,Tablet:e.indexOf("Tablet")>-1||e.indexOf("Nexus 7")>-1,iPad:e.indexOf("iPad")>-1}},matchInfoMap:function(e){var t=_e.navigator.userAgent||"",n=ye.getMatchMap(t);for(var r in _e.infoMap)for(var o=0;o<_e.infoMap[r].length;o++){var i=_e.infoMap[r][o];n[i]&&(e[r]=i)}},getOS:function(){return ye.matchInfoMap(this),this.os||"Unknown"},getOSVersion:function(){var e=this,t=_e.navigator.userAgent||"";e.osVersion="",e.osMajor="";var n={Windows:function(){var e=t.replace(/^.*Windows NT ([\d.]+);.*$/,"$1");return{6.4:"10",6.3:"8.1",6.2:"8",6.1:"7","6.0":"Vista",5.2:"XP",5.1:"XP","5.0":"2000"}[e]||e},Android:function(){return t.replace(/^.*Android ([\d.]+);.*$/,"$1")},iOS:function(){return t.replace(/^.*OS ([\d_]+) like.*$/,"$1").replace(/_/g,".")},Debian:function(){return t.replace(/^.*Debian\/([\d.]+).*$/,"$1")},"Windows Phone":function(){return t.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/,"$2")},"Mac OS":function(){return t.replace(/^.*Mac OS X ([\d_]+).*$/,"$1").replace(/_/g,".")},WebOS:function(){return t.replace(/^.*hpwOS\/([\d.]+);.*$/,"$1")}};return n[e.os]&&(e.osVersion=n[e.os](),e.osVersion===t&&(e.osVersion="")),e.osVersion&&(e.osMajor=e.osVersion.split(".").length&&e.osVersion.split(".")[0]),{version:e.osVersion,osMajor:e.osMajor}},getOrientationStatu:function(){return window.matchMedia("(orientation: portrait)").matches?"竖屏":"横屏"},getDeviceType:function(){var e=this;return e.device="PC",ye.matchInfoMap(e),e.device},getNetwork:function(){var e=window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection,t="unknown",n=e?e.type||e.effectiveType:null;if(n&&"string"==typeof n)switch(n){case"bluetooth":case"cellular":case"slow-2g":case"2g":case"3g":t="cellular";break;case"none":t="none";break;case"ethernet":case"wifi":case"wimax":case"4g":t="wifi";break;case"other":case"unknown":t="unknown"}return t},getLanguage:function(){var e;return this.language=((e=(_e.navigator.browserLanguage||_e.navigator.language||"").split("-"))[1]&&(e[1]=e[1].toUpperCase()),e.join("_")),this.language},getBrowserInfo:function(){var e=this;ye.matchInfoMap(e);var t=_e.navigator.userAgent||"",n=function(e,t){var n=_e.navigator.mimeTypes;for(var r in n)if(n[r][e]==t)return!0;return!1},r=ye.getMatchMap(t),o=!1;if("undefined"!=typeof window&&window.chrome){var i=t.replace(/^.*Chrome\/([\d]+).*$/,"$1");i>36&&window.showModalDialog?o=!0:i>45&&(o=n("type","application/vnd.chromium.remoting-viewer"))}if(r.Baidu&&r.Opera&&(r.Baidu=!1),r.Mobile&&(r.Mobile=!(t.indexOf("iPad")>-1)),o&&(n("type","application/gameplugin")||_e.navigator&&void 0===_e.navigator.connection.saveData?r["360SE"]=!0:r["360EE"]=!0),r.IE||r.Edge)switch(window.screenTop-window.screenY){case 71:case 74:case 99:case 75:case 74:case 105:default:break;case 102:r["360EE"]=!0;break;case 104:r["360SE"]=!0}var s={Safari:function(){return t.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return t.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return t.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return t.replace(/^.*Edge?\/([\d.]+).*$/,"$1")},Firefox:function(){return t.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return t.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return t.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return t.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1")},Vivaldi:function(){return t.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return t.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return t.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return t.replace(/^.*Lunascape[\/\s]([\d.]+).*$/,"$1")},QupZilla:function(){return t.replace(/^.*QupZilla[\/\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return t.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return t.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return t.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return t.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return t.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return t.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return t.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},360:function(){return t.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[t.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[t.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},Maxthon:function(){return t.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return t.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return t.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return t.replace(/^.*BIDUBrowser[\s\/]([\d.]+).*$/,"$1")},UC:function(){return t.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return t.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},LBBROWSER:function(){var e="";t.indexOf("LieBaoFast")>-1&&(e=t.replace(/^.*LieBaoFast\/([\d.]+).*$/,"$1"));var n=t.replace(/^.*Chrome\/([\d]+).*$/,"$1");return e||{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[n]||""},"2345Explorer":function(){return t.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1")},TheWorld:function(){return t.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return t.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return t.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return t.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return t.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},WechatWork:function(){return t.replace(/^.*wxwork\/([\d.]+).*$/,"$1")},Taobao:function(){return t.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return t.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return t.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return t.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return t.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return t.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")}};return e.browserVersion="",e.browserMajor="",s[e.browser]&&(e.browserVersion=s[e.browser](),e.browserVersion==t&&(e.browserVersion="")),"Chrome"==e.browser&&t.match(/\S+Browser/)&&(e.browser=t.match(/\S+Browser/)[0],e.version=t.replace(/^.*Browser\/([\d.]+).*$/,"$1")),"Edge"==e.browser&&(e.version>"75"?e.engine="Blink":e.engine="EdgeHTML"),("Chrome"==e.browser&&parseInt(e.browserVersion)>27||r.Chrome&&"WebKit"==e.engine&&parseInt(e.browserVersion)>27||"Opera"==e.browser&&parseInt(e.version)>12||"Yandex"==e.browser)&&(e.engine="Blink"),e.browserVersion&&(e.browserMajor=e.browserVersion.split(".").length&&this.browserVersion.split(".")[0]),{browser:e.browser,browserVersion:e.browserVersion,engine:e.engine,browserMajor:e.browserMajor}},getGeoPostion:function(e){navigator&&navigator.geolocation&&navigator.geolocation.getCurrentPosition((function(t){e(t)}),(function(e){n.warn(e)}))}},be={};"undefined"!=typeof window&&(be={os:ye.getOS(),osVersion:ye.getOSVersion().version,osVersionMajor:ye.getOSVersion().osMajor,browser:ye.getBrowserInfo().browser,browserVersion:ye.getBrowserInfo().browserVersion,browserVersionMajor:ye.getBrowserInfo().browserMajor,screenSize:window.screen.width+"*"+window.screen.height,networkType:ye.getNetwork(),divice:ye.getDeviceType()});var me=be,Ee={BEFORE_UNLOAD:"beforeunload",CLICK:"click",DBL_CLICK:"dblclick",KEY_DOWN:"keydown",LOAD:"load",POP_STATE:"popstate",SCROLL:"scroll",TOUCH_START:"touchstart",TOUCH_END:"touchend",TOUCH_MOVE:"touchmove",VISIBILITY_CHANGE:"visibilitychange",PAGE_SHOW:"pageshow",FREEZE:"freeze",RESUME:"resume",DOM_CONTENT_LOADED:"DOMContentLoaded",POINTER_DOWN:"pointerdown",POINTER_UP:"pointerup",POINTER_CANCEL:"pointercancel",HASH_CHANGE:"hashchange",PAGE_HIDE:"pagehide",MOUSE_DOWN:"mousedown",MOUSE_UP:"mouseup",MOUSE_MOVE:"mousemove",FOCUS:"focus",BLUR:"blur",CONTEXT_MENU:"contextmenu",RESIZE:"resize",CHANGE:"change",INPUT:"input",PLAY:"play",PAUSE:"pause",SECURITY_POLICY_VIOLATION:"securitypolicyviolation",SELECTION_CHANGE:"selectionchange"},we={ACTION:"action",ERROR:"error",LONG_TASK:"long_task",VIEW:"view",RESOURCE:"resource",LOGGER:"logger"},Oe={FETCH:"fetch",XHR:"xhr"},Se={HANDLED:"handled",UNHANDLED:"unhandled"};function xe(e,t,n){var r=e[t],o=n(r),i=function(){if("function"==typeof o)return o.apply(this,arguments)};return e[t]=i,{stop:function(){e[t]===i?e[t]=r:o=r}}}function Ce(e,t,n){return xe(e,t,(function(e){return function(){var t;return n&&n.before&&a(n.before,this,arguments),"function"==typeof e&&(t=e.apply(this,arguments)),n&&n.after&&a(n.after,this,arguments),t}}))}function Le(e){return Le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Le(e)}function Te(e,t,n){if("object"!==Le(e)||null===e)return JSON.stringify(e);var r=Re(Object.prototype),o=Re(Array.prototype),i=Re(Object.getPrototypeOf(e)),s=Re(e);try{return JSON.stringify(e,t,n)}catch(e){return"<error: unable to serialize object>"}finally{r(),o(),i(),s()}}function Re(e){var t=e,n=t.toJSON;return n?(delete t.toJSON,function(){t.toJSON=n}):K}function ke(e){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(e)}var Ae="?";function Me(e){var t=[],n=We(e,"stack");return n&&S(n.split("\n"),(function(e){var n=function(e){var t=$e.exec(e);if(!t)return;var n=t[2]&&0===t[2].indexOf("native"),r=t[2]&&0===t[2].indexOf("eval"),o=Ue.exec(t[2]);r&&o&&(t[2]=o[1],t[3]=o[2],t[4]=o[3]);return{args:n?[t[2]]:[],column:t[4]?+t[4]:void 0,func:t[1]||Ae,line:t[3]?+t[3]:void 0,url:n?void 0:t[2]}}(e)||function(e){var t=Be.exec(e);if(!t)return;return{args:[],column:t[3]?+t[3]:void 0,func:Ae,line:t[2]?+t[2]:void 0,url:t[1]}}(e)||function(e){var t=Ne.exec(e);if(!t)return;return{args:[],column:t[4]?+t[4]:void 0,func:t[1]||Ae,line:+t[3],url:t[2]}}(e)||function(e){var t=Pe.exec(e);if(!t)return;var n=t[3]&&t[3].indexOf(" > eval")>-1,r=Ge.exec(t[3]);n&&r&&(t[3]=r[1],t[4]=r[2],t[5]=void 0);return{args:t[2]?t[2].split(","):[],column:t[5]?+t[5]:void 0,func:t[1]||Ae,line:t[4]?+t[4]:void 0,url:t[3]}}(e);n&&(!n.func&&n.line&&(n.func=Ae),t.push(n))})),{message:We(e,"message"),name:We(e,"name"),stack:t}}var De="((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\w+\\.|\\/).*?)",Ie="(?::(\\d+))",$e=new RegExp("^\\s*at (.*?) ?\\("+De+Ie+"?"+Ie+"?\\)?\\s*$","i"),Ue=new RegExp("\\((\\S*)"+Ie+Ie+"\\)");var Be=new RegExp("^\\s*at ?"+De+Ie+"?"+Ie+"??\\s*$","i");var Ne=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;var Pe=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,Ge=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function We(e,t){if("object"===ke(e)&&e&&t in e){var n=e[t];return"string"==typeof n?n:void 0}}var Fe=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/;function Ve(e){var t=function(e){return Ce(window,"onerror",{before:function(t,n,r,o,i){var s;if(i instanceof Error)s=Me(i);else{var a={url:n,column:o,line:r},u=function(e){var t,n;if("[object String]"==={}.toString.call(e)){var r=Fe.exec(e);r&&(t=r[1],n=r[2])}return{name:t,message:n}}(t);s={name:u.name,message:u.message,stack:[a]}}e(s,le(i,t))}})}(e),n=function(e){return Ce(window,"onunhandledrejection",{before:function(t){var n=t.reason||"Empty reason",r=Me(n);e(r,n)}})}(e);return{stop:function(){t.stop(),n.stop()}}}var je={AGENT:"agent",CONSOLE:"console",NETWORK:"network",SOURCE:"source",LOGGER:"logger",CUSTOM:"custom"};function qe(e){var t=e.stackTrace,n=e.originalError,r=e.handlingStack,o=e.startClocks,i=e.nonErrorPrefix,s=e.source,a=e.handling;return t&&(void 0!==t.message||n instanceof Error)?{startClocks:o,source:s,handling:a,originalError:n,message:t.message||"Empty message",stack:Qe(t),handlingStack:r,type:t.name,causes:Ke(n,s)}:{startClocks:o,source:s,handling:a,originalError:n,message:i+" "+Te(n),stack:"No stack, consider using an instance of Error",handlingStack:r,type:t&&t.name}}function Qe(e){var t=He(e);return S(e.stack,(function(e){var n="?"===e.func?"<anonymous>":e.func,r=e.args&&e.args.length>0?"("+e.args.join(", ")+")":"",o=e.line?":"+e.line:"",i=e.line&&e.column?":"+e.column:"";t+="\n at "+n+r+" @ "+e.url+o+i})),t}function He(e){return(e.name||"Error")+": "+e.message}function Ke(e,t){for(var n=e,r=[];n&&n.cause instanceof Error&&r.length<10;){var o=Me(n.cause);r.push({message:n.cause.message,source:t,type:o&&o.name,stack:o&&Qe(o)}),n=n.cause}return r.length?r:void 0}var Xe=1024,ze=1024*Xe,Ye=/[^\u0000-\u007F]/;function Ze(e){return Ye.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length}var Je=function(e){this.observers=[],this.onLastUnsubscribe=void 0,this.onFirstSubscribe=e};Je.prototype={subscribe:function(e){!this.observers.length&&this.onFirstSubscribe&&(this.onLastUnsubscribe=this.onFirstSubscribe()||void 0),this.observers.push(e);var t=this;return{unsubscribe:function(){t.observers=M(t.observers,(function(t){return e!==t})),!t.observers.length&&t.onLastUnsubscribe&&t.onLastUnsubscribe()}}},notify:function(e){S(this.observers,(function(t){t(e)}))}};var et=Je;function tt(){var e=[].slice.call(arguments),t=new et((function(){var n=D(e,(function(e){return e.subscribe((function(e){return t.notify(e)}))}));return function(){return S(n,(function(e){return e.unsubscribe()}))}}));return t}var nt={};function rt(e){var n=D(e,(function(e){return nt[e]||(nt[e]=function(e){var n=new et((function(){var r=console[e];return console[e]=function(){var o=[].slice.call(arguments);r.apply(console,arguments);var i=function(){var e,t=new Error;if(!t.stack)try{throw t}catch(e){}return a((function(){var n=Me(t);n.stack=n.stack.slice(2),e=Qe(n)})),e}();a((function(){n.notify(function(e,n,r){var o,i=D(e,(function(e){return function(e){if("string"==typeof e)return e;if(e instanceof Error)return He(Me(e));return Te(e,void 0,2)}(e)})).join(" ");if(n===t.error){var s=function(e,t){for(var n=0;n<e.length;n+=1){var r=e[n];if(t(r,n,e))return r}}(e,(function(e){return e instanceof Error}));o=s?Qe(Me(s)):void 0,i="console error: "+i}return{api:n,message:i,stack:o,handlingStack:r}}(o,e,i))}))},function(){console[e]=r}}));return n}(e)),nt[e]}));return tt.apply(this,n)}function ot(e,t,n,r){return it(e,[t],n,r)}function it(e,t,n,o){var i=s(o&&o.once?function(e){u(),n(e)}:n);o=o&&o.passive?{capture:o.capture,passive:o.passive}:o&&o.capture;var a=r(e,"addEventListener");S(t,(function(t){a.call(e,t,i,o)}));var u=function(){var n=r(e,"removeEventListener");S(t,(function(t){n.call(e,t,i,o)}))};return{stop:u}}var st={intervention:"intervention",deprecation:"deprecation",cspViolation:"csp_violation"};function at(e){var t,n=[];ae(e,st.cspViolation)&&n.push(t=new et((function(){var e=function(e){t.notify(function(e){var t=st.cspViolation,n="'"+e.blockedURI+"' blocked by '"+e.effectiveDirective+"' directive";return{type:st.cspViolation,subtype:e.effectiveDirective,message:t+": "+n,stack:ut(e.effectiveDirective,n+' of the policy "'+se(e.originalPolicy,100)+'"',e.sourceFile,e.lineNumber,e.columnNumber)}}(e))};return ot(document,Ee.SECURITY_POLICY_VIOLATION,e).stop})));var r=M(e,(function(e){return e!==st.cspViolation}));return r.length&&n.push(function(e){var t=new et((function(){if(window.ReportingObserver){var n=s((function(e){S(e,(function(e){t.notify(function(e){var t=e.body,n=e.type;return{type:n,subtype:t.id,message:n+": "+t.message,stack:ut(t.id,t.message,t.sourceFile,t.lineNumber,t.columnNumber)}}(e))}))})),r=new window.ReportingObserver(n,{types:e,buffered:!0});return r.observe(),function(){r.disconnect()}}}));return t}(r)),tt.apply(this,n)}function ut(e,t,n,r,o){return n&&Qe({name:e,message:t,stack:[{func:"?",url:n,line:r,column:o}]})}function ct(e){return ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ct(e)}var ft=220*Xe;function lt(e,t,n,r,o){var i=function(e){var t=e;if(t&&"function"==typeof t.toJSON)try{return t.toJSON()}catch(e){}return e}(e);if(!i||"object"!==ct(i))return function(e){if("bigint"==typeof e)return"[BigInt] "+e.toString();if("function"==typeof e)return"[Function] "+e.name||0;if("symbol"===ct(e))return"[Symbol] "+e.description||0;return e}(i);var s=function(e){try{if(e instanceof Event)return{isTrusted:e.isTrusted};var t=Object.prototype.toString.call(e).match(/\[object (.*)\]/);if(t&&t[1])return"["+t[1]+"]"}catch(e){}return"[Unserializable]"}(i);if("[Object]"!==s&&"[Array]"!==s&&"[Error]"!==s)return s;var a=e;if(o.has(a))return"[Reference seen at "+o.get(a)+"]";var u=void 0!==n?t+"."+n:t,c=Array.isArray(i)?[]:{};return o.set(a,u),r.push({source:i,target:c,path:u}),c}function dt(e,t,r){n.warn("The data provided has been "+t+" as it is over the limit of "+e+" characters:",r)}var pt=function(){this._events=[],this.pendingEvents=[]};pt.prototype={emit:function(e){var t=[].slice.call(arguments,1);S(this._events,(function(n){if(n.type!==e)return!1;n.callback.apply(n.context,t)}))},on:function(e,t,n){"function"==typeof t&&this._events.push({type:e,callback:t,context:n||this})}};new pt;var vt,gt={PERFORMANCE_ENTRIES_COLLECTED:"PERFORMANCE_ENTRIES_COLLECTED",AUTO_ACTION_COMPLETED:"AUTO_ACTION_COMPLETED",VIEW_CREATED:"VIEW_CREATED",VIEW_UPDATED:"VIEW_UPDATED",VIEW_ENDED:"VIEW_ENDED",SESSION_RENEWED:"SESSION_RENEWED",SESSION_EXPIRED:"SESSION_EXPIRED",PAGE_EXITED:"PAGE_EXITED",REQUEST_STARTED:"REQUEST_STARTED",REQUEST_COMPLETED:"REQUEST_COMPLETED",RAW_RUM_EVENT_COLLECTED:"RAW_RUM_EVENT_COLLECTED",RUM_EVENT_COLLECTED:"RUM_EVENT_COLLECTED",RAW_ERROR_COLLECTED:"RAW_ERROR_COLLECTED",RAW_LOG_COLLECTED:"RAW_LOG_COLLECTED",LOG_COLLECTED:"LOG_COLLECTED"};function ht(){this.callbacks={}}function _t(e){return yt(e,function(e){if(e.origin&&"null"!==e.origin)return e.origin;var t=e.host.replace(/(:80|:443)$/,"");return e.protocol+"//"+t}(window.location)).href}function yt(e,t){if(function(){if(void 0!==vt)return vt;try{var e=new URL("http://test/path");return vt="http://test/path"===e.href}catch(e){vt=!1}return vt}())return void 0!==t?new URL(e,t):new URL(e);if(void 0===t&&!/:/.test(e))throw new Error("Invalid URL: "+e);var n=document,r=n.createElement("a");if(void 0!==t){var o=(n=document.implementation.createHTMLDocument("")).createElement("base");o.href=t,n.head.appendChild(o),n.body.appendChild(r)}return r.href=e,r}ht.prototype={notify:function(e,t){var n=this.callbacks[e];n&&S(n,(function(e){e(t)}))},subscribe:function(e,t){this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t);var n=this;return{unsubscribe:function(){n.callbacks[e]=M(n.callbacks[e],(function(e){return e!==t}))}}}};var bt=navigator.userAgent.toLowerCase(),mt=function(){return/iphone os/.test(bt)};var Et,wt=z;function Ot(e,t,n,r){var o=new Date;o.setTime(o.getTime()+n);var i="expires="+o.toUTCString(),s=r&&r.crossSite?"none":"strict",a=r&&r.domain?";domain="+r.domain:"",u=r&&r.secure?";secure":"";document.cookie=e+"="+t+";"+i+";path=/;samesite="+s+a+u}function St(e){return function(e,t){var n=e.match("(?:^|;)\\s*"+t+"\\s*=\\s*([^;]+)");return n?n[1]:void 0}(document.cookie,e)}var xt=/^\s+|\s+$/g,Ct={rum:"/rum",log:"/logging",sessionReplay:"/rum/replay"};function Lt(e,t){var n=Ct[t];return n?(0===e.indexOf("/")&&(e=location.origin+Tt(e)),e.lastIndexOf("/")===e.length-1?Tt(e)+"v1/write"+n:Tt(e)+"/v1/write"+n):""}function Tt(e){return e.replace(xt,"")}var Rt,kt;function At(e){if(void 0===e.sampleRate||ue(e.sampleRate)){if(void 0===e.sessionSampleRate||ue(e.sessionSampleRate)){var t=e.sessionSampleRate||e.sampleRate;return x({beforeSend:e.beforeSend&&c(e.beforeSend,"beforeSend threw an error:"),cookieOptions:Mt(e),sessionSampleRate:le(t,100),service:e.service,version:e.version,env:e.env,silentMultipleInit:!!e.silentMultipleInit,batchBytesLimit:16*Xe,eventRateLimiterThreshold:3e3,flushTimeout:30*z,batchMessagesLimit:50,messageBytesLimit:256*Xe,resourceUrlLimit:5*Xe},function(e){var t=function(e){return!1};"isIntakeUrl"in e&&R(e.isIntakeUrl)&&P(e.isIntakeUrl())&&(t=e.isIntakeUrl);var n=function(e){return!1};return"isServerError"in e&&R(e.isServerError)&&P(e.isServerError())&&(n=e.isServerError),{datakitUrl:Lt(e.datakitUrl||e.datakitOrigin,"rum"),logsEndpoint:Lt(e.datakitOrigin,"log"),sessionReplayEndPoint:Lt(e.datakitOrigin,"sessionReplay"),isIntakeUrl:t,isServerError:n}}(e))}n.error("Sample Rate should be a number between 0 and 100")}else n.error("Sample Rate should be a number between 0 and 100")}function Mt(e){var t={};return t.secure=function(e){return!!e.useSecureSessionCookie||!!e.useCrossSiteSessionCookie}(e),t.crossSite=!!e.useCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(t.domain=function(){if(void 0===Et){for(var e="dd_site_test_".concat(V()),t=window.location.hostname.split("."),n=t.pop();t.length&&!St(e);)n=t.pop()+"."+n,Ot(e,"test",z,{domain:n});Et=n}return Et}()),t}function Dt(){var e;return Rt||(e=new et((function(){if(window.fetch)return xe(window,"fetch",(function(t){return function(n,r){var o,i=a(It,null,[e,n,r]);return i?(o=t.call(this,i.input,i.init),a($t,null,[e,o,i])):o=t.call(this,n,r),o}})).stop})),Rt=e),Rt}function It(e,t,n){var r=n&&n.method||t instanceof Request&&t.method||"GET",o=t instanceof Request?t.url:_t(String(t)),i={state:"start",init:n,input:t,method:r,startClocks:te(),url:o};return e.notify(i),i}function $t(e,t,n){var r=function(t){var r=n;if(r.state="resolve","stack"in t||t instanceof Error)r.status=0,r.isAborted=t instanceof DOMException&&t.code===DOMException.ABORT_ERR,r.error=t;else if("status"in t){r.response=t;try{r.responseType=t.constructor===Response&&t.type||""}catch(e){r.responseType=""}r.status=t.status,r.isAborted=!1}e.notify(r)};t.then(s(r),s(r))}var Ut={},Bt="_DATAFLUX_REQUEST_UUID";function Nt(){var e;return kt||(e=new et((function(){var t=Ce(XMLHttpRequest.prototype,"open",{before:Pt}),n=Ce(XMLHttpRequest.prototype,"send",{before:function(){Gt.call(this,e)}}),r=Ce(XMLHttpRequest.prototype,"abort",{before:Ft});return function(){t.stop(),n.stop(),r.stop()}})),kt=e),kt}function Pt(e,t){var n=this[Bt]||V();this[Bt]=n,Ut[n]={state:"open",method:e,url:_t(String(t))}}function Gt(e){var t=Ut[this[Bt]];if(t){var n=t;n.state="start",n.startTime=ee(),n.startClocks=te(),n.isAborted=!1,n.xhr=this;var r=!1,o=Ce(this,"onreadystatechange",{before:function(){this.readyState===XMLHttpRequest.DONE&&i.call(this)}}).stop,i=function(){if(s(),o(),!r){r=!0;var i,a=t;a.state="complete",a.duration=(i=n.startClocks.timeStamp,ne()-i),a.status=this.status,e.notify(x({},a)),Wt.call(this)}},s=ot(this,"loadend",i).stop;e.notify(n)}}function Wt(){delete Ut[this[Bt]],delete this[Bt]}function Ft(){var e=Ut[this[Bt]];e&&(e.isAborted=!0)}var Vt={HIDDEN:"visibility_hidden",UNLOADING:"before_unload",PAGEHIDE:"page_hide",FROZEN:"page_frozen"};var jt,qt={sdk_name:"_gc.sdk_name",sdk_version:"_gc.sdk_version",app_id:"application.id",env:"env",service:"service",version:"version",userid:"user.id",user_email:"user.email",user_name:"user.name",session_id:"session.id",session_type:"session.type",session_sampling:"session.is_sampling",session_has_replay:"session.has_replay",is_signin:"user.is_signin",os:"device.os",os_version:"device.os_version",os_version_major:"device.os_version_major",browser:"device.browser",browser_version:"device.browser_version",browser_version_major:"device.browser_version_major",screen_size:"device.screen_size",network_type:"device.network_type",device:"device.device",view_id:"view.id",view_referrer:"view.referrer",view_url:"view.url",view_host:"view.host",view_path:"view.path",view_name:"view.path",view_path_group:"view.path_group",view_url_query:"view.url_query"},Qt={action_id:"action.id",view_in_foreground:"view.in_foreground"},Ht={view:{type:we.VIEW,tags:{view_loading_type:"view.loading_type",view_apdex_level:"view.apdex_level"},fields:{is_active:"view.is_active",session_replay_stats:"_gc.replay_stats",session_is_active:"session.is_active",view_error_count:"view.error.count",view_resource_count:"view.resource.count",view_long_task_count:"view.long_task.count",view_action_count:"view.action.count",first_contentful_paint:"view.first_contentful_paint",largest_contentful_paint:"view.largest_contentful_paint",largest_contentful_paint_element_selector:"view.largest_contentful_paint_element_selector",cumulative_layout_shift:"view.cumulative_layout_shift",first_input_delay:"view.first_input_delay",loading_time:"view.loading_time",dom_interactive:"view.dom_interactive",dom_content_loaded:"view.dom_content_loaded",dom_complete:"view.dom_complete",load_event:"view.load_event",first_input_time:"view.first_input_time",first_paint_time:"view.fpt",resource_load_time:"view.resource_load_time",time_to_interactive:"view.tti",dom:"view.dom",dom_ready:"view.dom_ready",time_spent:"view.time_spent",first_byte:"view.first_byte",in_foreground_periods:"view.in_foreground_periods",frustration_count:"view.frustration.count",custom_timings:"view.custom_timings"}},resource:{type:we.RESOURCE,tags:{trace_id:"_gc.trace_id",span_id:"_gc.span_id",resource_url:"resource.url",resource_url_host:"resource.url_host",resource_url_path:"resource.url_path",resource_url_path_group:"resource.url_path_group",resource_url_query:"resource.url_query",resource_type:"resource.type",resource_status:"resource.status",resource_status_group:"resource.status_group",resource_method:"resource.method"},fields:{duration:"resource.duration",resource_size:"resource.size",resource_encode_size:"resource.encode_size",resource_render_blocking_status:"resource.render_blocking_status",resource_dns:"resource.dns",resource_tcp:"resource.tcp",resource_ssl:"resource.ssl",resource_ttfb:"resource.ttfb",resource_trans:"resource.trans",resource_redirect:"resource.redirect",resource_first_byte:"resource.firstbyte",resource_dns_time:"resource.dns_time",resource_download_time:"resource.download_time",resource_first_byte_time:"resource.first_byte_time",resource_connect_time:"resource.connect_time",resource_ssl_time:"resource.ssl_time",resource_redirect_time:"resource.redirect_time"}},error:{type:we.ERROR,tags:{error_id:"error.id",trace_id:"_gc.trace_id",span_id:"_gc.span_id",error_source:"error.source",error_type:"error.type",error_handling:"error.handling"},fields:{error_message:["string","error.message"],error_stack:["string","error.stack"],error_causes:["string","error.causes"]}},long_task:{type:we.LONG_TASK,tags:{long_task_id:"long_task.id"},fields:{duration:"long_task.duration"}},action:{type:we.ACTION,tags:{action_type:"action.type"},fields:{action_name:"action.target.name",duration:"action.loading_time",action_error_count:"action.error.count",action_resource_count:"action.resource.count",action_frustration_types:"action.frustration.type",action_long_task_count:"action.long_task.count",action_target:"_gc.action.target",action_position:"_gc.action.position"}},browser_log:{type:we.LOGGER,tags:{error_source:"error.source",error_type:"error.type",error_resource_url:"http.url",error_resource_url_host:"http.url_host",error_resource_url_path:"http.url_path",error_resource_url_path_group:"http.url_path_group",error_resource_status:"http.status_code",error_resource_status_group:"http.status_group",error_resource_method:"http.method",action_id:"user_action.id",service:"service",status:"status"},fields:{message:["string","message"]}}},Kt=4*Z,Xt=15*Y,zt=/^([a-z]+)=([a-z0-9-]+)$/,Yt="&",Zt="_dataflux_s",Jt=10,en=100,tn=[];function nn(e,t){if(void 0===t&&(t=0),jt||(jt=e),e===jt)if(t>=en)sn();else{var n,r=un();if(rn()){if(r.lock)return void on(e,t);if(n=V(),r.lock=n,an(r,e.options),(r=un()).lock!==n)return void on(e,t)}var o=e.process(r);if(rn()&&(r=un()).lock!==n)on(e,t);else{if(o&&function(e,t){if(cn(e))return void function(e){Ot(Zt,"",0,e)}(t);e.expire=String(re()+Xt),an(e,t)}(o,e.options),rn()&&(!o||!cn(o))){if((r=un()).lock!==n)return void on(e,t);delete r.lock,an(r,e.options),o=r}e.after&&e.after(o||r),sn()}}else tn.push(e)}function rn(){return!!window.chrome||/HeadlessChrome/.test(window.navigator.userAgent)}function on(e,t){d((function(){nn(e,t+1)}),Jt)}function sn(){jt=void 0;var e=tn.shift();e&&nn(e)}function an(e,t){Ot(Zt,function(e){return D(B(e),(function(e){return e[0]+"="+e[1]})).join(Yt)}(e),Xt,t)}function un(){var e=St(Zt),t={};return function(e){return void 0!==e&&(-1!==e.indexOf(Yt)||zt.test(e))}(e)&&S(e.split(Yt),(function(e){var n=zt.exec(e);if(null!==n){var r=n[1],o=n[2];t[r]=o}})),t}function cn(e){return U(e)}function fn(e,t,n){var r=new et,o=new et,i=v((function(){nn({options:e,process:function(e){return c(e)?void 0:{}},after:a})}),wt),s=function(){var e=un();if(c(e))return e;return{}}();function a(e){return c(e)||(e={}),u()&&(!function(e){return s.id!==e.id||s[t]!==e[t]}(e)?s=e:(s={},o.notify())),e}function u(){return void 0!==s[t]}function c(e){return(void 0===e.created||re()-Number(e.created)<Kt)&&(void 0===e.expire||re()<Number(e.expire))}return{expandOrRenewSession:W((function(){var o;nn({options:e,process:function(e){var r=a(e);return o=function(e){var r=n(e[t]),o=r.trackingType,i=r.isTracked;e[t]=o,i&&!e.id&&(e.id=V(),e.created=String(re()));return i}(r),r},after:function(e){o&&!u()&&function(e){s=e,r.notify()}(e),s=e}})}),wt).throttled,expandSession:function(){nn({options:e,process:function(e){return u()?a(e):void 0}})},getSession:function(){return s},renewObservable:r,expireObservable:o,expire:function(){deleteSessionCookie(e),a({})},stop:function(){g(i)}}}var ln=Y,dn=Kt,pn=[],vn=function(e,t,n){var r=fn(e,t,n);pn.push((function(){return r.stop()}));var o,i,s=new he(dn);function a(){return{id:r.getSession().id,trackingType:r.getSession()[t]}}return pn.push((function(){return s.stop()})),r.renewObservable.subscribe((function(){s.add(a(),ee())})),r.expireObservable.subscribe((function(){s.closeActive(ee())})),r.expandOrRenewSession(),s.add(a(),[0,oe()][0]),o=function(){return r.expandOrRenewSession()},i=it(window,[Ee.CLICK,Ee.TOUCH_START,Ee.KEY_DOWN,Ee.SCROLL],o,{capture:!0,passive:!0}),pn.push(i.stop),function(e){var t=function(){"visible"===document.visibilityState&&e()},n=ot(document,Ee.VISIBILITY_CHANGE,t);pn.push(n.stop);var r=v(t,ln);pn.push((function(){g(r)}))}((function(){return r.expandSession()})),{findActiveSession:function(e){return s.find(e)},renewObservable:r.renewObservable,expireObservable:r.expireObservable,expire:r.expire}};var gn=80*Xe,hn=32,_n=3*ze,yn=256*z,bn=z,mn={UP:0,FAILURE_DETECTED:1,DOWN:2},En={AFTER_SUCCESS:0,AFTER_RESUME:1};function wn(e,t,n,r,o){t.transportStatus===mn.UP&&0===t.queuedPayloads.size()&&t.bandwidthMonitor.canHandle(e)?Sn(e,t,n,{onSuccess:function(){return xn(En.AFTER_SUCCESS,t,n,r,o)},onFailure:function(){t.queuedPayloads.enqueue(e),On(t,n,r,o)}}):t.queuedPayloads.enqueue(e)}function On(e,t,n,r){e.transportStatus===mn.DOWN&&d((function(){Sn(e.queuedPayloads.first(),e,t,{onSuccess:function(){e.queuedPayloads.dequeue(),e.currentBackoffTime=bn,xn(En.AFTER_RESUME,e,t,n,r)},onFailure:function(){e.currentBackoffTime=Math.min(yn,2*e.currentBackoffTime),On(e,t,n,r)}})}),e.currentBackoffTime)}function Sn(e,t,n,r){var o=r.onSuccess,i=r.onFailure;t.bandwidthMonitor.add(e),n(e,(function(n){t.bandwidthMonitor.remove(e),!function(e){return"opaque"!==e.type&&(0===e.status&&!navigator.onLine||408===e.status||429===e.status||e.status>=500)}(n)?(t.transportStatus=mn.UP,o()):(t.transportStatus=t.bandwidthMonitor.ongoingRequestCount>0?mn.FAILURE_DETECTED:mn.DOWN,t.lastFailureStatus=n.status,i())}))}function xn(e,t,n,r,o){e===En.AFTER_SUCCESS&&t.queuedPayloads.isFull()&&!t.queueFullReported&&(o({message:"Reached max "+r+" events size queued for upload: "+_n/ze+"MiB",source:je.AGENT,startClocks:te()}),t.queueFullReported=!0);var i=t.queuedPayloads;for(t.queuedPayloads=Cn();i.size()>0;)wn(i.dequeue(),t,n,r,o)}function Cn(){var e=[];return{bytesCount:0,enqueue:function(t){this.isFull()||(e.push(t),this.bytesCount+=t.bytesCount)},first:function(){return e[0]},dequeue:function(){var t=e.shift();return t&&(this.bytesCount-=t.bytesCount),t},size:function(){return e.length},isFull:function(){return this.bytesCount>=_n}}}function Ln(e){return e?e+(-1===e.indexOf("?")?"?":"&")+"precision=ms":e}function Tn(e,t,n){var r={transportStatus:mn.UP,lastFailureStatus:0,currentBackoffTime:bn,bandwidthMonitor:{ongoingRequestCount:0,ongoingByteCount:0,canHandle:function(e){return 0===this.ongoingRequestCount||this.ongoingByteCount+e.bytesCount<=gn&&this.ongoingRequestCount<hn},add:function(e){this.ongoingRequestCount+=1,this.ongoingByteCount+=e.bytesCount},remove:function(e){this.ongoingRequestCount-=1,this.ongoingByteCount-=e.bytesCount}},queuedPayloads:Cn(),queueFullReported:!1},o=function(n,r){return function(e,t,n,r){var o=n.data,i=n.bytesCount,a=Ln(e),u=function(){try{return window.Request&&"keepalive"in new Request("http://a")}catch(e){return!1}}()&&i<t;u?fetch(a,{method:"POST",body:o,keepalive:!0,mode:"cors"}).then(s((function(e){"function"==typeof r&&r({status:e.status,type:e.type})})),s((function(){Rn(a,o,r)}))):Rn(a,o,r)}(e,t,n,r)};return{send:function(t){wn(t,r,o,e,n)},sendOnExit:function(n){!function(e,t,n){var r=n.data,o=n.bytesCount,i=Ln(e),s=!!navigator.sendBeacon&&o<t;if(s)try{if(navigator.sendBeacon(i,r))return}catch(e){}Rn(i,r)}(e,t,n)}}}function Rn(e,t,n){var r=new XMLHttpRequest;r.open("POST",e,!0),ot(r,"loadend",(function(){"function"==typeof n&&n({status:r.status})}),{once:!0}),r.send(t)}function kn(e){return kn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kn(e)}function An(e){if("object"===kn(e)&&e)e=Te(e);else if(!N(e))return e;return String(e).replace(/[\s=,"]/g,(function(e){return"\\"+e}))}function Mn(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function Dn(e){return"object"===kn(e)&&e?Mn(Te(e)):N(e)?Mn(e):e}var In="custom_keys",$n=function(e){if(!e||!e.type)return{rowStr:"",rowData:void 0};var t={tags:{},fields:{}},n=!1,r="";return S(Ht,(function(o,i){if(o.type===e.type){r+=i+",",t.measurement=i;var s=[],a=C({},qt,o.tags),u=["date","type",In];S(a,(function(n,r){var o=ie(e,n);u.push(r),(o||G(o))&&(t.tags[r]=function(e){return N(e)?e:Te(e)}(o),s.push(An(r)+"="+An(o)))}));var c=[],f=C({},Qt,o.fields);if(S(f,(function(n,r){if(T(n)&&2===n.length){var o=n[1],i=ie(e,o);u.push(r),null!=i&&(t.fields[r]=i,c.push(An(r)+"="+Dn(i)))}else if(N(n)){i=ie(e,n);u.push(r),null!=i&&(t.fields[r]=i,c.push(An(r)+"="+Dn(i)))}})),e.context&&$(e.context)&&!U(e.context)){var l=[];S(e.context,(function(e,n){u.indexOf(n)>-1||(u.push(n),null!=e&&(l.push(n),t.fields[n]=e,c.push(An(n)+"="+Dn(e))))})),l.length&&(t.fields[In]=Dn(l),c.push(An(In)+"="+Dn(l)))}e.type===we.LOGGER&&S(e,(function(e,n){-1===u.indexOf(n)&&null!=e&&(t.fields[n]=e,c.push(An(n)+"="+Dn(e)))})),s.length&&(r+=s.join(",")),c.length&&(r+=" ",r+=c.join(","),n=!0),r=r+" "+e.date,t.time=(d=e.date,G(d)?J(1e6*d,0):d)}var d})),{rowStr:n?r:"",rowData:n?t:void 0}},Un=function(e,t,n){this.pushOnlyBuffer=[],this.upsertBuffer={},this.request=e,this.flushController=t,this.messageBytesLimit=n;var r=this;this.flushController.flushObservable.subscribe((function(e){r.flush(e)}))};Un.prototype.add=function(e){this.addOrUpdate(e)},Un.prototype.upsert=function(e,t){this.addOrUpdate(e,t)},Un.prototype.flush=function(e){var t,n=this.pushOnlyBuffer.concat(k(this.upsertBuffer));if(this.pushOnlyBuffer=[],this.upsertBuffer={},n.length>0){var r={data:n.join("\n"),bytesCount:e.bytesCount,flushReason:e.reason};t=e.reason,ae(k(Vt),t)?this.request.sendOnExit(r):this.request.send(r)}},Un.prototype.addOrUpdate=function(e,t){var r=this.process(e),o=r.processedMessage,i=r.messageBytesCount;i>=this.messageBytesLimit?n.warn("Discarded a message whose size was bigger than the maximum allowed size "+this.messageBytesLimit+"KB."):(this.hasMessageFor(t)&&this.remove(t),this.push(o,i,t))},Un.prototype.process=function(e){var t=$n(e).rowStr;return{processedMessage:t,messageBytesCount:Ze(t)}},Un.prototype.push=function(e,t,n){var r=this.flushController.getMessagesCount()>0?1:0;this.flushController.notifyBeforeAddMessage(t+r),void 0!==n?this.upsertBuffer[n]=e:this.pushOnlyBuffer.push(e),this.flushController.notifyAfterAddMessage()},Un.prototype.remove=function(e){var t=this.upsertBuffer[e];delete this.upsertBuffer[e];var n=Ze(t),r=this.flushController.getMessagesCount()>1?1:0;this.flushController.notifyAfterRemoveMessage(n+r)},Un.prototype.hasMessageFor=function(e){return void 0!==e&&void 0!==this.upsertBuffer[e]};var Bn=Un;function Nn(e){var t=e.messagesLimit,n=e.bytesLimit,r=e.durationLimit,o=e.pageExitObservable,i=e.sessionExpireObservable,s=new et;o.subscribe((function(e){return f(e.reason)})),i.subscribe((function(){return f("session_expire")}));var a,u=0,c=0;function f(e){if(0!==c){var t=c,n=u;c=0,u=0,l(),s.notify({reason:e,messagesCount:t,bytesCount:n})}}function l(){p(a),a=void 0}return{flushObservable:s,getMessagesCount:function(){return c},notifyBeforeAddMessage:function(e){u+e>=n&&f("bytes_limit"),c+=1,u+=e,void 0===a&&(a=d((function(){f("duration_limit")}),r))},notifyAfterAddMessage:function(){c>=t?f("messages_limit"):u>=n&&f("bytes_limit")},notifyAfterRemoveMessage:function(e){u-=e,0===(c-=1)&&l()}}}var Pn=3*Xe,Gn={FeatureFlag:"feature flag evaluation",User:"user",GlobalContext:"global context",LoggerContext:"logger context"};var Wn=200;function Fn(e,t){void 0===t&&(t=Ze);var r,o={},i=!1,s=W((function(o){r=t(Te(o)),i||(i=function(e,t){return e>Pn&&(n.warn("The "+t+"data is over "+Pn/Xe+" KiB. On low connectivity, the SDK has the potential to exhaust the user's upload bandwidth."),!0)}(r,e))}),Wn).throttled;return{getBytesCount:function(){return r},get:function(){return o},add:function(e,t){o[e]=t,s(o)},remove:function(e){delete o[e],s(o)},set:function(e){s(o=e)},getContext:function(){return H(o)},setContext:function(e){o=H(e),s(o)},setContextProperty:function(e,t){o[e]=H(t),s(o)},removeContextProperty:function(e){delete o[e],s(o)},clearContext:function(){o={},r=0}}}var Vn={sdkVersion:"3.0.29",sdkName:"df_web_logs_sdk"},jn=32*Xe;function qn(e,t,r){return void 0===e?[]:"all"===e||T(e)&&I(e,(function(e){return ae(t,e)}))?"all"===e?t:F(e):void n.error(r+' should be "all" or an array with allowed values "'+t.join('", "')+'"')}var Qn={debug:"debug",error:"error",info:"info",warn:"warn",critical:"critical"},Hn={console:"console",http:"http",silent:"silent"},Kn=A(Qn);function Xn(e,t,n,r,o){this.contextManager=Fn(Gn.LoggerContext),void 0===n&&(n=Hn.http),void 0===r&&(r=Qn.debug),void 0===o&&(o={}),this.handleLogStrategy=e,this.handlerType=n,this.level=r,this.contextManager.set(x({},o,t?{logger:{name:t}}:void 0))}Xn.prototype={log:s((function(e,t,n,r){var o;if(void 0===n&&(n=Qn.info),n===Qn.error&&(o={origin:je.LOGGER}),null!=r){var i=qe({stackTrace:r instanceof Error?Me(r):void 0,originalError:r,nonErrorPrefix:"Provided",source:je.LOGGER,handling:Se.HANDLED,startClocks:te()});o={origin:je.LOGGER,stack:i.stack,kind:i.type,message:i.message}}var s=function(e,t){void 0===t&&(t=ft);var n=Re(Object.prototype),r=Re(Array.prototype),o=[],i=new WeakMap,s=lt(e,"$",void 0,o,i),a=JSON.stringify(s)&&JSON.stringify(s).length||0;if(!(a>t)){for(;o.length>0&&a<t;){var u=o.shift(),c=0;if(Array.isArray(u.source))for(var f=0;f<u.source.length;f++){if(a+=void 0!==(l=lt(u.source[f],u.path,f,o,i))?JSON.stringify(l).length:4,a+=c,c=1,a>t){dt(t,"truncated",e);break}u.target[f]=l}else for(var f in u.source)if(Object.prototype.hasOwnProperty.call(u.source,f)){var l;if(void 0!==(l=lt(u.source[f],u.path,f,o,i))&&(a+=JSON.stringify(l).length+c+f.length+3,c=1),a>t){dt(t,"truncated",e);break}u.target[f]=l}}return n(),r(),s}dt(t,"discarded",e)}(t),a=o?L({error:o},s):s;this.handleLogStrategy({message:e,context:a,status:n},this)})),debug:function(e,t,n){this.log(e,t,Qn.debug,n)},info:function(e,t,n){this.log(e,t,Qn.info,n)},warn:function(e,t,n){this.log(e,t,Qn.warn,n)},critical:function(e,t,n){this.log(e,t,Qn.critical,n)},error:function(e,t,n){var r={error:{origin:je.LOGGER}};this.log(e,L(r,t),Qn.error,n)},setContext:function(e){this.contextManager.set(e)},getContext:function(){return this.contextManager.get()},addContext:function(e,t){this.contextManager.add(e,t)},removeContext:function(e){this.contextManager.remove(e)},setHandler:function(e){this.handlerType=e},getHandler:function(){return this.handlerType},setLevel:function(e){this.level=e},getLevel:function(){return this.level}};var zn="logs",Yn={NOT_TRACKED:"0",TRACKED:"1"};function Zn(e){var t=vn(e.cookieOptions,zn,(function(t){return function(e,t){var n=function(e){return e===Yn.NOT_TRACKED||e===Yn.TRACKED}(t)?t:Jn(e);return{trackingType:n,isTracked:n===Yn.TRACKED}}(e,t)}));return{findTrackedSession:function(e){var n=t.findActiveSession(e);return n&&n.trackingType===Yn.TRACKED?{id:n.id}:void 0},expireObservable:t.expireObservable}}function Jn(e){return 0!==(t=e.sessionSampleRate)&&100*Math.random()<=t?Yn.TRACKED:Yn.NOT_TRACKED;var t}var er={[Qn.debug]:0,[Qn.info]:1,[Qn.warn]:2,[Qn.error]:3};function tr(e,t,n){var r=n.getHandler(),o=T(r)?r:[r];return er[e]>=er[n.getLevel()]&&ae(o,t)}function nr(e,t,n,r,o,i){var s=Kn.concat(["custom"]),a={};S(s,(function(e){var n,r,o,s,u;a[e]=(n=e,r=t.eventRateLimiterThreshold,o=i,s=0,u=!1,{isLimitReached:function(){if(0===s&&d((function(){s=0}),Y),(s+=1)<=r||u)return u=!1,!1;if(s===r+1){u=!0;try{o({message:"Reached max number of "+n+"s by minute: "+r,source:je.AGENT,startClocks:te()})}finally{u=!1}}return!0}})})),n.subscribe(gt.RAW_LOG_COLLECTED,(function(i){var s=i.rawLogsEvent,u=i.messageContext||void 0,c=i.savedCommonContext||void 0,f=i.logger||o,l=s.date-oe(),d=e.findTrackedSession(l);if(d){var p=c||r(),v=L({service:t.service||"browser",env:t.env||"",version:t.version||"",_dd:{sdkName:t.sdkName,sdkVersion:t.sdkVersion},session:{id:d.id},view:p.view,user:U(p.user)?void 0:p.user,device:me,type:we.LOGGER},p.context,function(e){return t(window.DATAFLUX_RUM);function t(t){if(t&&t.getInternalContext)return t.getInternalContext(e)}}(l),s,f.getContext(),u);!tr(s.status,Hn.http,f)||t.beforeSend&&!1===t.beforeSend(v)||v.error&&v.error.origin!==je.AGENT&&le(a[v.status],a.custom).isLimitReached()||n.notify(gt.LOG_COLLECTED,ce(v))}}))}var rr={[t.log]:Qn.info,[t.debug]:Qn.debug,[t.info]:Qn.info,[t.warn]:Qn.warn,[t.error]:Qn.error};var or={[st.cspViolation]:Qn.error,[st.intervention]:Qn.error,[st.deprecation]:Qn.warn};function ir(e,t){if(!e.forwardErrorsToLogs)return{stop:K};var n=Nt().subscribe((function(e){"complete"===e.state&&o(Oe.XHR,e)})),r=Dt().subscribe((function(e){"resolve"===e.state&&o(Oe.FETCH,e)}));function o(n,r){function o(e){var o,i,s,a=j(r.url).getParse();t.notify(gt.RAW_LOG_COLLECTED,{rawLogsEvent:{message:ar(n)+" error "+r.method+" "+r.url,date:r.startClocks.timeStamp,error:{origin:je.NETWORK,stack:e||"Failed to load"},http:{method:r.method,status_code:r.status,url:r.url,statusGroup:(s=r.status,s?String(s).substr(0,1)+String(s).substr(1).replace(/\d*/g,"x"):s),urlHost:a.Host,urlPath:a.Path,urlPathGroup:(o=a.Path,i="",o&&(i=o.replace(/\/([^\/]*)\d([^\/]*)/g,"/?").replace(/\/$/g,"")),i||"/")},status:Qn.error,origin:je.NETWORK}})}!e.isIntakeUrl(r.url)&&(function(e){return 0===e.status&&"opaque"!==e.responseType}(r)||function(e){return e.status>=500}(r)||e.isServerError(r))&&("xhr"in r?function(e,t,n){"string"==typeof e.response?n(sr(e.response,t)):n(e.response)}(r.xhr,e,o):r.response?function(e,t,n){var r=function(e){try{return e.clone()}catch(e){return}}(e);r&&r.body?window.TextDecoder?function(e,t,n){!function(e,t,n){var r=e.getReader(),o=[],i=0;function a(){var e,s;if(r.cancel().catch(K),n.collectStreamBody){var a;if(1===o.length)a=o[0];else{a=new Uint8Array(i);var u=0;S(o,(function(e){a.set(e,u),u+=e.length}))}e=a.slice(0,n.bytesLimit),s=a.length>n.bytesLimit}t(void 0,e,s)}!function e(){r.read().then(s((function(t){t.done?a():(n.collectStreamBody&&o.push(t.value),(i+=t.value.length)>n.bytesLimit?a():e())})),s((function(e){t(e)})))}()}(e,(function(e,t,r){if(e)n(e);else{var o=(new TextDecoder).decode(t);r&&(o+="..."),n(void 0,o)}}),{bytesLimit:t,collectStreamBody:!0})}(r.body,t.requestErrorResponseLengthLimit,(function(e,t){n(e?"Unable to retrieve response: "+e:t)})):r.text().then(s((function(e){return n(sr(e,t))})),s((function(e){return n("Unable to retrieve response: "+e)}))):n()}(r.response,e,o):r.error&&function(e,t,n){n(sr(Qe(Me(e)),t))}(r.error,e,o))}return{stop:function(){n.unsubscribe(),r.unsubscribe()}}}function sr(e,t){return e.length>t.requestErrorResponseLengthLimit?e.substring(0,t.requestErrorResponseLengthLimit)+"...":e}function ar(e){return Oe.XHR===e?"XHR":"Fetch"}function ur(e,t){if(!e.forwardErrorsToLogs)return{stop:K};var n,r=new et,o=(n=r,Ve((function(e,t){n.notify(qe({stackTrace:e,originalError:t,startClocks:te(),nonErrorPrefix:"Uncaught",source:je.SOURCE,handling:Se.UNHANDLED}))}))),i=r.subscribe((function(e){t.notify(gt.RAW_LOG_COLLECTED,{rawLogsEvent:{message:e.message,date:e.startClocks.timeStamp,error:{kind:e.type,origin:je.SOURCE,stack:e.stack},origin:je.SOURCE,status:Qn.error}})}));return{stop:function(){o.stop(),i.unsubscribe()}}}function cr(e,t,n,r,o){var i=function(e,t,n,r,o){var i=function(t){return new Bn(Tn(t,e.batchBytesLimit,n),Nn({messagesLimit:e.batchMessagesLimit,bytesLimit:e.batchBytesLimit,durationLimit:e.flushTimeout,pageExitObservable:r,sessionExpireObservable:o}),e.messageBytesLimit)}(t);return{add:function(e){i.add(e)}}}(e,e.logsEndpoint,n,r,o);t.subscribe(gt.LOG_COLLECTED,(function(e){i.add(e)}))}const fr=function(e){var r,o,a=!1,u=Fn(Gn.GlobalContext),c=Fn(Gn.User),f={},l=function(){},d=new pe,p=function(e,t,n,r){void 0===n&&(n=H(h())),void 0===r&&(r=ne()),d.add((function(){return p(e,t,n,r)}))},v=function(){},g=new Xn((function(){return p.apply(this,arguments)}));function h(){return{view:{referrer:document.referrer,url:window.location.href},context:u.getContext(),user:c.getContext()}}return r={logger:g,init:s((function(r){if(function(e){return a?(e.silentMultipleInit||n.error("DD_LOGS is already initialized."),!1):!(!e.datakitUrl&&!e.datakitOrigin)||(n.error("datakitOrigin is not configured, no RUM data will be collected."),!1)}(r)){var o=function(e){var n=At(e),r=qn(e.forwardConsoleLogs,k(t),"Forward Console Logs"),o=qn(e.forwardReports,k(st),"Forward Reports");if(n&&r&&o)return e.forwardErrorsToLogs&&!ae(r,t.error)&&r.push(t.error),x({forwardErrorsToLogs:!1!==e.forwardErrorsToLogs,forwardConsoleLogs:r,forwardReports:o,requestErrorResponseLengthLimit:jn},n,Vn)}(r);if(o){var i=e(o,h,g);p=i.handleLog,l=i.getInternalContext,v=function(){return H(r)},d.drain(),a=!0}}})),getGlobalContext:s(u.getContext),setGlobalContext:s(u.setContext),setGlobalContextProperty:s(u.setContextProperty),removeGlobalContextProperty:s(u.removeContextProperty),clearGlobalContext:s(u.clearContext),createLogger:s((function(e,t){return void 0===t&&(t={}),f[e]=new Xn((function(){return p(this.arguments)}),e,t.handler,t.level,t.context),f[e]})),getLogger:s((function(e){return f[e]})),getInitConfiguration:s((function(){return v()})),getInternalContext:s((function(e){return l(e)})),setUser:s((function(e){(function(e){var t="object"===q(e);return t||n.error("Unsupported user:",e),t})(e)&&c.setContext(function(e){var t=x({},e);return S(["id","name","email"],(function(e){e in t&&(t[e]=String(t[e]))})),t}(e))})),getUser:s(c.getContext),removeUserProperty:s(c.removeContextProperty),clearUser:s(c.clearContext)},o=x({onReady:function(e){e()}},r),Object.defineProperty(o,"_setDebug",{get:function(){return i},enumerable:!1}),o}((function(e,r,o){var i,s=new ht,a=function(e){s.notify(gt.RAW_LOG_COLLECTED,{rawLogsEvent:{message:e.message,date:e.startClocks.timeStamp,error:{origin:je.AGENT},origin:je.AGENT,status:Qn.error}})},u=i=new et((function(){var e=it(document,[Ee.VISIBILITY_CHANGE,Ee.FREEZE,Ee.PAGE_HIDE],(function(e){e.type===Ee.VISIBILITY_CHANGE&&"hidden"===document.visibilityState?i.notify({reason:Vt.HIDDEN}):e.type===Ee.FREEZE&&i.notify({reason:Vt.FROZEN})}),{capture:!0}),t=ot(window,Ee.BEFORE_UNLOAD,(function(){i.notify({reason:Vt.UNLOADING})}));return function(){e.stop(),t.stop()}})),c=function(e){if(void 0===document.cookie||null===document.cookie)return!1;try{var t="dd_cookie_test_".concat(V()),n="test";return Ot(t,n,z,e),St(t)===n}catch(e){return!1}}(e.cookieOptions)?Zn(e):function(e){var t=Jn(e)===Yn.TRACKED?{}:void 0;return{findTrackedSession:function(){return t},expireObservable:new et}}(e);ir(e,s),ur(e,s),function(e,n){var r=rt(e.forwardConsoleLogs).subscribe((function(e){n.notify(gt.RAW_LOG_COLLECTED,{rawLogsEvent:{date:ne(),message:e.message,origin:je.CONSOLE,error:e.api===t.error?{origin:je.CONSOLE,stack:e.stack}:void 0,status:rr[e.api]}})}))}(e,s),function(e,t){var n=at(e.forwardReports).subscribe((function(e){var n,r,o,i=e.message,s=or[e.type];s===Qn.error?n={kind:e.subtype,origin:je.REPORT,stack:e.stack}:e.stack&&(i+=" Found in "+(r=e.stack,(o=/@ (.+)/.exec(r))&&o[1])),t.notify(gt.RAW_LOG_COLLECTED,{rawLogsEvent:{date:ne(),message:i,origin:je.REPORT,error:n,status:s}})}))}(e,s);var f=function(e){return{handleLog:function(t,r,o,i){var s=t.context;tr(t.status,Hn.console,r)&&n(t.status,t.message,L(r.getContext(),s)),e.notify(gt.RAW_LOG_COLLECTED,{rawLogsEvent:{date:i||ne(),message:t.message,status:t.status,origin:je.LOGGER},messageContext:s,savedCommonContext:o,logger:r})}}}(s);nr(c,e,s,r,o,a),cr(e,s,a,u,c.expireObservable);var l,d=(l=c,{get:function(e){var t=l.findTrackedSession(e);if(t)return{session:{id:t.id}}}});return{handleLog:f.handleLog,getInternalContext:d.get}}));var lr,dr,pr,vr;lr=l(),pr=fr,vr=lr[dr="DATAFLUX_LOGS"],lr[dr]=pr,vr&&vr.q&&S(vr.q,(function(e){c(e,"onReady callback threw an error:")()}))}();
|
package/cjs/boot/buildEnv.js
CHANGED
|
@@ -58,7 +58,7 @@ function makeLogsPublicApi(startLogsImpl) {
|
|
|
58
58
|
|
|
59
59
|
return (0, _browserCore.makePublicApi)({
|
|
60
60
|
logger: mainLogger,
|
|
61
|
-
init: function
|
|
61
|
+
init: (0, _browserCore.monitor)(function (initConfiguration) {
|
|
62
62
|
if (!canInitLogs(initConfiguration)) {
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
@@ -80,21 +80,21 @@ function makeLogsPublicApi(startLogsImpl) {
|
|
|
80
80
|
|
|
81
81
|
beforeInitLoggerLog.drain();
|
|
82
82
|
isAlreadyInitialized = true;
|
|
83
|
-
},
|
|
83
|
+
}),
|
|
84
84
|
|
|
85
85
|
/** @deprecated: use getGlobalContext instead */
|
|
86
|
-
getGlobalContext: globalContextManager.getContext,
|
|
86
|
+
getGlobalContext: (0, _browserCore.monitor)(globalContextManager.getContext),
|
|
87
87
|
|
|
88
88
|
/** @deprecated: use setGlobalContext instead */
|
|
89
|
-
setGlobalContext: globalContextManager.setContext,
|
|
89
|
+
setGlobalContext: (0, _browserCore.monitor)(globalContextManager.setContext),
|
|
90
90
|
|
|
91
91
|
/** @deprecated: use setGlobalContextProperty instead */
|
|
92
|
-
setGlobalContextProperty: globalContextManager.setContextProperty,
|
|
92
|
+
setGlobalContextProperty: (0, _browserCore.monitor)(globalContextManager.setContextProperty),
|
|
93
93
|
|
|
94
94
|
/** @deprecated: use removeGlobalContextProperty instead */
|
|
95
|
-
removeGlobalContextProperty: globalContextManager.removeContextProperty,
|
|
96
|
-
clearGlobalContext: globalContextManager.clearContext,
|
|
97
|
-
createLogger: function
|
|
95
|
+
removeGlobalContextProperty: (0, _browserCore.monitor)(globalContextManager.removeContextProperty),
|
|
96
|
+
clearGlobalContext: (0, _browserCore.monitor)(globalContextManager.clearContext),
|
|
97
|
+
createLogger: (0, _browserCore.monitor)(function (name, conf) {
|
|
98
98
|
if (typeof conf == 'undefined') {
|
|
99
99
|
conf = {};
|
|
100
100
|
}
|
|
@@ -103,24 +103,24 @@ function makeLogsPublicApi(startLogsImpl) {
|
|
|
103
103
|
return _handleLogStrategy(this.arguments);
|
|
104
104
|
}, name, conf.handler, conf.level, conf.context);
|
|
105
105
|
return customLoggers[name];
|
|
106
|
-
},
|
|
107
|
-
getLogger: function
|
|
106
|
+
}),
|
|
107
|
+
getLogger: (0, _browserCore.monitor)(function (name) {
|
|
108
108
|
return customLoggers[name];
|
|
109
|
-
},
|
|
110
|
-
getInitConfiguration: function
|
|
109
|
+
}),
|
|
110
|
+
getInitConfiguration: (0, _browserCore.monitor)(function () {
|
|
111
111
|
return getInitConfigurationStrategy();
|
|
112
|
-
},
|
|
113
|
-
getInternalContext: function
|
|
112
|
+
}),
|
|
113
|
+
getInternalContext: (0, _browserCore.monitor)(function (startTime) {
|
|
114
114
|
return getInternalContextStrategy(startTime);
|
|
115
|
-
},
|
|
116
|
-
setUser: function
|
|
115
|
+
}),
|
|
116
|
+
setUser: (0, _browserCore.monitor)(function (newUser) {
|
|
117
117
|
if ((0, _browserCore.checkUser)(newUser)) {
|
|
118
118
|
userContextManager.setContext((0, _browserCore.sanitizeUser)(newUser));
|
|
119
119
|
}
|
|
120
|
-
},
|
|
121
|
-
getUser: userContextManager.getContext,
|
|
122
|
-
removeUserProperty: userContextManager.removeContextProperty,
|
|
123
|
-
clearUser: userContextManager.clearContext
|
|
120
|
+
}),
|
|
121
|
+
getUser: (0, _browserCore.monitor)(userContextManager.getContext),
|
|
122
|
+
removeUserProperty: (0, _browserCore.monitor)(userContextManager.removeContextProperty),
|
|
123
|
+
clearUser: (0, _browserCore.monitor)(userContextManager.clearContext)
|
|
124
124
|
});
|
|
125
125
|
|
|
126
126
|
function canInitLogs(initConfiguration) {
|
package/cjs/domain/assembly.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getRUMInternalContext = getRUMInternalContext;
|
|
7
|
-
exports.resetRUMInternalContext = resetRUMInternalContext;
|
|
8
7
|
exports.startLogsAssembly = startLogsAssembly;
|
|
9
8
|
|
|
10
9
|
var _browserCore = require("@cloudcare/browser-core");
|
|
@@ -68,8 +67,4 @@ function getRUMInternalContext(startTime) {
|
|
|
68
67
|
return rumGlobal.getInternalContext(startTime);
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function resetRUMInternalContext() {
|
|
74
|
-
logsSentBeforeRumInjectionTelemetryAdded = false;
|
|
75
70
|
}
|
package/cjs/domain/logger.js
CHANGED
|
@@ -53,36 +53,68 @@ function Logger(handleLogStrategy, name, handlerType, level, loggerContext) {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
Logger.prototype = {
|
|
56
|
-
log: function
|
|
56
|
+
log: (0, _browserCore.monitor)(function (message, messageContext, status, error) {
|
|
57
57
|
if (typeof status === 'undefined') {
|
|
58
58
|
status = StatusType.info;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
+
var errorContext;
|
|
62
|
+
|
|
63
|
+
if (status === StatusType.error) {
|
|
64
|
+
// Always add origin if status is error (backward compatibility - Remove in next major)
|
|
65
|
+
errorContext = {
|
|
66
|
+
origin: _browserCore.ErrorSource.LOGGER
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (error !== undefined && error !== null) {
|
|
71
|
+
var stackTrace = error instanceof Error ? (0, _browserCore.computeStackTrace)(error) : undefined;
|
|
72
|
+
var rawError = (0, _browserCore.computeRawError)({
|
|
73
|
+
stackTrace: stackTrace,
|
|
74
|
+
originalError: error,
|
|
75
|
+
nonErrorPrefix: 'Provided',
|
|
76
|
+
source: _browserCore.ErrorSource.LOGGER,
|
|
77
|
+
handling: _browserCore.ErrorHandling.HANDLED,
|
|
78
|
+
startClocks: (0, _browserCore.clocksNow)()
|
|
79
|
+
});
|
|
80
|
+
errorContext = {
|
|
81
|
+
origin: _browserCore.ErrorSource.LOGGER,
|
|
82
|
+
// Remove in next major
|
|
83
|
+
stack: rawError.stack,
|
|
84
|
+
kind: rawError.type,
|
|
85
|
+
message: rawError.message
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
var sanitizedMessageContext = (0, _browserCore.sanitize)(messageContext);
|
|
90
|
+
var context = errorContext ? (0, _browserCore.extend2Lev)({
|
|
91
|
+
error: errorContext
|
|
92
|
+
}, sanitizedMessageContext) : sanitizedMessageContext;
|
|
61
93
|
this.handleLogStrategy({
|
|
62
94
|
message: message,
|
|
63
|
-
context:
|
|
95
|
+
context: context,
|
|
64
96
|
status: status
|
|
65
97
|
}, this);
|
|
98
|
+
}),
|
|
99
|
+
debug: function debug(message, messageContext, error) {
|
|
100
|
+
this.log(message, messageContext, StatusType.debug, error);
|
|
66
101
|
},
|
|
67
|
-
|
|
68
|
-
this.log(message, messageContext, StatusType.
|
|
69
|
-
},
|
|
70
|
-
info: function info(message, messageContext) {
|
|
71
|
-
this.log(message, messageContext, StatusType.info);
|
|
102
|
+
info: function info(message, messageContext, error) {
|
|
103
|
+
this.log(message, messageContext, StatusType.info, error);
|
|
72
104
|
},
|
|
73
|
-
warn: function warn(message, messageContext) {
|
|
74
|
-
this.log(message, messageContext, StatusType.warn);
|
|
105
|
+
warn: function warn(message, messageContext, error) {
|
|
106
|
+
this.log(message, messageContext, StatusType.warn, error);
|
|
75
107
|
},
|
|
76
|
-
critical: function critical(message, messageContext) {
|
|
77
|
-
this.log(message, messageContext, StatusType.critical);
|
|
108
|
+
critical: function critical(message, messageContext, error) {
|
|
109
|
+
this.log(message, messageContext, StatusType.critical, error);
|
|
78
110
|
},
|
|
79
|
-
error: function error(message, messageContext) {
|
|
111
|
+
error: function error(message, messageContext, _error) {
|
|
80
112
|
var errorOrigin = {
|
|
81
113
|
error: {
|
|
82
114
|
origin: _browserCore.ErrorSource.LOGGER
|
|
83
115
|
}
|
|
84
116
|
};
|
|
85
|
-
this.log(message, (0, _browserCore.extend2Lev)(errorOrigin, messageContext), StatusType.error);
|
|
117
|
+
this.log(message, (0, _browserCore.extend2Lev)(errorOrigin, messageContext), StatusType.error, _error);
|
|
86
118
|
},
|
|
87
119
|
setContext: function setContext(context) {
|
|
88
120
|
this.contextManager.set(context);
|
|
@@ -128,11 +128,11 @@ function computeFetchResponseText(response, configuration, callback) {
|
|
|
128
128
|
// }
|
|
129
129
|
// response.body.getReader().cancel()
|
|
130
130
|
// })
|
|
131
|
-
clonedResponse.text().then(function (text) {
|
|
131
|
+
clonedResponse.text().then((0, _browserCore.monitor)(function (text) {
|
|
132
132
|
return callback(truncateResponseText(text, configuration));
|
|
133
|
-
}, function (error) {
|
|
133
|
+
}), (0, _browserCore.monitor)(function (error) {
|
|
134
134
|
return callback('Unable to retrieve response: ' + error);
|
|
135
|
-
});
|
|
135
|
+
}));
|
|
136
136
|
} else {
|
|
137
137
|
truncateResponseStream(clonedResponse.body, configuration.requestErrorResponseLengthLimit, function (error, responseText) {
|
|
138
138
|
if (error) {
|
package/esm/boot/buildEnv.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoundedBuffer, createContextManager, makePublicApi, CustomerDataType, display, deepClone, timeStampNow, checkUser, sanitizeUser } from '@cloudcare/browser-core';
|
|
1
|
+
import { BoundedBuffer, createContextManager, makePublicApi, CustomerDataType, display, deepClone, timeStampNow, checkUser, sanitizeUser, monitor } from '@cloudcare/browser-core';
|
|
2
2
|
import { validateAndBuildLogsConfiguration } from '../domain/configuration';
|
|
3
3
|
import { Logger } from '../domain/logger';
|
|
4
4
|
export function makeLogsPublicApi(startLogsImpl) {
|
|
@@ -48,7 +48,7 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
48
48
|
|
|
49
49
|
return makePublicApi({
|
|
50
50
|
logger: mainLogger,
|
|
51
|
-
init: function
|
|
51
|
+
init: monitor(function (initConfiguration) {
|
|
52
52
|
if (!canInitLogs(initConfiguration)) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
@@ -70,21 +70,21 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
70
70
|
|
|
71
71
|
beforeInitLoggerLog.drain();
|
|
72
72
|
isAlreadyInitialized = true;
|
|
73
|
-
},
|
|
73
|
+
}),
|
|
74
74
|
|
|
75
75
|
/** @deprecated: use getGlobalContext instead */
|
|
76
|
-
getGlobalContext: globalContextManager.getContext,
|
|
76
|
+
getGlobalContext: monitor(globalContextManager.getContext),
|
|
77
77
|
|
|
78
78
|
/** @deprecated: use setGlobalContext instead */
|
|
79
|
-
setGlobalContext: globalContextManager.setContext,
|
|
79
|
+
setGlobalContext: monitor(globalContextManager.setContext),
|
|
80
80
|
|
|
81
81
|
/** @deprecated: use setGlobalContextProperty instead */
|
|
82
|
-
setGlobalContextProperty: globalContextManager.setContextProperty,
|
|
82
|
+
setGlobalContextProperty: monitor(globalContextManager.setContextProperty),
|
|
83
83
|
|
|
84
84
|
/** @deprecated: use removeGlobalContextProperty instead */
|
|
85
|
-
removeGlobalContextProperty: globalContextManager.removeContextProperty,
|
|
86
|
-
clearGlobalContext: globalContextManager.clearContext,
|
|
87
|
-
createLogger: function
|
|
85
|
+
removeGlobalContextProperty: monitor(globalContextManager.removeContextProperty),
|
|
86
|
+
clearGlobalContext: monitor(globalContextManager.clearContext),
|
|
87
|
+
createLogger: monitor(function (name, conf) {
|
|
88
88
|
if (typeof conf == 'undefined') {
|
|
89
89
|
conf = {};
|
|
90
90
|
}
|
|
@@ -93,24 +93,24 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
93
93
|
return _handleLogStrategy(this.arguments);
|
|
94
94
|
}, name, conf.handler, conf.level, conf.context);
|
|
95
95
|
return customLoggers[name];
|
|
96
|
-
},
|
|
97
|
-
getLogger: function
|
|
96
|
+
}),
|
|
97
|
+
getLogger: monitor(function (name) {
|
|
98
98
|
return customLoggers[name];
|
|
99
|
-
},
|
|
100
|
-
getInitConfiguration: function
|
|
99
|
+
}),
|
|
100
|
+
getInitConfiguration: monitor(function () {
|
|
101
101
|
return getInitConfigurationStrategy();
|
|
102
|
-
},
|
|
103
|
-
getInternalContext: function
|
|
102
|
+
}),
|
|
103
|
+
getInternalContext: monitor(function (startTime) {
|
|
104
104
|
return getInternalContextStrategy(startTime);
|
|
105
|
-
},
|
|
106
|
-
setUser: function
|
|
105
|
+
}),
|
|
106
|
+
setUser: monitor(function (newUser) {
|
|
107
107
|
if (checkUser(newUser)) {
|
|
108
108
|
userContextManager.setContext(sanitizeUser(newUser));
|
|
109
109
|
}
|
|
110
|
-
},
|
|
111
|
-
getUser: userContextManager.getContext,
|
|
112
|
-
removeUserProperty: userContextManager.removeContextProperty,
|
|
113
|
-
clearUser: userContextManager.clearContext
|
|
110
|
+
}),
|
|
111
|
+
getUser: monitor(userContextManager.getContext),
|
|
112
|
+
removeUserProperty: monitor(userContextManager.removeContextProperty),
|
|
113
|
+
clearUser: monitor(userContextManager.clearContext)
|
|
114
114
|
});
|
|
115
115
|
|
|
116
116
|
function canInitLogs(initConfiguration) {
|
package/esm/domain/assembly.js
CHANGED
package/esm/domain/logger.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assign, extend2Lev, createContextManager, ErrorSource, keys, CustomerDataType, sanitize, computeStackTrace, computeRawError, clocksNow, ErrorHandling, monitor } from '@cloudcare/browser-core';
|
|
2
2
|
export var StatusType = {
|
|
3
3
|
debug: 'debug',
|
|
4
4
|
error: 'error',
|
|
@@ -38,36 +38,68 @@ export function Logger(handleLogStrategy, name, handlerType, level, loggerContex
|
|
|
38
38
|
} : undefined));
|
|
39
39
|
}
|
|
40
40
|
Logger.prototype = {
|
|
41
|
-
log: function
|
|
41
|
+
log: monitor(function (message, messageContext, status, error) {
|
|
42
42
|
if (typeof status === 'undefined') {
|
|
43
43
|
status = StatusType.info;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
var errorContext;
|
|
47
|
+
|
|
48
|
+
if (status === StatusType.error) {
|
|
49
|
+
// Always add origin if status is error (backward compatibility - Remove in next major)
|
|
50
|
+
errorContext = {
|
|
51
|
+
origin: ErrorSource.LOGGER
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (error !== undefined && error !== null) {
|
|
56
|
+
var stackTrace = error instanceof Error ? computeStackTrace(error) : undefined;
|
|
57
|
+
var rawError = computeRawError({
|
|
58
|
+
stackTrace: stackTrace,
|
|
59
|
+
originalError: error,
|
|
60
|
+
nonErrorPrefix: 'Provided',
|
|
61
|
+
source: ErrorSource.LOGGER,
|
|
62
|
+
handling: ErrorHandling.HANDLED,
|
|
63
|
+
startClocks: clocksNow()
|
|
64
|
+
});
|
|
65
|
+
errorContext = {
|
|
66
|
+
origin: ErrorSource.LOGGER,
|
|
67
|
+
// Remove in next major
|
|
68
|
+
stack: rawError.stack,
|
|
69
|
+
kind: rawError.type,
|
|
70
|
+
message: rawError.message
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
var sanitizedMessageContext = sanitize(messageContext);
|
|
75
|
+
var context = errorContext ? extend2Lev({
|
|
76
|
+
error: errorContext
|
|
77
|
+
}, sanitizedMessageContext) : sanitizedMessageContext;
|
|
46
78
|
this.handleLogStrategy({
|
|
47
79
|
message: message,
|
|
48
|
-
context:
|
|
80
|
+
context: context,
|
|
49
81
|
status: status
|
|
50
82
|
}, this);
|
|
83
|
+
}),
|
|
84
|
+
debug: function debug(message, messageContext, error) {
|
|
85
|
+
this.log(message, messageContext, StatusType.debug, error);
|
|
51
86
|
},
|
|
52
|
-
|
|
53
|
-
this.log(message, messageContext, StatusType.
|
|
54
|
-
},
|
|
55
|
-
info: function info(message, messageContext) {
|
|
56
|
-
this.log(message, messageContext, StatusType.info);
|
|
87
|
+
info: function info(message, messageContext, error) {
|
|
88
|
+
this.log(message, messageContext, StatusType.info, error);
|
|
57
89
|
},
|
|
58
|
-
warn: function warn(message, messageContext) {
|
|
59
|
-
this.log(message, messageContext, StatusType.warn);
|
|
90
|
+
warn: function warn(message, messageContext, error) {
|
|
91
|
+
this.log(message, messageContext, StatusType.warn, error);
|
|
60
92
|
},
|
|
61
|
-
critical: function critical(message, messageContext) {
|
|
62
|
-
this.log(message, messageContext, StatusType.critical);
|
|
93
|
+
critical: function critical(message, messageContext, error) {
|
|
94
|
+
this.log(message, messageContext, StatusType.critical, error);
|
|
63
95
|
},
|
|
64
|
-
error: function error(message, messageContext) {
|
|
96
|
+
error: function error(message, messageContext, _error) {
|
|
65
97
|
var errorOrigin = {
|
|
66
98
|
error: {
|
|
67
99
|
origin: ErrorSource.LOGGER
|
|
68
100
|
}
|
|
69
101
|
};
|
|
70
|
-
this.log(message, extend2Lev(errorOrigin, messageContext), StatusType.error);
|
|
102
|
+
this.log(message, extend2Lev(errorOrigin, messageContext), StatusType.error, _error);
|
|
71
103
|
},
|
|
72
104
|
setContext: function setContext(context) {
|
|
73
105
|
this.contextManager.set(context);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ErrorSource, initXhrObservable, RequestType, initFetchObservable, computeStackTrace, toStackTraceString, noop, each, LifeCycleEventType, getStatusGroup, urlParse, replaceNumberCharByPath, tryToClone, readBytesFromStream } from '@cloudcare/browser-core';
|
|
1
|
+
import { ErrorSource, initXhrObservable, RequestType, initFetchObservable, computeStackTrace, toStackTraceString, noop, each, LifeCycleEventType, getStatusGroup, urlParse, replaceNumberCharByPath, tryToClone, readBytesFromStream, monitor } from '@cloudcare/browser-core';
|
|
2
2
|
import { StatusType } from '../../logger';
|
|
3
3
|
export function startNetworkErrorCollection(configuration, lifeCycle) {
|
|
4
4
|
if (!configuration.forwardErrorsToLogs) {
|
|
@@ -113,11 +113,11 @@ export function computeFetchResponseText(response, configuration, callback) {
|
|
|
113
113
|
// }
|
|
114
114
|
// response.body.getReader().cancel()
|
|
115
115
|
// })
|
|
116
|
-
clonedResponse.text().then(function (text) {
|
|
116
|
+
clonedResponse.text().then(monitor(function (text) {
|
|
117
117
|
return callback(truncateResponseText(text, configuration));
|
|
118
|
-
}, function (error) {
|
|
118
|
+
}), monitor(function (error) {
|
|
119
119
|
return callback('Unable to retrieve response: ' + error);
|
|
120
|
-
});
|
|
120
|
+
}));
|
|
121
121
|
} else {
|
|
122
122
|
truncateResponseStream(clonedResponse.body, configuration.requestErrorResponseLengthLimit, function (error, responseText) {
|
|
123
123
|
if (error) {
|
package/package.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "@cloudcare/browser-logs",
|
|
3
3
|
"main": "cjs/index.js",
|
|
4
4
|
"module": "esm/index.js",
|
|
5
|
-
"version": "3.0.
|
|
5
|
+
"version": "3.0.29",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@cloudcare/browser-core": "
|
|
7
|
+
"@cloudcare/browser-core": "3.0.29"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"dev": "webpack serve --open --mode=development",
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"author": "dataflux",
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"description": "DataFlux RUM Web 端数据指标监控",
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "104fa066dfa70d87d54c3002bc6651c64d168478"
|
|
32
32
|
}
|
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
deepClone,
|
|
8
8
|
timeStampNow,
|
|
9
9
|
checkUser,
|
|
10
|
-
sanitizeUser
|
|
10
|
+
sanitizeUser,
|
|
11
|
+
monitor
|
|
11
12
|
} from '@cloudcare/browser-core'
|
|
12
13
|
import { validateAndBuildLogsConfiguration } from '../domain/configuration'
|
|
13
14
|
import { Logger } from '../domain/logger'
|
|
@@ -65,7 +66,7 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
65
66
|
return makePublicApi({
|
|
66
67
|
logger: mainLogger,
|
|
67
68
|
|
|
68
|
-
init: function (initConfiguration) {
|
|
69
|
+
init: monitor(function (initConfiguration) {
|
|
69
70
|
if (!canInitLogs(initConfiguration)) {
|
|
70
71
|
return
|
|
71
72
|
}
|
|
@@ -87,23 +88,25 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
87
88
|
beforeInitLoggerLog.drain()
|
|
88
89
|
|
|
89
90
|
isAlreadyInitialized = true
|
|
90
|
-
},
|
|
91
|
+
}),
|
|
91
92
|
|
|
92
93
|
/** @deprecated: use getGlobalContext instead */
|
|
93
|
-
getGlobalContext: globalContextManager.getContext,
|
|
94
|
+
getGlobalContext: monitor(globalContextManager.getContext),
|
|
94
95
|
|
|
95
96
|
/** @deprecated: use setGlobalContext instead */
|
|
96
|
-
setGlobalContext: globalContextManager.setContext,
|
|
97
|
+
setGlobalContext: monitor(globalContextManager.setContext),
|
|
97
98
|
|
|
98
99
|
/** @deprecated: use setGlobalContextProperty instead */
|
|
99
|
-
setGlobalContextProperty: globalContextManager.setContextProperty,
|
|
100
|
+
setGlobalContextProperty: monitor(globalContextManager.setContextProperty),
|
|
100
101
|
|
|
101
102
|
/** @deprecated: use removeGlobalContextProperty instead */
|
|
102
|
-
removeGlobalContextProperty:
|
|
103
|
+
removeGlobalContextProperty: monitor(
|
|
104
|
+
globalContextManager.removeContextProperty
|
|
105
|
+
),
|
|
103
106
|
|
|
104
|
-
clearGlobalContext: globalContextManager.clearContext,
|
|
107
|
+
clearGlobalContext: monitor(globalContextManager.clearContext),
|
|
105
108
|
|
|
106
|
-
createLogger: function (name, conf) {
|
|
109
|
+
createLogger: monitor(function (name, conf) {
|
|
107
110
|
if (typeof conf == 'undefined') {
|
|
108
111
|
conf = {}
|
|
109
112
|
}
|
|
@@ -117,27 +120,27 @@ export function makeLogsPublicApi(startLogsImpl) {
|
|
|
117
120
|
conf.context
|
|
118
121
|
)
|
|
119
122
|
return customLoggers[name]
|
|
120
|
-
},
|
|
123
|
+
}),
|
|
121
124
|
|
|
122
|
-
getLogger: function (name) {
|
|
125
|
+
getLogger: monitor(function (name) {
|
|
123
126
|
return customLoggers[name]
|
|
124
|
-
},
|
|
127
|
+
}),
|
|
125
128
|
|
|
126
|
-
getInitConfiguration: function () {
|
|
129
|
+
getInitConfiguration: monitor(function () {
|
|
127
130
|
return getInitConfigurationStrategy()
|
|
128
|
-
},
|
|
131
|
+
}),
|
|
129
132
|
|
|
130
|
-
getInternalContext: function (startTime) {
|
|
133
|
+
getInternalContext: monitor(function (startTime) {
|
|
131
134
|
return getInternalContextStrategy(startTime)
|
|
132
|
-
},
|
|
133
|
-
setUser: function (newUser) {
|
|
135
|
+
}),
|
|
136
|
+
setUser: monitor(function (newUser) {
|
|
134
137
|
if (checkUser(newUser)) {
|
|
135
138
|
userContextManager.setContext(sanitizeUser(newUser))
|
|
136
139
|
}
|
|
137
|
-
},
|
|
138
|
-
getUser: userContextManager.getContext,
|
|
139
|
-
removeUserProperty: userContextManager.removeContextProperty,
|
|
140
|
-
clearUser: userContextManager.clearContext
|
|
140
|
+
}),
|
|
141
|
+
getUser: monitor(userContextManager.getContext),
|
|
142
|
+
removeUserProperty: monitor(userContextManager.removeContextProperty),
|
|
143
|
+
clearUser: monitor(userContextManager.clearContext)
|
|
141
144
|
})
|
|
142
145
|
|
|
143
146
|
function canInitLogs(initConfiguration) {
|
package/src/domain/assembly.js
CHANGED
package/src/domain/logger.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
deepClone,
|
|
3
2
|
assign,
|
|
4
3
|
extend2Lev,
|
|
5
4
|
createContextManager,
|
|
6
5
|
ErrorSource,
|
|
7
6
|
keys,
|
|
8
|
-
CustomerDataType
|
|
7
|
+
CustomerDataType,
|
|
8
|
+
sanitize,
|
|
9
|
+
computeStackTrace,
|
|
10
|
+
computeRawError,
|
|
11
|
+
clocksNow,
|
|
12
|
+
ErrorHandling,
|
|
13
|
+
monitor
|
|
9
14
|
} from '@cloudcare/browser-core'
|
|
10
15
|
|
|
11
16
|
export var StatusType = {
|
|
@@ -49,37 +54,73 @@ export function Logger(
|
|
|
49
54
|
)
|
|
50
55
|
}
|
|
51
56
|
Logger.prototype = {
|
|
52
|
-
log: function (message, messageContext, status) {
|
|
57
|
+
log: monitor(function (message, messageContext, status, error) {
|
|
53
58
|
if (typeof status === 'undefined') {
|
|
54
59
|
status = StatusType.info
|
|
55
60
|
}
|
|
61
|
+
var errorContext
|
|
62
|
+
if (status === StatusType.error) {
|
|
63
|
+
// Always add origin if status is error (backward compatibility - Remove in next major)
|
|
64
|
+
errorContext = { origin: ErrorSource.LOGGER }
|
|
65
|
+
}
|
|
66
|
+
if (error !== undefined && error !== null) {
|
|
67
|
+
var stackTrace =
|
|
68
|
+
error instanceof Error ? computeStackTrace(error) : undefined
|
|
69
|
+
var rawError = computeRawError({
|
|
70
|
+
stackTrace: stackTrace,
|
|
71
|
+
originalError: error,
|
|
72
|
+
nonErrorPrefix: 'Provided',
|
|
73
|
+
source: ErrorSource.LOGGER,
|
|
74
|
+
handling: ErrorHandling.HANDLED,
|
|
75
|
+
startClocks: clocksNow()
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
errorContext = {
|
|
79
|
+
origin: ErrorSource.LOGGER, // Remove in next major
|
|
80
|
+
stack: rawError.stack,
|
|
81
|
+
kind: rawError.type,
|
|
82
|
+
message: rawError.message
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
var sanitizedMessageContext = sanitize(messageContext)
|
|
87
|
+
|
|
88
|
+
var context = errorContext
|
|
89
|
+
? extend2Lev({ error: errorContext }, sanitizedMessageContext)
|
|
90
|
+
: sanitizedMessageContext
|
|
91
|
+
|
|
56
92
|
this.handleLogStrategy(
|
|
57
|
-
{ message: message, context:
|
|
93
|
+
{ message: message, context: context, status: status },
|
|
58
94
|
this
|
|
59
95
|
)
|
|
60
|
-
},
|
|
96
|
+
}),
|
|
61
97
|
|
|
62
|
-
debug: function (message, messageContext) {
|
|
63
|
-
this.log(message, messageContext, StatusType.debug)
|
|
98
|
+
debug: function (message, messageContext, error) {
|
|
99
|
+
this.log(message, messageContext, StatusType.debug, error)
|
|
64
100
|
},
|
|
65
101
|
|
|
66
|
-
info: function (message, messageContext) {
|
|
67
|
-
this.log(message, messageContext, StatusType.info)
|
|
102
|
+
info: function (message, messageContext, error) {
|
|
103
|
+
this.log(message, messageContext, StatusType.info, error)
|
|
68
104
|
},
|
|
69
105
|
|
|
70
|
-
warn: function (message, messageContext) {
|
|
71
|
-
this.log(message, messageContext, StatusType.warn)
|
|
106
|
+
warn: function (message, messageContext, error) {
|
|
107
|
+
this.log(message, messageContext, StatusType.warn, error)
|
|
72
108
|
},
|
|
73
|
-
critical: function (message, messageContext) {
|
|
74
|
-
this.log(message, messageContext, StatusType.critical)
|
|
109
|
+
critical: function (message, messageContext, error) {
|
|
110
|
+
this.log(message, messageContext, StatusType.critical, error)
|
|
75
111
|
},
|
|
76
|
-
error: function (message, messageContext) {
|
|
112
|
+
error: function (message, messageContext, error) {
|
|
77
113
|
var errorOrigin = {
|
|
78
114
|
error: {
|
|
79
115
|
origin: ErrorSource.LOGGER
|
|
80
116
|
}
|
|
81
117
|
}
|
|
82
|
-
this.log(
|
|
118
|
+
this.log(
|
|
119
|
+
message,
|
|
120
|
+
extend2Lev(errorOrigin, messageContext),
|
|
121
|
+
StatusType.error,
|
|
122
|
+
error
|
|
123
|
+
)
|
|
83
124
|
},
|
|
84
125
|
|
|
85
126
|
setContext: function (context) {
|
|
@@ -12,7 +12,8 @@ import {
|
|
|
12
12
|
urlParse,
|
|
13
13
|
replaceNumberCharByPath,
|
|
14
14
|
tryToClone,
|
|
15
|
-
readBytesFromStream
|
|
15
|
+
readBytesFromStream,
|
|
16
|
+
monitor
|
|
16
17
|
} from '@cloudcare/browser-core'
|
|
17
18
|
import { StatusType } from '../../logger'
|
|
18
19
|
|
|
@@ -151,12 +152,12 @@ export function computeFetchResponseText(response, configuration, callback) {
|
|
|
151
152
|
// response.body.getReader().cancel()
|
|
152
153
|
// })
|
|
153
154
|
clonedResponse.text().then(
|
|
154
|
-
function (text) {
|
|
155
|
+
monitor(function (text) {
|
|
155
156
|
return callback(truncateResponseText(text, configuration))
|
|
156
|
-
},
|
|
157
|
-
function (error) {
|
|
157
|
+
}),
|
|
158
|
+
monitor(function (error) {
|
|
158
159
|
return callback('Unable to retrieve response: ' + error)
|
|
159
|
-
}
|
|
160
|
+
})
|
|
160
161
|
)
|
|
161
162
|
} else {
|
|
162
163
|
truncateResponseStream(
|