1import{b1 as A,b2 as F,ar as M,k as x,n as R,a0 as y,$ as w,ay as o,h as p,F as g}from"./Cd_nNH93.js";import{a as z,f as G,w as J}from"./wqCqS1GI.js";import{l as W}from"./B11XnUXy.js";import{A as v}from"./DSGWNljW.js";import{O as D}from"./fQJp7kNU.js";import{N as k,I as c,h as C,i as E,j as P,k as N,l as O,P as S,m as V,n as K}from"./Cc8XaAEn.js";import{c as q,g as B,b as n,n as f,a as b}from"./CUOmVqHz.js";import{n as U}from"./CHjjxeJZ.js";import"./K8mPX5Ll.js";import"./Wo4AIfge.js";import"./BguSgUCX.js";import"./DpWrbLnI.js";let Q=0;class H{belType;children=[];start;end;callbackEnd=0;callbackDuration=0;nodeId=++Q;addChild(t){this.children.push(t)}serialize(){}}class X extends H{constructor(t,e){super(),this.belType=k.AJAX,this.method=t.method,this.status=t.status,this.domain=t.domain,this.path=t.path,this.txSize=t.requestSize,this.rxSize=t.responseSize,this.requestedWith=t.type==="fetch"?1:"",this.spanId=t.spanId,this.traceId=t.traceId,this.spanTimestamp=t.spanTimestamp,this.gql=t.gql,this.targetAttributes=t.targetAttributes,this[A]=t[A],this.requestBody=t.requestBody,this.requestHeaders=t.requestHeaders,this.requestQuery=t.requestQuery,this.responseBody=t.responseBody,this.responseHeaders=t.responseHeaders,this.start=t.startTime,this.end=t.endTime,e?.latestLongtaskEnd?(this.callbackEnd=Math.max(e.latestLongtaskEnd,this.end),this.callbackDuration=this.callbackEnd-this.end):this.callbackEnd=this.end}serialize(t,e,i){const{addString:s,addStringRaw:r,addStringWithTruncation:a}=q(B,i),h=[],u=[n(this.belType),0,n(this.start-t),n(this.end-this.start),n(this.callbackEnd-this.end),n(this.callbackDuration),r(this.method),n(this.status),s(this.domain),s(this.path),n(this.txSize),n(this.rxSize),this.requestedWith,r(this.nodeId),f(this.spanId,r,!0)+f(this.traceId,r,!0)+f(this.spanTimestamp,n)],l=b({...this.targetAttributes||{},...this.gql||{}},{addKey:r,addVal:s});l.push(...b({[A]:this[A]},{addKey:r,addVal:r}));const T=b({...this.requestBody?{requestBody:this.requestBody}:{},...this.requestHeaders?{requestHeaders:this.requestHeaders}:{},...this.requestQuery?{requestQuery:this.requestQuery}:{},...this.responseBody?{responseBody:this.responseBody}:{},...this.responseHeaders?{responseHeaders:this.responseHeaders}:{}},{addKey:r,addVal:a});let I=[...l,...T];return this.children.forEach(m=>I.push(m.serialize())),u[1]=n(I.length),h.push(u),I.length&&h.push(I.join(";")),h.join(";")}}class L extends H{id=F();initialPageURL=M;customName;customAttributes={};customDataByApi={};queueTime;appTime;newRoute;status=c.IP;domTimestamp=0;historyTimestamp=0;createdByApi=!1;keepOpenUntilEndApi=!1;onDone=[];customEnd=0;cancellationTimer;watchLongtaskTimer;constructor(t,e,i,s){super(),this.belType=k.INTERACTION,this.trigger=t,this.start=e,this.oldRoute=i,this.eventSubscription=new Map([["finished",[]],["cancelled",[]]]),this.forceSave=this.forceIgnore=!1,this.trigger===C&&(this.createdByApi=!0),this.newURL=this.oldURL=s||x?.location.href}updateHistory(t,e){this.domTimestamp>0||!e||e===this.oldURL||(this.newURL=e,this.historyTimestamp=t||R())}updateDom(t){!this.historyTimestamp||t<this.historyTimestamp||(this.domTimestamp=t||R())}checkHistoryAndDomChange(){return this.historyTimestamp>0&&this.domTimestamp>this.historyTimestamp?(this.status===c.PF||(this.status=c.PF,clearTimeout(this.cancellationTimer),this.watchLongtaskTimer??=setTimeout(()=>this.done(),E)),!0):!1}on(t,e){if(!this.eventSubscription.has(t))throw new Error("Cannot subscribe to non pre-defined events.");
1if(typeof e!="function")throw new Error("Must supply function as callback.");this.eventSubscription.get(t).push(e)}done(t=this.customEnd,e=!1){return this.keepOpenUntilEndApi&&!e?!1:(this.status===c.FIN||this.status===c.CAN||(clearTimeout(this.cancellationTimer),clearTimeout(this.watchLongtaskTimer),this.onDone.forEach(i=>i(this.customDataByApi)),this.forceIgnore?this.#e():this.status===c.PF?this.#t(t):this.forceSave?this.#t(t||performance.now()):this.#e()),!0)}#t(t){this.end=Math.max(this.domTimestamp,this.historyTimestamp,t),this.status=c.FIN,this.eventSubscription.get("finished").forEach(i=>i())}#e(){this.status=c.CAN,this.eventSubscription.get("cancelled").forEach(e=>e())}isActiveDuring(t){return this.status===c.IP||this.status===c.PF?this.start<=t:this.status===c.FIN&&this.start<=t&&t<this.end}get firstPaint(){}get firstContentfulPaint(){}get navTiming(){}serialize(t,e,i,s){const r=t===void 0,{addString:a,addStringRaw:h}=q(B,i),u=[];let l;this.trigger===P?l=N.INITIAL_PAGE_LOAD:this.newURL!==this.oldURL?l=N.ROUTE_CHANGE:l=N.UNSPECIFIED;const T=[n(this.belType),0,n(this.start-(r?0:t)),n(this.end-this.start),n(0),n(0),h(this.trigger),a(y(this.initialPageURL,!0)),a(y(this.oldURL,!0)),a(y(this.newURL,!0)),a(this.customName),l,f(this.queueTime,n,!0)+f(this.appTime,n,!0)+f(this.oldRoute,a,!0)+f(this.newRoute,a,!0)+h(this.id),h(this.nodeId),f(this.firstPaint,n,!0)+f(this.firstContentfulPaint,n)],I={...e.info.jsAttributes,...this.customAttributes},m=b(I||{},{addKey:h,addVal:a});return e.info.atts&&m.push("a,"+a(e.info.atts)),this.children.forEach(_=>m.push(_.serialize(r?this.start:t,e,s))),T[1]=n(m.length),u.push(T),m.length&&u.push(m.join(";")),this.navTiming?u.push(this.navTiming):u.push(""),u.join(";")}}class Y extends L{constructor(t){super(P,0,null),this.queueTime=t.info.queueTime,this.appTime=t.info.applicationTime,this.oldURL=document.referrer||void 0}get firstPaint(){return z.current.value}get firstContentfulPaint(){return G.current.value}get navTiming(){if(!U.length)return;let t=",",e="b",i=0;return U.slice(1,21).forEach(s=>{s!==void 0?(e+=t+n(s-i),t=",",i=s):(e+=t+"!",t="")}),e}}class ut extends v{static featureName=O;constructor(t,{domObserver:e}){super(t,O),super.customAttributesAreSeparate=!0,this.interactionObfuscator=new D(t,w.BI),this.ajaxObfuscator=new D(t,w.AJAX),this.interactionsToHarvest=this.events,this.domObserver=e,this.initialPageLoadInteraction=new Y(t),this.initialPageLoadInteraction.onDone.push(()=>{t.runtime.session?.isNew&&(this.initialPageLoadInteraction.customAttributes.isFirstOfSession=!0),this.initialPageLoadInteraction.customAttributes.webdriverDetected=J,this.initialPageLoadInteraction.forceSave=!0;const i=this.initialPageLoadInteraction;this.events.add(i)}),W.subscribe(({value:i})=>{this.initialPageLoadInteraction.done(i),this.reportSupportabilityMetric("SoftNav/Interaction/InitialPageLoad/Duration/Ms",Math.round(i))}),this.latestRouteSetByApi=null,this.interactionInProgress=null,this.latestHistoryUrl=window.location.href,this.harvestOpts.beforeUnload=()=>this.interactionInProgress?.done(),this.waitForFlags(["spa"]).then(([i])=>{i?this.drain():(this.blocked=!0,this.deregisterDrain())}),o("newUIEvent",i=>this.startUIInteraction(i.type,Math.floor(i.timeStamp),i.target),this.featureName,this.ee),o("newURL",(i,s)=>{this.latestHistoryUrl=s,this.interactionInProgress?.updateHistory(i,s)},this.featureName,this.ee),o("newDom",i=>{this.interactionInProgress?.updateDom(i),this.interactionInProgress?.checkHistoryAndDomChange()},this.featureName,this.ee),this.ee.on("long-task",i=>{this.interactionInProgress?.watchLongtaskTimer&&(clearTimeout(this.interactionInProgress.watchLongtaskTimer),this.interactionInProgress.customEnd=i.end,this.interactionInProgress.watchLongtaskTimer=setTimeout(()=>this.interactionInProgress.done(),E),this.reportSupportabilityMetric("SoftNav/Interaction/Extended"))}),this.#i(),o("ajax",this.#t.bind(this),this.featureName,this.ee),o("jserror",this.#e.bind(this),this.featureName,this.ee)}serializer(t){let e;const i=[];for(const s of t)i.push(s.serialize(e,this.agentRef,this.interactionObfuscator,this.ajaxObfuscator)),e===void 0&&(e=Math.floor(s.start));return"bel.7;".concat(i.join(";"))}
1startUIInteraction(t,e,i){if(this.interactionInProgress?.createdByApi||t===S&&this.interactionInProgress?.trigger!==S&&e-this.interactionInProgress?.start<=V||this.interactionInProgress?.done()===!1)return;const s=t===S?this.latestHistoryUrl:void 0;if(this.interactionInProgress=new L(t,e,this.latestRouteSetByApi,s),t===K[0]){const r=$(i);r&&(this.interactionInProgress.customAttributes.actionText=r)}this.interactionInProgress.cancellationTimer=setTimeout(()=>{this.interactionInProgress.done(),this.reportSupportabilityMetric("SoftNav/Interaction/TimeOut")},3e4),this.setClosureHandlers()}setClosureHandlers(){this.interactionInProgress.on("finished",()=>{const t=this.interactionInProgress;this.events.add(this.interactionInProgress),this.interactionInProgress=null,this.domObserver.disconnect(),this.reportSupportabilityMetric("SoftNav/Interaction/".concat(t.newURL!==t.oldURL?"RouteChange":"Custom","/Duration/Ms"),Math.round(t.end-t.start))}),this.interactionInProgress.on("cancelled",()=>{this.interactionInProgress=null,this.domObserver.disconnect()})}getInteractionFor(t){if(this.interactionInProgress?.isActiveDuring(t))return this.interactionInProgress;let e;const i=this.interactionsToHarvest.get();if(i){for(let s=i.length-1;s>=0;s--){const r=i[s];if(r.isActiveDuring(t)){if(r.trigger!==P)return r;e=r}}if(e)return e;if(this.initialPageLoadInteraction?.isActiveDuring(t))return this.initialPageLoadInteraction}}#t(t,e){const i=this.getInteractionFor(t.startTime);i?i.status===c.FIN?s.call(this,t,e,i):(i.on("finished",()=>s.call(this,t,e,i)),i.on("cancelled",()=>p("returnAjax",[t],void 0,g.ajax,this.ee))):p("returnAjax",[t],void 0,g.ajax,this.ee);function s(r,a,h){const u=h.end;if(r.startTime>u){p("returnAjax",[r],void 0,g.ajax,this.ee);return}const l=new X(r,a);h.addChild(l)}}#e(t){const e=t[3].time,i=this.getInteractionFor(e);if(!i)return p("returnJserror",[t],void 0,g.jserrors,this.ee);i.status===c.FIN?s.call(this,t,i):(i.on("finished",()=>s.call(this,t,i)),i.on("cancelled",()=>p("returnJserror",[t],void 0,g.jserrors,this.ee)));function s(r,a){const h=a.end;if(e>h)return p("returnJserror",[r],void 0,g.jserrors,this.ee);const u=r[2];u.browserInteractionId=a.id,p("returnJserror",[r,a.customAttributes],void 0,g.jserrors,this.ee)}}#i(){const t="api-ixn-",e=this;o(t+"get",function(i,{waitForEnd:s,targetPageLoad:r}={}){r?this.associatedInteraction=e.initialPageLoadInteraction:(this.associatedInteraction=e.getInteractionFor(i),this.associatedInteraction?.trigger===P&&(this.associatedInteraction=null),this.associatedInteraction||(this.associatedInteraction=e.interactionInProgress=new L(C,Math.floor(i),e.latestRouteSetByApi),e.domObserver.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}),e.setClosureHandlers())),s===!0&&(this.associatedInteraction.keepOpenUntilEndApi=!0,clearTimeout(this.associatedInteraction.cancellationTimer))},e.featureName,e.ee),o(t+"end",function(i){this.associatedInteraction.done(i,!0)},e.featureName,e.ee),o(t+"save",function(){this.associatedInteraction.forceSave=!0},e.featureName,e.ee),o(t+"ignore",function(){this.associatedInteraction.forceIgnore=!0},e.featureName,e.ee),o(t+"getContext",function(i,s){typeof s=="function"&&setTimeout(()=>s(this.associatedInteraction.customDataByApi),0)},e.featureName,e.ee),o(t+"onEnd",function(i,s){typeof s=="function"&&this.associatedInteraction.onDone.push(s)},e.featureName,e.ee),o(t+"actionText",function(i,s){s&&(this.associatedInteraction.customAttributes.actionText=s)},e.featureName,e.ee),o(t+"setName",function(i,s,r){s&&(this.associatedInteraction.customName=s),r&&(this.associatedInteraction.trigger=r)},e.featureName,e.ee),o(t+"setAttribute",function(i,s,r){this.associatedInteraction.customAttributes[s]=r},e.featureName,e.ee),o(t+"routeName",function(i,s){e.latestRouteSetByApi=s,e.interactionInProgress&&(e.interactionInProgress.newRoute=s)},e.featureName,e.ee)}}function $(d){const t=d.tagName?.toLowerCase();if(["a","button","input"].includes(t))return d.title||d.value||d.innerText}export{ut as Aggregate};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.