ghostplay-sdk 0.1.3 → 0.1.4
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/dist/index.global.js +1 -1
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.global.js
CHANGED
|
@@ -2,7 +2,7 @@ var GhostplaySDK=(function(exports){'use strict';var pt=(t=>typeof require<"u"?r
|
|
|
2
2
|
now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
|
|
3
3
|
or you can use record.mirror to access the mirror instance during recording.`,Vt={map:{},getId(){return console.error(ye),-1},getNode(){return console.error(ye),null},removeNodeFromMap(){console.error(ye);},has(){return console.error(ye),false},reset(){console.error(ye);}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Vt=new Proxy(Vt,{get(t,e,r){return e==="map"&&console.error(ye),Reflect.get(t,e,r)}}));function Se(t,e,r={}){let n=null,o=0;return function(...i){let a=Date.now();!o&&r.leading===false&&(o=a);let s=e-(a-o),c=this;s<=0||s>e?(n&&(clearTimeout(n),n=null),o=a,t.apply(c,i)):!n&&r.trailing!==false&&(n=setTimeout(()=>{o=r.leading===false?0:Date.now(),n=null,t.apply(c,i);},s));}}function me(t,e,r,n,o=window){let i=o.Object.getOwnPropertyDescriptor(t,e);return o.Object.defineProperty(t,e,n?r:{set(a){setTimeout(()=>{r.set.call(this,a);},0),i&&i.set&&i.set.call(this,a);}}),()=>me(t,e,i||{},true)}function ee(t,e,r){try{if(!(e in t))return ()=>{};let n=t[e],o=r(n);return typeof o=="function"&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:n}})),t[e]=o,()=>{t[e]=n;}}catch{return ()=>{}}}function De(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Fe(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function M(t,e,r,n){if(!t)return false;let o=t.nodeType===t.ELEMENT_NODE?t:t.parentElement;if(!o)return false;if(typeof e=="string"){if(o.classList.contains(e)||n&&o.closest("."+e)!==null)return true}else if(ke(o,e,n))return true;return !!(r&&(t.matches(r)||n&&o.closest(r)!==null))}function _t(t,e){return e.getId(t)!==-1}function Le(t,e){return e.getId(t)===pe}function yt(t,e){if(he(t))return false;let r=e.getId(t);return e.has(r)?t.parentNode&&t.parentNode.nodeType===t.DOCUMENT_NODE?false:t.parentNode?yt(t.parentNode,e):true:true}function St(t){return !!t.changedTouches}function Zt(t=window){"NodeList"in t&&!t.NodeList.prototype.forEach&&(t.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in t&&!t.DOMTokenList.prototype.forEach&&(t.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let r=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do if(this===r)return true;while(r=r&&r.parentNode);return false});}function Be(t,e){return !!(t.nodeName==="IFRAME"&&e.getMeta(t))}function Ge(t,e){return !!(t.nodeName==="LINK"&&t.nodeType===t.ELEMENT_NODE&&t.getAttribute&&t.getAttribute("rel")==="stylesheet"&&e.getMeta(t))}function We(t){return !!t?.shadowRoot}var Oe=class{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map;}getId(e){var r;return (r=this.styleIDMap.get(e))!==null&&r!==void 0?r:-1}has(e){return this.styleIDMap.has(e)}add(e,r){if(this.has(e))return this.getId(e);let n;return r===void 0?n=this.id++:n=r,this.styleIDMap.set(e,n),this.idStyleMap.set(n,e),n}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1;}generateId(){return this.id++}};var b=(t=>(t[t.DomContentLoaded=0]="DomContentLoaded",t[t.Load=1]="Load",t[t.FullSnapshot=2]="FullSnapshot",t[t.IncrementalSnapshot=3]="IncrementalSnapshot",t[t.Meta=4]="Meta",t[t.Custom=5]="Custom",t[t.Plugin=6]="Plugin",t))(b||{}),y=(t=>(t[t.Mutation=0]="Mutation",t[t.MouseMove=1]="MouseMove",t[t.MouseInteraction=2]="MouseInteraction",t[t.Scroll=3]="Scroll",t[t.ViewportResize=4]="ViewportResize",t[t.Input=5]="Input",t[t.TouchMove=6]="TouchMove",t[t.MediaInteraction=7]="MediaInteraction",t[t.StyleSheetRule=8]="StyleSheetRule",t[t.CanvasMutation=9]="CanvasMutation",t[t.Font=10]="Font",t[t.Log=11]="Log",t[t.Drag=12]="Drag",t[t.StyleDeclaration=13]="StyleDeclaration",t[t.Selection=14]="Selection",t[t.AdoptedStyleSheet=15]="AdoptedStyleSheet",t))(y||{}),Ue=(t=>(t[t.MouseUp=0]="MouseUp",t[t.MouseDown=1]="MouseDown",t[t.Click=2]="Click",t[t.ContextMenu=3]="ContextMenu",t[t.DblClick=4]="DblClick",t[t.Focus=5]="Focus",t[t.Blur=6]="Blur",t[t.TouchStart=7]="TouchStart",t[t.TouchMove_Departed=8]="TouchMove_Departed",t[t.TouchEnd=9]="TouchEnd",t[t.TouchCancel=10]="TouchCancel",t))(Ue||{}),se=(t=>(t[t["2D"]=0]="2D",t[t.WebGL=1]="WebGL",t[t.WebGL2=2]="WebGL2",t))(se||{});function Ht(t){return "__ln"in t}var bt=class{constructor(){this.length=0,this.head=null;}get(e){if(e>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let n=0;n<e;n++)r=r?.next||null;return r}addNode(e){let r={value:e,previous:null,next:null};if(e.__ln=r,e.previousSibling&&Ht(e.previousSibling)){let n=e.previousSibling.__ln.next;r.next=n,r.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=r,n&&(n.previous=r);}else if(e.nextSibling&&Ht(e.nextSibling)&&e.nextSibling.__ln.previous){let n=e.nextSibling.__ln.previous;r.previous=n,r.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=r,n&&(n.next=r);}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;this.length++;}removeNode(e){let r=e.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next&&(r.next.previous=r.previous)):(this.head=r.next,this.head&&(this.head.previous=null)),e.__ln&&delete e.__ln,this.length--);}},Pt=(t,e)=>`${t}@${e}`,Ve=class{constructor(){this.frozen=false,this.locked=false,this.texts=[],this.attributes=[],this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=e=>{e.forEach(this.processMutation),this.emit();},this.emit=()=>{if(this.frozen||this.locked)return;let e=[],r=new bt,n=s=>{let c=s,l=pe;for(;l===pe;)c=c&&c.nextSibling,l=c&&this.mirror.getId(c);return l},o=s=>{var c,l,d,u;let p=null;((l=(c=s.getRootNode)===null||c===void 0?void 0:c.call(s))===null||l===void 0?void 0:l.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&s.getRootNode().host&&(p=s.getRootNode().host);let h=p;for(;((u=(d=h?.getRootNode)===null||d===void 0?void 0:d.call(h))===null||u===void 0?void 0:u.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&h.getRootNode().host;)h=h.getRootNode().host;let f=!this.doc.contains(s)&&(!h||!this.doc.contains(h));if(!s.parentNode||f)return;let I=he(s.parentNode)?this.mirror.getId(p):this.mirror.getId(s.parentNode),S=n(s);if(I===-1||S===-1)return r.addNode(s);let C=ue(s,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:true,newlyAddedElement:true,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{Be(m,this.mirror)&&this.iframeManager.addIframe(m),Ge(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),We(s)&&this.shadowDomManager.addShadowRoot(s.shadowRoot,this.doc);},onIframeLoad:(m,g)=>{this.iframeManager.attachIframe(m,g),this.shadowDomManager.observeAttachShadow(m);},onStylesheetLoad:(m,g)=>{this.stylesheetManager.attachLinkElement(m,g);}});C&&e.push({parentId:I,nextId:S,node:C});};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let s of Array.from(this.movedSet.values()))zt(this.removes,s,this.mirror)&&!this.movedSet.has(s.parentNode)||o(s);for(let s of Array.from(this.addedSet.values()))!Kt(this.droppedSet,s)&&!zt(this.removes,s,this.mirror)||Kt(this.movedSet,s)?o(s):this.droppedSet.add(s);let i=null;for(;r.length;){let s=null;if(i){let c=this.mirror.getId(i.value.parentNode),l=n(i.value);c!==-1&&l!==-1&&(s=i);}if(!s)for(let c=r.length-1;c>=0;c--){let l=r.get(c);if(l){let d=this.mirror.getId(l.value.parentNode);if(n(l.value)===-1)continue;if(d!==-1){s=l;break}else {let p=l.value;if(p.parentNode&&p.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let h=p.parentNode.host;if(this.mirror.getId(h)!==-1){s=l;break}}}}}if(!s){for(;r.head;)r.removeNode(r.head.value);break}i=s.previous,r.removeNode(s.value),o(s.value);}let a={texts:this.texts.map(s=>({id:this.mirror.getId(s.node),value:s.value})).filter(s=>this.mirror.has(s.id)),attributes:this.attributes.map(s=>({id:this.mirror.getId(s.node),attributes:s.attributes})).filter(s=>this.mirror.has(s.id)),removes:this.removes,adds:e};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.adds.length||(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(a));},this.processMutation=e=>{if(!Le(e.target,this.mirror))switch(e.type){case "characterData":{let r=e.target.textContent;!M(e.target,this.blockClass,this.blockSelector,false)&&r!==e.oldValue&&this.texts.push({value:Ct(e.target,this.maskTextClass,this.maskTextSelector)&&r?this.maskTextFn?this.maskTextFn(r):r.replace(/[\S]/g,"*"):r,node:e.target});break}case "attributes":{let r=e.target,n=e.target.getAttribute(e.attributeName);if(e.attributeName==="value"&&(n=we({maskInputOptions:this.maskInputOptions,tagName:e.target.tagName,type:e.target.getAttribute("type"),value:n,maskInputFn:this.maskInputFn})),M(e.target,this.blockClass,this.blockSelector,false)||n===e.oldValue)return;let o=this.attributes.find(i=>i.node===e.target);if(r.tagName==="IFRAME"&&e.attributeName==="src"&&!this.keepIframeSrcFn(n))if(!r.contentDocument)e.attributeName="rr_src";else return;if(o||(o={node:e.target,attributes:{}},this.attributes.push(o)),e.attributeName==="style"){let i=this.doc.createElement("span");e.oldValue&&i.setAttribute("style",e.oldValue),(o.attributes.style===void 0||o.attributes.style===null)&&(o.attributes.style={});let a=o.attributes.style;for(let s of Array.from(r.style)){let c=r.style.getPropertyValue(s),l=r.style.getPropertyPriority(s);(c!==i.style.getPropertyValue(s)||l!==i.style.getPropertyPriority(s))&&(l===""?a[s]=c:a[s]=[c,l]);}for(let s of Array.from(i.style))r.style.getPropertyValue(s)===""&&(a[s]=false);}else o.attributes[e.attributeName]=vt(this.doc,r.tagName,e.attributeName,n);break}case "childList":{if(M(e.target,this.blockClass,this.blockSelector,true))return;e.addedNodes.forEach(r=>this.genAdds(r,e.target)),e.removedNodes.forEach(r=>{let n=this.mirror.getId(r),o=he(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);M(e.target,this.blockClass,this.blockSelector,false)||Le(r,this.mirror)||!_t(r,this.mirror)||(this.addedSet.has(r)?(At(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(e.target)&&n===-1||yt(e.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Pt(n,o)]?At(this.movedSet,r):this.removes.push({parentId:o,id:n,isShadow:he(e.target)&&fe(e.target)?true:void 0})),this.mapRemoves.push(r));});break}}},this.genAdds=(e,r)=>{if(this.mirror.hasNode(e)){if(Le(e,this.mirror))return;this.movedSet.add(e);let n=null;r&&this.mirror.hasNode(r)&&(n=this.mirror.getId(r)),n&&n!==-1&&(this.movedMap[Pt(this.mirror.getId(e),n)]=true);}else this.addedSet.add(e),this.droppedSet.delete(e);M(e,this.blockClass,this.blockSelector,false)||e.childNodes.forEach(n=>this.genAdds(n));};}init(e){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager"].forEach(r=>{this[r]=e[r];});}freeze(){this.frozen=true,this.canvasManager.freeze();}unfreeze(){this.frozen=false,this.canvasManager.unfreeze(),this.emit();}isFrozen(){return this.frozen}lock(){this.locked=true,this.canvasManager.lock();}unlock(){this.locked=false,this.canvasManager.unlock(),this.emit();}reset(){this.shadowDomManager.reset(),this.canvasManager.reset();}};function At(t,e){t.delete(e),e.childNodes.forEach(r=>At(t,r));}function zt(t,e,r){return t.length===0?false:Yt(t,e,r)}function Yt(t,e,r){let{parentNode:n}=e;if(!n)return false;let o=r.getId(n);return t.some(i=>i.id===o)?true:Yt(t,n,r)}function Kt(t,e){return t.size===0?false:jt(t,e)}function jt(t,e){let{parentNode:r}=e;return r?t.has(r)?true:jt(t,r):false}var de=[],qt=typeof CSSGroupingRule<"u",Xt=typeof CSSMediaRule<"u",$t=typeof CSSSupportsRule<"u",er=typeof CSSConditionRule<"u";function Ee(t){try{if("composedPath"in t){let e=t.composedPath();if(e.length)return e[0]}else if("path"in t&&t.path.length)return t.path[0];return t.target}catch{return t.target}}function kt(t,e){var r,n;let o=new Ve;de.push(o),o.init(t);let i=window.MutationObserver||window.__rrMutationObserver,a=(n=(r=window?.Zone)===null||r===void 0?void 0:r.__symbol__)===null||n===void 0?void 0:n.call(r,"MutationObserver");a&&window[a]&&(i=window[a]);let s=new i(o.processMutations.bind(o));return s.observe(e,{attributes:true,attributeOldValue:true,characterData:true,characterDataOldValue:true,childList:true,subtree:true}),s}function Pr({mousemoveCb:t,sampling:e,doc:r,mirror:n}){if(e.mousemove===false)return ()=>{};let o=typeof e.mousemove=="number"?e.mousemove:50,i=typeof e.mousemoveCallback=="number"?e.mousemoveCallback:500,a=[],s,c=Se(u=>{let p=Date.now()-s;t(a.map(h=>(h.timeOffset-=p,h)),u),a=[],s=null;},i),l=Se(u=>{let p=Ee(u),{clientX:h,clientY:f}=St(u)?u.changedTouches[0]:u;s||(s=Date.now()),a.push({x:h,y:f,id:n.getId(p),timeOffset:Date.now()-s}),c(typeof DragEvent<"u"&&u instanceof DragEvent?y.Drag:u instanceof MouseEvent?y.MouseMove:y.TouchMove);},o,{trailing:false}),d=[G("mousemove",l,r),G("touchmove",l,r),G("drag",l,r)];return ()=>{d.forEach(u=>u());}}function zr({mouseInteractionCb:t,doc:e,mirror:r,blockClass:n,blockSelector:o,sampling:i}){if(i.mouseInteraction===false)return ()=>{};let a=i.mouseInteraction===true||i.mouseInteraction===void 0?{}:i.mouseInteraction,s=[],c=l=>d=>{let u=Ee(d);if(M(u,n,o,true))return;let p=St(d)?d.changedTouches[0]:d;if(!p)return;let h=r.getId(u),{clientX:f,clientY:I}=p;t({type:Ue[l],id:h,x:f,y:I});};return Object.keys(Ue).filter(l=>Number.isNaN(Number(l))&&!l.endsWith("_Departed")&&a[l]!==false).forEach(l=>{let d=l.toLowerCase(),u=c(l);s.push(G(d,u,e));}),()=>{s.forEach(l=>l());}}function wt({scrollCb:t,doc:e,mirror:r,blockClass:n,blockSelector:o,sampling:i}){let a=Se(s=>{let c=Ee(s);if(!c||M(c,n,o,true))return;let l=r.getId(c);if(c===e){let d=e.scrollingElement||e.documentElement;t({id:l,x:d.scrollLeft,y:d.scrollTop});}else t({id:l,x:c.scrollLeft,y:c.scrollTop});},i.scroll||100);return G("scroll",a,e)}function Kr({viewportResizeCb:t}){let e=-1,r=-1,n=Se(()=>{let o=De(),i=Fe();(e!==o||r!==i)&&(t({width:Number(i),height:Number(o)}),e=o,r=i);},200);return G("resize",n,window)}function Jt(t,e){let r=Object.assign({},t);return e||delete r.userTriggered,r}var Yr=["INPUT","TEXTAREA","SELECT"],Qt=new WeakMap;function jr({inputCb:t,doc:e,mirror:r,blockClass:n,blockSelector:o,ignoreClass:i,maskInputOptions:a,maskInputFn:s,sampling:c,userTriggeredOnInput:l}){function d(C){let m=Ee(C),g=C.isTrusted;if(m&&m.tagName==="OPTION"&&(m=m.parentElement),!m||!m.tagName||Yr.indexOf(m.tagName)<0||M(m,n,o,true))return;let k=m.type;if(m.classList.contains(i))return;let W=m.value,L=false;k==="radio"||k==="checkbox"?L=m.checked:(a[m.tagName.toLowerCase()]||a[k])&&(W=we({maskInputOptions:a,tagName:m.tagName,type:k,value:W,maskInputFn:s})),u(m,Jt({text:W,isChecked:L,userTriggered:g},l));let B=m.name;k==="radio"&&B&&L&&e.querySelectorAll(`input[type="radio"][name="${B}"]`).forEach(w=>{w!==m&&u(w,Jt({text:w.value,isChecked:!L,userTriggered:false},l));});}function u(C,m){let g=Qt.get(C);if(!g||g.text!==m.text||g.isChecked!==m.isChecked){Qt.set(C,m);let k=r.getId(C);t(Object.assign(Object.assign({},m),{id:k}));}}let h=(c.input==="last"?["change"]:["input","change"]).map(C=>G(C,d,e)),f=e.defaultView;if(!f)return ()=>{h.forEach(C=>C());};let I=f.Object.getOwnPropertyDescriptor(f.HTMLInputElement.prototype,"value"),S=[[f.HTMLInputElement.prototype,"value"],[f.HTMLInputElement.prototype,"checked"],[f.HTMLSelectElement.prototype,"value"],[f.HTMLTextAreaElement.prototype,"value"],[f.HTMLSelectElement.prototype,"selectedIndex"],[f.HTMLOptionElement.prototype,"selected"]];return I&&I.set&&h.push(...S.map(C=>me(C[0],C[1],{set(){d({target:this});}},false,f))),()=>{h.forEach(C=>C());}}function _e(t){let e=[];function r(n,o){if(qt&&n.parentRule instanceof CSSGroupingRule||Xt&&n.parentRule instanceof CSSMediaRule||$t&&n.parentRule instanceof CSSSupportsRule||er&&n.parentRule instanceof CSSConditionRule){let a=Array.from(n.parentRule.cssRules).indexOf(n);o.unshift(a);}else if(n.parentStyleSheet){let a=Array.from(n.parentStyleSheet.cssRules).indexOf(n);o.unshift(a);}return o}return r(t,e)}function ce(t,e,r){let n,o;return t?(t.ownerNode?n=e.getId(t.ownerNode):o=r.getId(t),{styleId:o,id:n}):{}}function Jr({styleSheetRuleCb:t,mirror:e,stylesheetManager:r},{win:n}){let o=n.CSSStyleSheet.prototype.insertRule;n.CSSStyleSheet.prototype.insertRule=function(d,u){let{id:p,styleId:h}=ce(this,e,r.styleMirror);return (p&&p!==-1||h&&h!==-1)&&t({id:p,styleId:h,adds:[{rule:d,index:u}]}),o.apply(this,[d,u])};let i=n.CSSStyleSheet.prototype.deleteRule;n.CSSStyleSheet.prototype.deleteRule=function(d){let{id:u,styleId:p}=ce(this,e,r.styleMirror);return (u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,removes:[{index:d}]}),i.apply(this,[d])};let a;n.CSSStyleSheet.prototype.replace&&(a=n.CSSStyleSheet.prototype.replace,n.CSSStyleSheet.prototype.replace=function(d){let{id:u,styleId:p}=ce(this,e,r.styleMirror);return (u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,replace:d}),a.apply(this,[d])});let s;n.CSSStyleSheet.prototype.replaceSync&&(s=n.CSSStyleSheet.prototype.replaceSync,n.CSSStyleSheet.prototype.replaceSync=function(d){let{id:u,styleId:p}=ce(this,e,r.styleMirror);return (u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,replaceSync:d}),s.apply(this,[d])});let c={};qt?c.CSSGroupingRule=n.CSSGroupingRule:(Xt&&(c.CSSMediaRule=n.CSSMediaRule),er&&(c.CSSConditionRule=n.CSSConditionRule),$t&&(c.CSSSupportsRule=n.CSSSupportsRule));let l={};return Object.entries(c).forEach(([d,u])=>{l[d]={insertRule:u.prototype.insertRule,deleteRule:u.prototype.deleteRule},u.prototype.insertRule=function(p,h){let{id:f,styleId:I}=ce(this.parentStyleSheet,e,r.styleMirror);return (f&&f!==-1||I&&I!==-1)&&t({id:f,styleId:I,adds:[{rule:p,index:[..._e(this),h||0]}]}),l[d].insertRule.apply(this,[p,h])},u.prototype.deleteRule=function(p){let{id:h,styleId:f}=ce(this.parentStyleSheet,e,r.styleMirror);return (h&&h!==-1||f&&f!==-1)&&t({id:h,styleId:f,removes:[{index:[..._e(this),p]}]}),l[d].deleteRule.apply(this,[p])};}),()=>{n.CSSStyleSheet.prototype.insertRule=o,n.CSSStyleSheet.prototype.deleteRule=i,a&&(n.CSSStyleSheet.prototype.replace=a),s&&(n.CSSStyleSheet.prototype.replaceSync=s),Object.entries(c).forEach(([d,u])=>{u.prototype.insertRule=l[d].insertRule,u.prototype.deleteRule=l[d].deleteRule;});}}function Et({mirror:t,stylesheetManager:e},r){var n,o,i;let a=null;r.nodeName==="#document"?a=t.getId(r):a=t.getId(r.host);let s=r.nodeName==="#document"?(n=r.defaultView)===null||n===void 0?void 0:n.Document:(i=(o=r.ownerDocument)===null||o===void 0?void 0:o.defaultView)===null||i===void 0?void 0:i.ShadowRoot,c=Object.getOwnPropertyDescriptor(s?.prototype,"adoptedStyleSheets");return a===null||a===-1||!s||!c?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:c.configurable,enumerable:c.enumerable,get(){var l;return (l=c.get)===null||l===void 0?void 0:l.call(this)},set(l){var d;let u=(d=c.set)===null||d===void 0?void 0:d.call(this,l);if(a!==null&&a!==-1)try{e.adoptStyleSheets(l,a);}catch{}return u}}),()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:c.configurable,enumerable:c.enumerable,get:c.get,set:c.set});})}function Qr({styleDeclarationCb:t,mirror:e,ignoreCSSAttributes:r,stylesheetManager:n},{win:o}){let i=o.CSSStyleDeclaration.prototype.setProperty;o.CSSStyleDeclaration.prototype.setProperty=function(s,c,l){var d;if(r.has(s))return i.apply(this,[s,c,l]);let{id:u,styleId:p}=ce((d=this.parentRule)===null||d===void 0?void 0:d.parentStyleSheet,e,n.styleMirror);return (u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,set:{property:s,value:c,priority:l},index:_e(this.parentRule)}),i.apply(this,[s,c,l])};let a=o.CSSStyleDeclaration.prototype.removeProperty;return o.CSSStyleDeclaration.prototype.removeProperty=function(s){var c;if(r.has(s))return a.apply(this,[s]);let{id:l,styleId:d}=ce((c=this.parentRule)===null||c===void 0?void 0:c.parentStyleSheet,e,n.styleMirror);return (l&&l!==-1||d&&d!==-1)&&t({id:l,styleId:d,remove:{property:s},index:_e(this.parentRule)}),a.apply(this,[s])},()=>{o.CSSStyleDeclaration.prototype.setProperty=i,o.CSSStyleDeclaration.prototype.removeProperty=a;}}function qr({mediaInteractionCb:t,blockClass:e,blockSelector:r,mirror:n,sampling:o}){let i=s=>Se(c=>{let l=Ee(c);if(!l||M(l,e,r,true))return;let{currentTime:d,volume:u,muted:p,playbackRate:h}=l;t({type:s,id:n.getId(l),currentTime:d,volume:u,muted:p,playbackRate:h});},o.media||500),a=[G("play",i(0)),G("pause",i(1)),G("seeked",i(2)),G("volumechange",i(3)),G("ratechange",i(4))];return ()=>{a.forEach(s=>s());}}function Xr({fontCb:t,doc:e}){let r=e.defaultView;if(!r)return ()=>{};let n=[],o=new WeakMap,i=r.FontFace;r.FontFace=function(c,l,d){let u=new i(c,l,d);return o.set(u,{family:c,buffer:typeof l!="string",descriptors:d,fontSource:typeof l=="string"?l:JSON.stringify(Array.from(new Uint8Array(l)))}),u};let a=ee(e.fonts,"add",function(s){return function(c){return setTimeout(()=>{let l=o.get(c);l&&(t(l),o.delete(c));},0),s.apply(this,[c])}});return n.push(()=>{r.FontFace=i;}),n.push(a),()=>{n.forEach(s=>s());}}function $r(t){let{doc:e,mirror:r,blockClass:n,blockSelector:o,selectionCb:i}=t,a=true,s=()=>{let c=e.getSelection();if(!c||a&&c?.isCollapsed)return;a=c.isCollapsed||false;let l=[],d=c.rangeCount||0;for(let u=0;u<d;u++){let p=c.getRangeAt(u),{startContainer:h,startOffset:f,endContainer:I,endOffset:S}=p;M(h,n,o,true)||M(I,n,o,true)||l.push({start:r.getId(h),startOffset:f,end:r.getId(I),endOffset:S});}i({ranges:l});};return s(),G("selectionchange",s)}function en(t,e){let{mutationCb:r,mousemoveCb:n,mouseInteractionCb:o,scrollCb:i,viewportResizeCb:a,inputCb:s,mediaInteractionCb:c,styleSheetRuleCb:l,styleDeclarationCb:d,canvasMutationCb:u,fontCb:p,selectionCb:h}=t;t.mutationCb=(...f)=>{e.mutation&&e.mutation(...f),r(...f);},t.mousemoveCb=(...f)=>{e.mousemove&&e.mousemove(...f),n(...f);},t.mouseInteractionCb=(...f)=>{e.mouseInteraction&&e.mouseInteraction(...f),o(...f);},t.scrollCb=(...f)=>{e.scroll&&e.scroll(...f),i(...f);},t.viewportResizeCb=(...f)=>{e.viewportResize&&e.viewportResize(...f),a(...f);},t.inputCb=(...f)=>{e.input&&e.input(...f),s(...f);},t.mediaInteractionCb=(...f)=>{e.mediaInteaction&&e.mediaInteaction(...f),c(...f);},t.styleSheetRuleCb=(...f)=>{e.styleSheetRule&&e.styleSheetRule(...f),l(...f);},t.styleDeclarationCb=(...f)=>{e.styleDeclaration&&e.styleDeclaration(...f),d(...f);},t.canvasMutationCb=(...f)=>{e.canvasMutation&&e.canvasMutation(...f),u(...f);},t.fontCb=(...f)=>{e.font&&e.font(...f),p(...f);},t.selectionCb=(...f)=>{e.selection&&e.selection(...f),h(...f);};}function tr(t,e={}){let r=t.doc.defaultView;if(!r)return ()=>{};en(t,e);let n=kt(t,t.doc),o=Pr(t),i=zr(t),a=wt(t),s=Kr(t),c=jr(t),l=qr(t),d=Jr(t,{win:r}),u=Et(t,t.doc),p=Qr(t,{win:r}),h=t.collectFonts?Xr(t):()=>{},f=$r(t),I=[];for(let S of t.plugins)I.push(S.observer(S.callback,r,S.options));return ()=>{de.forEach(S=>S.reset()),n.disconnect(),o(),i(),a(),s(),c(),l(),d(),u(),p(),h(),f(),I.forEach(S=>S());}}var Te=class{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;}getId(e,r,n,o){let i=n||this.getIdToRemoteIdMap(e),a=o||this.getRemoteIdToIdMap(e),s=i.get(r);return s||(s=this.generateIdFn(),i.set(r,s),a.set(s,r)),s}getIds(e,r){let n=this.getIdToRemoteIdMap(e),o=this.getRemoteIdToIdMap(e);return r.map(i=>this.getId(e,i,n,o))}getRemoteId(e,r,n){let o=n||this.getRemoteIdToIdMap(e);if(typeof r!="number")return r;let i=o.get(r);return i||-1}getRemoteIds(e,r){let n=this.getRemoteIdToIdMap(e);return r.map(o=>this.getRemoteId(e,o,n))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e);}getIdToRemoteIdMap(e){let r=this.iframeIdToRemoteIdMap.get(e);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(e,r)),r}getRemoteIdToIdMap(e){let r=this.iframeRemoteIdToIdMap.get(e);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(e,r)),r}};var Ze=class{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new Te(gt),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Te(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this));}addIframe(e){this.iframes.set(e,true),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e);}addLoadListener(e){this.loadListener=e;}attachIframe(e,r){var n;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:true}),(n=this.loadListener)===null||n===void 0||n.call(this,e),e.contentDocument&&e.contentDocument.adoptedStyleSheets&&e.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets,this.mirror.getId(e.contentDocument));}handleMessage(e){if(e.data.type==="rrweb"){if(!e.source)return;let n=this.crossOriginIframeMap.get(e.source);if(!n)return;let o=this.transformCrossOriginEvent(n,e.data.event);o&&this.wrappedEmit(o,e.data.isCheckout);}}transformCrossOriginEvent(e,r){var n;switch(r.type){case b.FullSnapshot:return this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(r.data.node,e),{timestamp:r.timestamp,type:b.IncrementalSnapshot,data:{source:y.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:true}};case b.Meta:case b.Load:case b.DomContentLoaded:return false;case b.Plugin:return r;case b.Custom:return this.replaceIds(r.data.payload,e,["id","parentId","previousId","nextId"]),r;case b.IncrementalSnapshot:switch(r.data.source){case y.Mutation:return r.data.adds.forEach(o=>{this.replaceIds(o,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(o.node,e);}),r.data.removes.forEach(o=>{this.replaceIds(o,e,["parentId","id"]);}),r.data.attributes.forEach(o=>{this.replaceIds(o,e,["id"]);}),r.data.texts.forEach(o=>{this.replaceIds(o,e,["id"]);}),r;case y.Drag:case y.TouchMove:case y.MouseMove:return r.data.positions.forEach(o=>{this.replaceIds(o,e,["id"]);}),r;case y.ViewportResize:return false;case y.MediaInteraction:case y.MouseInteraction:case y.Scroll:case y.CanvasMutation:case y.Input:return this.replaceIds(r.data,e,["id"]),r;case y.StyleSheetRule:case y.StyleDeclaration:return this.replaceIds(r.data,e,["id"]),this.replaceStyleIds(r.data,e,["styleId"]),r;case y.Font:return r;case y.Selection:return r.data.ranges.forEach(o=>{this.replaceIds(o,e,["start","end"]);}),r;case y.AdoptedStyleSheet:return this.replaceIds(r.data,e,["id"]),this.replaceStyleIds(r.data,e,["styleIds"]),(n=r.data.styles)===null||n===void 0||n.forEach(o=>{this.replaceStyleIds(o,e,["styleId"]);}),r}}}replace(e,r,n,o){for(let i of o)!Array.isArray(r[i])&&typeof r[i]!="number"||(Array.isArray(r[i])?r[i]=e.getIds(n,r[i]):r[i]=e.getId(n,r[i]));return r}replaceIds(e,r,n){return this.replace(this.crossOriginIframeMirror,e,r,n)}replaceStyleIds(e,r,n){return this.replace(this.crossOriginIframeStyleMirror,e,r,n)}replaceIdOnNode(e,r){this.replaceIds(e,r,["id"]),"childNodes"in e&&e.childNodes.forEach(n=>{this.replaceIdOnNode(n,r);});}};var He=class{constructor(e){this.shadowDoms=new WeakSet,this.restorePatches=[],this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror;let r=this;this.restorePatches.push(ee(Element.prototype,"attachShadow",function(n){return function(o){let i=n.call(this,o);return this.shadowRoot&&r.addShadowRoot(this.shadowRoot,this.ownerDocument),i}}));}addShadowRoot(e,r){fe(e)&&(this.shadowDoms.has(e)||(this.shadowDoms.add(e),kt(Object.assign(Object.assign({},this.bypassOptions),{doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e),wt(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:e,mirror:this.mirror})),setTimeout(()=>{e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets,this.mirror.getId(e.host)),Et({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e);},0)));}observeAttachShadow(e){if(e.contentWindow){let r=this;this.restorePatches.push(ee(e.contentWindow.HTMLElement.prototype,"attachShadow",function(n){return function(o){let i=n.call(this,o);return this.shadowRoot&&r.addShadowRoot(this.shadowRoot,e.contentDocument),i}}));}}reset(){this.restorePatches.forEach(e=>e()),this.shadowDoms=new WeakSet;}};function rr(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]]);return r}function nr(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i);})}return new(r||(r=Promise))(function(i,a){function s(d){try{l(n.next(d));}catch(u){a(u);}}function c(d){try{l(n.throw(d));}catch(u){a(u);}}function l(d){d.done?i(d.value):o(d.value).then(s,c);}l((n=n.apply(t,[])).next());})}var be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tn=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(Me=0;Me<be.length;Me++)tn[be.charCodeAt(Me)]=Me;var Me,or=function(t){var e=new Uint8Array(t),r,n=e.length,o="";for(r=0;r<n;r+=3)o+=be[e[r]>>2],o+=be[(e[r]&3)<<4|e[r+1]>>4],o+=be[(e[r+1]&15)<<2|e[r+2]>>6],o+=be[e[r+2]&63];return n%3===2?o=o.substring(0,o.length-1)+"=":n%3===1&&(o=o.substring(0,o.length-2)+"=="),o};var ir=new Map;function rn(t,e){let r=ir.get(t);return r||(r=new Map,ir.set(t,r)),r.has(e)||r.set(e,[]),r.get(e)}var Tt=(t,e,r)=>{if(!t||!(sr(t,e)||typeof t=="object"))return;let n=t.constructor.name,o=rn(r,n),i=o.indexOf(t);return i===-1&&(i=o.length,o.push(t)),i};function Pe(t,e,r){if(t instanceof Array)return t.map(n=>Pe(n,e,r));if(t===null)return t;if(t instanceof Float32Array||t instanceof Float64Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Int16Array||t instanceof Int8Array||t instanceof Uint8ClampedArray)return {rr_type:t.constructor.name,args:[Object.values(t)]};if(t instanceof ArrayBuffer){let n=t.constructor.name,o=or(t);return {rr_type:n,base64:o}}else {if(t instanceof DataView)return {rr_type:t.constructor.name,args:[Pe(t.buffer,e,r),t.byteOffset,t.byteLength]};if(t instanceof HTMLImageElement){let n=t.constructor.name,{src:o}=t;return {rr_type:n,src:o}}else if(t instanceof HTMLCanvasElement){let n="HTMLImageElement",o=t.toDataURL();return {rr_type:n,src:o}}else {if(t instanceof ImageData)return {rr_type:t.constructor.name,args:[Pe(t.data,e,r),t.width,t.height]};if(sr(t,e)||typeof t=="object"){let n=t.constructor.name,o=Tt(t,e,r);return {rr_type:n,index:o}}}}return t}var ze=(t,e,r)=>[...t].map(n=>Pe(n,e,r)),sr=(t,e)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(o=>typeof e[o]=="function").find(o=>t instanceof e[o]);function ar(t,e,r,n){let o=[],i=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(let a of i)try{if(typeof e.CanvasRenderingContext2D.prototype[a]!="function")continue;let s=ee(e.CanvasRenderingContext2D.prototype,a,function(c){return function(...l){return M(this.canvas,r,n,!0)||setTimeout(()=>{let d=ze([...l],e,this);t(this.canvas,{type:se["2D"],property:a,args:d});},0),c.apply(this,l)}});o.push(s);}catch{let c=me(e.CanvasRenderingContext2D.prototype,a,{set(l){t(this.canvas,{type:se["2D"],property:a,args:[l],setter:true});}});o.push(c);}return ()=>{o.forEach(a=>a());}}function Mt(t,e,r){let n=[];try{let o=ee(t.HTMLCanvasElement.prototype,"getContext",function(i){return function(a,...s){return M(this,e,r,!0)||"__context"in this||(this.__context=a),i.apply(this,[a,...s])}});n.push(o);}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext");}return ()=>{n.forEach(o=>o());}}function lr(t,e,r,n,o,i,a){let s=[],c=Object.getOwnPropertyNames(t);for(let l of c)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof t[l]!="function")continue;let d=ee(t,l,function(u){return function(...p){let h=u.apply(this,p);if(Tt(h,a,this),!M(this.canvas,n,o,!0)){let f=ze([...p],a,this),I={type:e,property:l,args:f};r(this.canvas,I);}return h}});s.push(d);}catch{let u=me(t,l,{set(p){r(this.canvas,{type:e,property:l,args:[p],setter:true});}});s.push(u);}return s}function cr(t,e,r,n,o){let i=[];return i.push(...lr(e.WebGLRenderingContext.prototype,se.WebGL,t,r,n,o,e)),typeof e.WebGL2RenderingContext<"u"&&i.push(...lr(e.WebGL2RenderingContext.prototype,se.WebGL2,t,r,n,o,e)),()=>{i.forEach(a=>a());}}var Rt=null;try{dr=typeof module<"u"&&typeof module.require=="function"&&module.require("worker_threads")||typeof __non_webpack_require__=="function"&&__non_webpack_require__("worker_threads")||typeof pt=="function"&&pt("worker_threads"),Rt=dr.Worker;}catch{}var dr;function nn(t,e){return Buffer.from(t,"base64").toString("utf8")}function ur(t,e,r){var i=nn(t),a=i.indexOf(`
|
|
4
4
|
`,10)+1,s=i.substring(a)+("");return function(l){return new Rt(s,Object.assign({},l,{eval:true}))}}function on(t,e){var r=atob(t);return r}function sn(t,e,r){var i=on(t),a=i.indexOf(`
|
|
5
|
-
`,10)+1,s=i.substring(a)+(""),c=new Blob([s],{type:"application/javascript"});return URL.createObjectURL(c)}function fr(t,e,r){var n;return function(i){return n=n||sn(t),new Worker(n,i)}}var an=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";function pr(){return an}function hr(t,e,r){return pr()?ur(t):fr(t)}var mr=hr("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=");var Ke=class{constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=false,this.locked=false,this.processMutation=(c,l)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(c)||this.pendingCanvasMutations.set(c,[]),this.pendingCanvasMutations.get(c).push(l);};let{sampling:r="all",win:n,blockClass:o,blockSelector:i,recordCanvas:a,dataURLOptions:s}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&r==="all"&&this.initCanvasMutationObserver(n,o,i),a&&typeof r=="number"&&this.initCanvasFPSObserver(r,n,o,i,{dataURLOptions:s});}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers();}freeze(){this.frozen=true;}unfreeze(){this.frozen=false;}lock(){this.locked=true;}unlock(){this.locked=false;}initCanvasFPSObserver(e,r,n,o,i){let a=Mt(r,n,o),s=new Map,c=new mr;c.onmessage=f=>{let{id:I}=f.data;if(s.set(I,false),!("base64"in f.data))return;let{base64:S,type:C,width:m,height:g}=f.data;this.mutationCb({id:I,type:se["2D"],commands:[{property:"clearRect",args:[0,0,m,g]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:S}],type:C}]},0,0]}]});};let l=1e3/e,d=0,u,p=()=>{let f=[];return r.document.querySelectorAll("canvas").forEach(I=>{M(I,n,o,true)||f.push(I);}),f},h=f=>{if(d&&f-d<l){u=requestAnimationFrame(h);return}d=f,p().forEach(I=>nr(this,void 0,void 0,function*(){var S;let C=this.mirror.getId(I);if(s.get(C))return;if(s.set(C,true),["webgl","webgl2"].includes(I.__context)){let g=I.getContext(I.__context);((S=g?.getContextAttributes())===null||S===void 0?void 0:S.preserveDrawingBuffer)===false&&g?.clear(g.COLOR_BUFFER_BIT);}let m=yield createImageBitmap(I);c.postMessage({id:C,bitmap:m,width:I.width,height:I.height,dataURLOptions:i.dataURLOptions},[m]);})),u=requestAnimationFrame(h);};u=requestAnimationFrame(h),this.resetObservers=()=>{a(),cancelAnimationFrame(u);};}initCanvasMutationObserver(e,r,n){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let o=Mt(e,r,n),i=ar(this.processMutation.bind(this),e,r,n),a=cr(this.processMutation.bind(this),e,r,n,this.mirror);this.resetObservers=()=>{o(),i(),a();};}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations());}startRAFTimestamping(){let e=r=>{this.rafStamps.latestId=r,requestAnimationFrame(e);};requestAnimationFrame(e);}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,r)=>{let n=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,n);}),requestAnimationFrame(()=>this.flushPendingCanvasMutations());}flushPendingCanvasMutationFor(e,r){if(this.frozen||this.locked)return;let n=this.pendingCanvasMutations.get(e);if(!n||r===-1)return;let o=n.map(a=>rr(a,["type"])),{type:i}=n[0];this.mutationCb({id:r,type:i,commands:o}),this.pendingCanvasMutations.delete(e);}};var Ye=class{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new Oe,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb;}attachLinkElement(e,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(e);}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e));}adoptStyleSheets(e,r){if(e.length===0)return;let n={id:r,styleIds:[]},o=[];for(let i of e){let a;if(this.styleMirror.has(i))a=this.styleMirror.getId(i);else {a=this.styleMirror.add(i);let s=Array.from(i.rules||CSSRule);o.push({styleId:a,rules:s.map((c,l)=>({rule:mt(c),index:l}))});}n.styleIds.push(a);}o.length>0&&(n.styles=o),this.adoptedStyleSheetCb(n);}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet;}trackStylesheetInLinkElement(e){}};function D(t){return Object.assign(Object.assign({},t),{timestamp:Date.now()})}var R,je,Nt,Je=false,te=Wt();function ge(t={}){let{emit:e,checkoutEveryNms:r,checkoutEveryNth:n,blockClass:o="rr-block",blockSelector:i=null,ignoreClass:a="rr-ignore",maskTextClass:s="rr-mask",maskTextSelector:c=null,inlineStylesheet:l=true,maskAllInputs:d,maskInputOptions:u,slimDOMOptions:p,maskInputFn:h,maskTextFn:f,hooks:I,packFn:S,sampling:C={},dataURLOptions:m={},mousemoveWait:g,recordCanvas:k=false,recordCrossOriginIframes:W=false,userTriggeredOnInput:L=false,collectFonts:B=false,inlineImages:w=false,plugins:P,keepIframeSrcFn:z=()=>false,ignoreCSSAttributes:J=new Set([])}=t,Q=W?window.parent===window:true,q=false;if(!Q)try{window.parent.document,q=!1;}catch{q=true;}if(Q&&!e)throw new Error("emit function is required");g!==void 0&&C.mousemove===void 0&&(C.mousemove=g),te.reset();let O=d===true?{color:true,date:true,"datetime-local":true,email:true,month:true,number:true,range:true,search:true,tel:true,text:true,time:true,url:true,week:true,textarea:true,select:true,password:true}:u!==void 0?u:{password:true},K=p===true||p==="all"?{script:true,comment:true,headFavicon:true,headWhitespace:true,headMetaSocial:true,headMetaRobots:true,headMetaHttpEquiv:true,headMetaVerification:true,headMetaAuthorship:p==="all",headMetaDescKeywords:p==="all"}:p||{};Zt();let X,ne=0,ie=v=>{for(let U of P||[])U.eventProcessor&&(v=U.eventProcessor(v));return S&&(v=S(v)),v};R=(v,U)=>{var Z;if(!((Z=de[0])===null||Z===void 0)&&Z.isFrozen()&&v.type!==b.FullSnapshot&&!(v.type===b.IncrementalSnapshot&&v.data.source===y.Mutation)&&de.forEach(T=>T.unfreeze()),Q)e?.(ie(v),U);else if(q){let T={type:"rrweb",event:ie(v),isCheckout:U};window.parent.postMessage(T,"*");}if(v.type===b.FullSnapshot)X=v,ne=0;else if(v.type===b.IncrementalSnapshot){if(v.data.source===y.Mutation&&v.data.isAttachIframe)return;ne++;let T=n&&ne>=n,j=r&&v.timestamp-X.timestamp>r;(T||j)&&je(true);}};let _=v=>{R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Mutation},v)}));},Y=v=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Scroll},v)})),le=v=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.CanvasMutation},v)})),N=v=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.AdoptedStyleSheet},v)})),$=new Ye({mutationCb:_,adoptedStyleSheetCb:N}),oe=new Ze({mirror:te,mutationCb:_,stylesheetManager:$,recordCrossOriginIframes:W,wrappedEmit:R});for(let v of P||[])v.getMirror&&v.getMirror({nodeMirror:te,crossOriginIframeMirror:oe.crossOriginIframeMirror,crossOriginIframeStyleMirror:oe.crossOriginIframeStyleMirror});Nt=new Ke({recordCanvas:k,mutationCb:le,win:window,blockClass:o,blockSelector:i,mirror:te,sampling:C.canvas,dataURLOptions:m});let Ie=new He({mutationCb:_,scrollCb:Y,bypassOptions:{blockClass:o,blockSelector:i,maskTextClass:s,maskTextSelector:c,inlineStylesheet:l,maskInputOptions:O,dataURLOptions:m,maskTextFn:f,maskInputFn:h,recordCanvas:k,inlineImages:w,sampling:C,slimDOMOptions:K,iframeManager:oe,stylesheetManager:$,canvasManager:Nt,keepIframeSrcFn:z},mirror:te});je=(v=false)=>{var U,Z,T,j,A,H;R(D({type:b.Meta,data:{href:window.location.href,width:Fe(),height:De()}}),v),$.reset(),de.forEach(V=>V.lock());let Ae=Ut(document,{mirror:te,blockClass:o,blockSelector:i,maskTextClass:s,maskTextSelector:c,inlineStylesheet:l,maskAllInputs:O,maskTextFn:f,slimDOM:K,dataURLOptions:m,recordCanvas:k,inlineImages:w,onSerialize:V=>{Be(V,te)&&oe.addIframe(V),Ge(V,te)&&$.trackLinkElement(V),We(V)&&Ie.addShadowRoot(V.shadowRoot,document);},onIframeLoad:(V,ft)=>{oe.attachIframe(V,ft),Ie.observeAttachShadow(V);},onStylesheetLoad:(V,ft)=>{$.attachLinkElement(V,ft);},keepIframeSrcFn:z});if(!Ae)return console.warn("Failed to snapshot the document");R(D({type:b.FullSnapshot,data:{node:Ae,initialOffset:{left:window.pageXOffset!==void 0?window.pageXOffset:document?.documentElement.scrollLeft||((Z=(U=document?.body)===null||U===void 0?void 0:U.parentElement)===null||Z===void 0?void 0:Z.scrollLeft)||((T=document?.body)===null||T===void 0?void 0:T.scrollLeft)||0,top:window.pageYOffset!==void 0?window.pageYOffset:document?.documentElement.scrollTop||((A=(j=document?.body)===null||j===void 0?void 0:j.parentElement)===null||A===void 0?void 0:A.scrollTop)||((H=document?.body)===null||H===void 0?void 0:H.scrollTop)||0}}})),de.forEach(V=>V.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&$.adoptStyleSheets(document.adoptedStyleSheets,te.getId(document));};try{let v=[];v.push(G("DOMContentLoaded",()=>{R(D({type:b.DomContentLoaded,data:{}}));}));let U=T=>{var j;return tr({mutationCb:_,mousemoveCb:(A,H)=>R(D({type:b.IncrementalSnapshot,data:{source:H,positions:A}})),mouseInteractionCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.MouseInteraction},A)})),scrollCb:Y,viewportResizeCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.ViewportResize},A)})),inputCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Input},A)})),mediaInteractionCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.MediaInteraction},A)})),styleSheetRuleCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.StyleSheetRule},A)})),styleDeclarationCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.StyleDeclaration},A)})),canvasMutationCb:le,fontCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Font},A)})),selectionCb:A=>{R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Selection},A)}));},blockClass:o,ignoreClass:a,maskTextClass:s,maskTextSelector:c,maskInputOptions:O,inlineStylesheet:l,sampling:C,recordCanvas:k,inlineImages:w,userTriggeredOnInput:L,collectFonts:B,doc:T,maskInputFn:h,maskTextFn:f,keepIframeSrcFn:z,blockSelector:i,slimDOMOptions:K,dataURLOptions:m,mirror:te,iframeManager:oe,stylesheetManager:$,shadowDomManager:Ie,canvasManager:Nt,ignoreCSSAttributes:J,plugins:((j=P?.filter(A=>A.observer))===null||j===void 0?void 0:j.map(A=>({observer:A.observer,options:A.options,callback:H=>R(D({type:b.Plugin,data:{plugin:A.name,payload:H}}))})))||[]},I)};oe.addLoadListener(T=>{v.push(U(T.contentDocument));});let Z=()=>{je(),v.push(U(document)),Je=!0;};return document.readyState==="interactive"||document.readyState==="complete"?Z():v.push(G("load",()=>{R(D({type:b.Load,data:{}})),Z();},window)),()=>{v.forEach(T=>T()),Je=!1;}}catch(v){console.warn(v);}}ge.addCustomEvent=(t,e)=>{if(!Je)throw new Error("please add custom event after start recording");R(D({type:b.Custom,data:{tag:t,payload:e}}));};ge.freezePage=()=>{de.forEach(t=>t.freeze());};ge.takeFullSnapshot=t=>{if(!Je)throw new Error("please take full snapshot after start recording");je(t);};ge.mirror=te;var Qe=class{constructor(e,r,n){this.sessionId=e;this.emit=r;this.rrwebConfig=n;this.stopFn=null;}start(){this.stopFn=ge({...this.rrwebConfig,emit:e=>{this.emit({type:"rrweb",timestamp:e.timestamp,sessionId:this.sessionId,data:e});}})??null;}stop(){this.stopFn&&(this.stopFn(),this.stopFn=null);}};var qe=class{constructor(e,r){this.sessionId=e;this.emit=r;this.onErrorHandler=null;this.onRejectionHandler=null;this.previousOnError=null;}start(){this.previousOnError=window.onerror,this.onErrorHandler=(e,r,n,o,i)=>{let a={message:String(e),stack:i?.stack,source:r??void 0,lineno:n??void 0,colno:o??void 0,type:"onerror"};return this.emit({type:"error",timestamp:Date.now(),sessionId:this.sessionId,data:a}),this.previousOnError?this.previousOnError.call(window,e,r,n,o,i):false},this.onRejectionHandler=e=>{let r=e.reason,n={message:r instanceof Error?r.message:String(r),stack:r instanceof Error?r.stack:void 0,type:"unhandledrejection"};this.emit({type:"error",timestamp:Date.now(),sessionId:this.sessionId,data:n});},window.onerror=this.onErrorHandler,window.addEventListener("unhandledrejection",this.onRejectionHandler);}stop(){this.previousOnError?window.onerror=this.previousOnError:window.onerror=null,this.onRejectionHandler&&window.removeEventListener("unhandledrejection",this.onRejectionHandler),this.onErrorHandler=null,this.onRejectionHandler=null;}};var ln=/ghostplay\.dev/;var Xe=class{constructor(e,r){this.sessionId=e;this.emit=r;this.originalFetch=null;this.active=false;}start(){this.active=true,this.patchFetch();}stop(){this.active=false,this.restoreFetch();}patchFetch(){this.originalFetch=globalThis.fetch;let e=this;globalThis.fetch=async function(r,n){let o=typeof r=="string"?r:r instanceof URL?r.toString():r.url,i=n?.method??"GET";if(ln.test(o))return e.originalFetch.call(globalThis,r,n);let a=Date.now(),s=cn(n?.headers),c=dn(n?.body);try{let l=await e.originalFetch.call(globalThis,r,n);if(e.active){let d={};l.headers.forEach((h,f)=>{d[f]=h;});let u;try{let h=l.headers.get("content-type")??"";if(h.includes("json")||h.includes("text")){let I=await l.clone().text();u=I.length>65536?I.substring(0,65536)+"...[truncated]":I;}}catch{}let p={method:i.toUpperCase(),url:o,status:l.status,statusText:l.statusText,requestHeaders:s,responseHeaders:d,requestBody:c,responseBody:u,startTime:a,endTime:Date.now(),duration:Date.now()-a};e.emit({type:"network",timestamp:a,sessionId:e.sessionId,data:p});}return l}catch(l){if(e.active){let d={method:i.toUpperCase(),url:o,requestHeaders:s,requestBody:c,startTime:a,endTime:Date.now(),duration:Date.now()-a};e.emit({type:"network",timestamp:a,sessionId:e.sessionId,data:d});}throw l}};}restoreFetch(){this.originalFetch&&(globalThis.fetch=this.originalFetch,this.originalFetch=null);}};function cn(t){let e={};if(!t)return e;if(t instanceof Headers)t.forEach((r,n)=>{e[n]=r;});else if(Array.isArray(t))for(let[r,n]of t)e[r]=n;else for(let[r,n]of Object.entries(t))e[r]=n;return e}function dn(t){if(t){if(typeof t=="string")return t.length>65536?t.substring(0,65536)+"...[truncated]":t;if(t instanceof URLSearchParams)return t.toString()}}var gr=["log","warn","error","info","debug"],$e=class{constructor(e,r){this.sessionId=e;this.emit=r;this.originals={};}start(){for(let e of gr)this.originals[e]=console[e].bind(console),console[e]=(...r)=>{let n={level:e,args:r.map(o=>this.serialize(o))};this.emit({type:"console",timestamp:Date.now(),sessionId:this.sessionId,data:n}),this.originals[e]?.(...r);};}stop(){for(let e of gr)this.originals[e]&&(console[e]=this.originals[e]);this.originals={};}serialize(e){if(e instanceof Error)return {__type:"Error",message:e.message,stack:e.stack};if(typeof e=="object"&&e!==null)try{return JSON.stringify(e),e}catch{return String(e)}return e}};var un={LCP:[1e3,4e3],FID:[100,300],CLS:[.1,.25],TTFB:[800,1800],INP:[200,500]},et=class{constructor(e,r){this.sessionId=e;this.emit=r;this.observers=[];}start(){typeof PerformanceObserver>"u"||(this.observeLCP(),this.observeFID(),this.observeCLS(),this.observeTTFB(),this.observeINP());}stop(){this.observers.forEach(e=>e.disconnect()),this.observers=[];}handleMetric(e,r){let[n,o]=un[e],i=r<=n?"good":r<=o?"needs-improvement":"poor";this.emit({type:"performance",timestamp:Date.now(),sessionId:this.sessionId,data:{metric:e,value:r,rating:i}});}observeLCP(){try{let e=new PerformanceObserver(r=>{let n=r.getEntries(),o=n[n.length-1];o&&this.handleMetric("LCP",o.startTime);});e.observe({type:"largest-contentful-paint",buffered:!0}),this.observers.push(e);}catch{}}observeFID(){try{let e=new PerformanceObserver(r=>{let o=r.getEntries()[0];o&&this.handleMetric("FID",o.processingStart-o.startTime);});e.observe({type:"first-input",buffered:!0}),this.observers.push(e);}catch{}}observeCLS(){let e=0;try{let r=new PerformanceObserver(n=>{for(let o of n.getEntries())o.hadRecentInput||(e+=o.value);this.handleMetric("CLS",e);});r.observe({type:"layout-shift",buffered:!0}),this.observers.push(r);}catch{}}observeTTFB(){try{let e=new PerformanceObserver(r=>{let n=r.getEntries()[0];n&&this.handleMetric("TTFB",n.responseStart);});e.observe({type:"navigation",buffered:!0}),this.observers.push(e);}catch{}}observeINP(){try{let e=new PerformanceObserver(r=>{for(let n of r.getEntries())this.handleMetric("INP",n.duration);});e.observe({type:"event",buffered:!0}),this.observers.push(e);}catch{}}};var tt=class{constructor(e,r){this.sessionId=e;this.emit=r;this.clickHandler=null;this.recentClicks=[];}start(){this.clickHandler=e=>{let r=e.target;if(!r)return;let n=Date.now(),o=this.recentClicks.find(i=>i.element===r);if(o||(o={element:r,timestamps:[]},this.recentClicks.push(o)),o.timestamps.push(n),o.timestamps=o.timestamps.filter(i=>n-i<1e3),o.timestamps.length>=3){let i={selector:this.getSelector(r),clickCount:o.timestamps.length,x:e.clientX,y:e.clientY};this.emit({type:"rage-click",timestamp:n,sessionId:this.sessionId,data:i}),o.timestamps=[];}this.recentClicks=this.recentClicks.filter(i=>i.timestamps.length>0);},document.addEventListener("click",this.clickHandler,true);}stop(){this.clickHandler&&(document.removeEventListener("click",this.clickHandler,true),this.clickHandler=null),this.recentClicks=[];}getSelector(e){if(e.id)return `#${e.id}`;let r=e.getAttribute("data-testid");if(r)return `[data-testid="${r}"]`;let n=e.tagName.toLowerCase(),o=e.className?`.${e.className.split(" ").filter(Boolean).join(".")}`:"";return `${n}${o}`}};var rt=class{constructor(e=50){this.maxSize=e;this.trail=[];}add(e,r,n){let o={category:e,message:r};n&&(o.data=n),this.trail.push(o),this.trail.length>this.maxSize&&(this.trail=this.trail.slice(-this.maxSize));}getTrail(){return [...this.trail]}clear(){this.trail=[];}};var fn=["set-cookie"],nt=class{constructor(e){this.options=e;}sanitizeNetworkEvent(e){let r={...e},n=this.options.networkSanitize;return r.responseHeaders&&(r.responseHeaders=this.filterHeaders(r.responseHeaders,fn)),n&&(r.requestHeaders&&n.denyHeaders.length>0&&(r.requestHeaders=this.filterHeaders(r.requestHeaders,n.denyHeaders)),r.responseHeaders&&n.denyHeaders.length>0&&(r.responseHeaders=this.filterHeaders(r.responseHeaders,n.denyHeaders)),n.denyBodyUrls.length>0&&this.urlMatchesDeny(e.url,n.denyBodyUrls)&&(r.requestBody&&(r.requestBody="[REDACTED]"),r.responseBody&&(r.responseBody="[REDACTED]"))),r}filterHeaders(e,r){let n=r.map(i=>i.toLowerCase()),o={};for(let[i,a]of Object.entries(e))n.includes(i.toLowerCase())||(o[i]=a);return o}urlMatchesDeny(e,r){return r.some(n=>new RegExp("^"+n.replace(/\*/g,".*")+"$").test(e))}};var ot=class{constructor(e){this.config=e;this.buffer=[];this.bufferBytes=0;this.flushTimer=null;}start(){this.flushTimer=setInterval(()=>{this.flush();},this.config.flushIntervalMs);}stop(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),this.flush();}send(e){let r=JSON.stringify(e).length;this.buffer.push(e),this.bufferBytes+=r,this.bufferBytes>=this.config.flushMaxBytes&&this.flush();}flush(){if(this.buffer.length===0)return;let e=this.buffer;this.buffer=[],this.bufferBytes=0;let r={projectId:this.config.projectId,sessionId:this.config.sessionId,events:e,sentAt:Date.now()},n=JSON.stringify(r),o=`${this.config.apiUrl}/events`,i=n.length<6e4;try{fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-project-id":this.config.projectId},body:n,keepalive:i}).catch(()=>{this.sendBeacon(o,n);});}catch{this.sendBeacon(o,n);}}sendBeacon(e,r){typeof navigator<"u"&&navigator.sendBeacon&&navigator.sendBeacon(e,new Blob([r],{type:"application/json"}));}};var pn="0.1.0",x=null,re=null,it=null,st=null,at=null,lt=null,ct=null,dt=null,ut=null,xt=null,Re=null;function Ot(){if(!re)throw new Error("[Ghostplay] SDK not initialized. Call Ghostplay.init() first.")}function ae(t){ut&&t.type!=="rrweb"&&ut.add(t.type==="error"?"error":t.type==="network"?"network":t.type==="rage-click"?"click":"custom",`${t.type}: ${JSON.stringify(t.data).substring(0,100)}`),Re?.send(t);}function hn(t){Ir(),x=Ft(t),re=new Ne(x.projectId);let e=re.start();xt=new nt({networkSanitize:x.networkSanitize}),Re=new ot({apiUrl:x.apiUrl,projectId:x.projectId,sessionId:e.id,flushIntervalMs:x.flushIntervalMs,flushMaxBytes:x.flushMaxBytes}),Re.start(),ut=new rt,it=new Qe(e.id,ae,{maskAllInputs:x.maskAllInputs,...x.maskInputSelector?{maskInputSelector:x.maskInputSelector}:{},...x.blockSelector?{blockSelector:x.blockSelector}:{},...x.ignoreSelector?{ignoreSelector:x.ignoreSelector}:{},...x.rrwebConfig}),it.start(),st=new qe(e.id,ae),st.start(),x.recordNetwork&&(at=new Xe(e.id,r=>{let n=xt.sanitizeNetworkEvent(r.data);ae({...r,data:n});}),at.start()),x.recordConsole&&(lt=new $e(e.id,ae),lt.start()),x.trackPerformance&&(ct=new et(e.id,ae),ct.start()),x.trackRageClicks&&(dt=new tt(e.id,ae),dt.start());}function mn(t,e){Ot(),re.identify(t,e),ae({type:"identify",timestamp:Date.now(),sessionId:re.current().id,data:{userId:t,traits:e}});}function gn(t){Ot(),re.addTag(t),ae({type:"tag",timestamp:Date.now(),sessionId:re.current().id,data:{tag:t}});}function In(t){Ot(),re.setMetadata(t),ae({type:"metadata",timestamp:Date.now(),sessionId:re.current().id,data:t});}function Ir(){it?.stop(),st?.stop(),at?.stop(),lt?.stop(),ct?.stop(),dt?.stop(),Re?.stop(),re?.end(),it=null,st=null,at=null,lt=null,ct=null,dt=null,Re=null,re=null,ut=null,xt=null,x=null;}var vn={VERSION:pn,init:hn,identify:mn,tag:gn,setMetadata:In,stop:Ir},li=vn;/*! Bundled license information:
|
|
5
|
+
`,10)+1,s=i.substring(a)+(""),c=new Blob([s],{type:"application/javascript"});return URL.createObjectURL(c)}function fr(t,e,r){var n;return function(i){return n=n||sn(t),new Worker(n,i)}}var an=Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";function pr(){return an}function hr(t,e,r){return pr()?ur(t):fr(t)}var mr=hr("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=");var Ke=class{constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=false,this.locked=false,this.processMutation=(c,l)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(c)||this.pendingCanvasMutations.set(c,[]),this.pendingCanvasMutations.get(c).push(l);};let{sampling:r="all",win:n,blockClass:o,blockSelector:i,recordCanvas:a,dataURLOptions:s}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&r==="all"&&this.initCanvasMutationObserver(n,o,i),a&&typeof r=="number"&&this.initCanvasFPSObserver(r,n,o,i,{dataURLOptions:s});}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers();}freeze(){this.frozen=true;}unfreeze(){this.frozen=false;}lock(){this.locked=true;}unlock(){this.locked=false;}initCanvasFPSObserver(e,r,n,o,i){let a=Mt(r,n,o),s=new Map,c=new mr;c.onmessage=f=>{let{id:I}=f.data;if(s.set(I,false),!("base64"in f.data))return;let{base64:S,type:C,width:m,height:g}=f.data;this.mutationCb({id:I,type:se["2D"],commands:[{property:"clearRect",args:[0,0,m,g]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:S}],type:C}]},0,0]}]});};let l=1e3/e,d=0,u,p=()=>{let f=[];return r.document.querySelectorAll("canvas").forEach(I=>{M(I,n,o,true)||f.push(I);}),f},h=f=>{if(d&&f-d<l){u=requestAnimationFrame(h);return}d=f,p().forEach(I=>nr(this,void 0,void 0,function*(){var S;let C=this.mirror.getId(I);if(s.get(C))return;if(s.set(C,true),["webgl","webgl2"].includes(I.__context)){let g=I.getContext(I.__context);((S=g?.getContextAttributes())===null||S===void 0?void 0:S.preserveDrawingBuffer)===false&&g?.clear(g.COLOR_BUFFER_BIT);}let m=yield createImageBitmap(I);c.postMessage({id:C,bitmap:m,width:I.width,height:I.height,dataURLOptions:i.dataURLOptions},[m]);})),u=requestAnimationFrame(h);};u=requestAnimationFrame(h),this.resetObservers=()=>{a(),cancelAnimationFrame(u);};}initCanvasMutationObserver(e,r,n){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let o=Mt(e,r,n),i=ar(this.processMutation.bind(this),e,r,n),a=cr(this.processMutation.bind(this),e,r,n,this.mirror);this.resetObservers=()=>{o(),i(),a();};}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations());}startRAFTimestamping(){let e=r=>{this.rafStamps.latestId=r,requestAnimationFrame(e);};requestAnimationFrame(e);}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,r)=>{let n=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,n);}),requestAnimationFrame(()=>this.flushPendingCanvasMutations());}flushPendingCanvasMutationFor(e,r){if(this.frozen||this.locked)return;let n=this.pendingCanvasMutations.get(e);if(!n||r===-1)return;let o=n.map(a=>rr(a,["type"])),{type:i}=n[0];this.mutationCb({id:r,type:i,commands:o}),this.pendingCanvasMutations.delete(e);}};var Ye=class{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new Oe,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb;}attachLinkElement(e,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(e);}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e));}adoptStyleSheets(e,r){if(e.length===0)return;let n={id:r,styleIds:[]},o=[];for(let i of e){let a;if(this.styleMirror.has(i))a=this.styleMirror.getId(i);else {a=this.styleMirror.add(i);let s=Array.from(i.rules||CSSRule);o.push({styleId:a,rules:s.map((c,l)=>({rule:mt(c),index:l}))});}n.styleIds.push(a);}o.length>0&&(n.styles=o),this.adoptedStyleSheetCb(n);}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet;}trackStylesheetInLinkElement(e){}};function D(t){return Object.assign(Object.assign({},t),{timestamp:Date.now()})}var R,je,Nt,Je=false,te=Wt();function ge(t={}){let{emit:e,checkoutEveryNms:r,checkoutEveryNth:n,blockClass:o="rr-block",blockSelector:i=null,ignoreClass:a="rr-ignore",maskTextClass:s="rr-mask",maskTextSelector:c=null,inlineStylesheet:l=true,maskAllInputs:d,maskInputOptions:u,slimDOMOptions:p,maskInputFn:h,maskTextFn:f,hooks:I,packFn:S,sampling:C={},dataURLOptions:m={},mousemoveWait:g,recordCanvas:k=false,recordCrossOriginIframes:W=false,userTriggeredOnInput:L=false,collectFonts:B=false,inlineImages:w=false,plugins:P,keepIframeSrcFn:z=()=>false,ignoreCSSAttributes:J=new Set([])}=t,Q=W?window.parent===window:true,q=false;if(!Q)try{window.parent.document,q=!1;}catch{q=true;}if(Q&&!e)throw new Error("emit function is required");g!==void 0&&C.mousemove===void 0&&(C.mousemove=g),te.reset();let O=d===true?{color:true,date:true,"datetime-local":true,email:true,month:true,number:true,range:true,search:true,tel:true,text:true,time:true,url:true,week:true,textarea:true,select:true,password:true}:u!==void 0?u:{password:true},K=p===true||p==="all"?{script:true,comment:true,headFavicon:true,headWhitespace:true,headMetaSocial:true,headMetaRobots:true,headMetaHttpEquiv:true,headMetaVerification:true,headMetaAuthorship:p==="all",headMetaDescKeywords:p==="all"}:p||{};Zt();let X,ne=0,ie=v=>{for(let U of P||[])U.eventProcessor&&(v=U.eventProcessor(v));return S&&(v=S(v)),v};R=(v,U)=>{var Z;if(!((Z=de[0])===null||Z===void 0)&&Z.isFrozen()&&v.type!==b.FullSnapshot&&!(v.type===b.IncrementalSnapshot&&v.data.source===y.Mutation)&&de.forEach(T=>T.unfreeze()),Q)e?.(ie(v),U);else if(q){let T={type:"rrweb",event:ie(v),isCheckout:U};window.parent.postMessage(T,"*");}if(v.type===b.FullSnapshot)X=v,ne=0;else if(v.type===b.IncrementalSnapshot){if(v.data.source===y.Mutation&&v.data.isAttachIframe)return;ne++;let T=n&&ne>=n,j=r&&v.timestamp-X.timestamp>r;(T||j)&&je(true);}};let _=v=>{R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Mutation},v)}));},Y=v=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Scroll},v)})),le=v=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.CanvasMutation},v)})),N=v=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.AdoptedStyleSheet},v)})),$=new Ye({mutationCb:_,adoptedStyleSheetCb:N}),oe=new Ze({mirror:te,mutationCb:_,stylesheetManager:$,recordCrossOriginIframes:W,wrappedEmit:R});for(let v of P||[])v.getMirror&&v.getMirror({nodeMirror:te,crossOriginIframeMirror:oe.crossOriginIframeMirror,crossOriginIframeStyleMirror:oe.crossOriginIframeStyleMirror});Nt=new Ke({recordCanvas:k,mutationCb:le,win:window,blockClass:o,blockSelector:i,mirror:te,sampling:C.canvas,dataURLOptions:m});let Ie=new He({mutationCb:_,scrollCb:Y,bypassOptions:{blockClass:o,blockSelector:i,maskTextClass:s,maskTextSelector:c,inlineStylesheet:l,maskInputOptions:O,dataURLOptions:m,maskTextFn:f,maskInputFn:h,recordCanvas:k,inlineImages:w,sampling:C,slimDOMOptions:K,iframeManager:oe,stylesheetManager:$,canvasManager:Nt,keepIframeSrcFn:z},mirror:te});je=(v=false)=>{var U,Z,T,j,A,H;R(D({type:b.Meta,data:{href:window.location.href,width:Fe(),height:De()}}),v),$.reset(),de.forEach(V=>V.lock());let Ae=Ut(document,{mirror:te,blockClass:o,blockSelector:i,maskTextClass:s,maskTextSelector:c,inlineStylesheet:l,maskAllInputs:O,maskTextFn:f,slimDOM:K,dataURLOptions:m,recordCanvas:k,inlineImages:w,onSerialize:V=>{Be(V,te)&&oe.addIframe(V),Ge(V,te)&&$.trackLinkElement(V),We(V)&&Ie.addShadowRoot(V.shadowRoot,document);},onIframeLoad:(V,ft)=>{oe.attachIframe(V,ft),Ie.observeAttachShadow(V);},onStylesheetLoad:(V,ft)=>{$.attachLinkElement(V,ft);},keepIframeSrcFn:z});if(!Ae)return console.warn("Failed to snapshot the document");R(D({type:b.FullSnapshot,data:{node:Ae,initialOffset:{left:window.pageXOffset!==void 0?window.pageXOffset:document?.documentElement.scrollLeft||((Z=(U=document?.body)===null||U===void 0?void 0:U.parentElement)===null||Z===void 0?void 0:Z.scrollLeft)||((T=document?.body)===null||T===void 0?void 0:T.scrollLeft)||0,top:window.pageYOffset!==void 0?window.pageYOffset:document?.documentElement.scrollTop||((A=(j=document?.body)===null||j===void 0?void 0:j.parentElement)===null||A===void 0?void 0:A.scrollTop)||((H=document?.body)===null||H===void 0?void 0:H.scrollTop)||0}}})),de.forEach(V=>V.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&$.adoptStyleSheets(document.adoptedStyleSheets,te.getId(document));};try{let v=[];v.push(G("DOMContentLoaded",()=>{R(D({type:b.DomContentLoaded,data:{}}));}));let U=T=>{var j;return tr({mutationCb:_,mousemoveCb:(A,H)=>R(D({type:b.IncrementalSnapshot,data:{source:H,positions:A}})),mouseInteractionCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.MouseInteraction},A)})),scrollCb:Y,viewportResizeCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.ViewportResize},A)})),inputCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Input},A)})),mediaInteractionCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.MediaInteraction},A)})),styleSheetRuleCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.StyleSheetRule},A)})),styleDeclarationCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.StyleDeclaration},A)})),canvasMutationCb:le,fontCb:A=>R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Font},A)})),selectionCb:A=>{R(D({type:b.IncrementalSnapshot,data:Object.assign({source:y.Selection},A)}));},blockClass:o,ignoreClass:a,maskTextClass:s,maskTextSelector:c,maskInputOptions:O,inlineStylesheet:l,sampling:C,recordCanvas:k,inlineImages:w,userTriggeredOnInput:L,collectFonts:B,doc:T,maskInputFn:h,maskTextFn:f,keepIframeSrcFn:z,blockSelector:i,slimDOMOptions:K,dataURLOptions:m,mirror:te,iframeManager:oe,stylesheetManager:$,shadowDomManager:Ie,canvasManager:Nt,ignoreCSSAttributes:J,plugins:((j=P?.filter(A=>A.observer))===null||j===void 0?void 0:j.map(A=>({observer:A.observer,options:A.options,callback:H=>R(D({type:b.Plugin,data:{plugin:A.name,payload:H}}))})))||[]},I)};oe.addLoadListener(T=>{v.push(U(T.contentDocument));});let Z=()=>{je(),v.push(U(document)),Je=!0;};return document.readyState==="interactive"||document.readyState==="complete"?Z():v.push(G("load",()=>{R(D({type:b.Load,data:{}})),Z();},window)),()=>{v.forEach(T=>T()),Je=!1;}}catch(v){console.warn(v);}}ge.addCustomEvent=(t,e)=>{if(!Je)throw new Error("please add custom event after start recording");R(D({type:b.Custom,data:{tag:t,payload:e}}));};ge.freezePage=()=>{de.forEach(t=>t.freeze());};ge.takeFullSnapshot=t=>{if(!Je)throw new Error("please take full snapshot after start recording");je(t);};ge.mirror=te;var Qe=class{constructor(e,r,n){this.sessionId=e;this.emit=r;this.rrwebConfig=n;this.stopFn=null;}start(){this.stopFn=ge({...this.rrwebConfig,emit:e=>{this.emit({type:"rrweb",timestamp:e.timestamp,sessionId:this.sessionId,data:e});}})??null;}stop(){this.stopFn&&(this.stopFn(),this.stopFn=null);}};var qe=class{constructor(e,r){this.sessionId=e;this.emit=r;this.onErrorHandler=null;this.onRejectionHandler=null;this.previousOnError=null;}start(){this.previousOnError=window.onerror,this.onErrorHandler=(e,r,n,o,i)=>{let a={message:String(e),stack:i?.stack,source:r??void 0,lineno:n??void 0,colno:o??void 0,type:"onerror"};return this.emit({type:"error",timestamp:Date.now(),sessionId:this.sessionId,data:a}),this.previousOnError?this.previousOnError.call(window,e,r,n,o,i):false},this.onRejectionHandler=e=>{let r=e.reason,n={message:r instanceof Error?r.message:String(r),stack:r instanceof Error?r.stack:void 0,type:"unhandledrejection"};this.emit({type:"error",timestamp:Date.now(),sessionId:this.sessionId,data:n});},window.onerror=this.onErrorHandler,window.addEventListener("unhandledrejection",this.onRejectionHandler);}stop(){this.previousOnError?window.onerror=this.previousOnError:window.onerror=null,this.onRejectionHandler&&window.removeEventListener("unhandledrejection",this.onRejectionHandler),this.onErrorHandler=null,this.onRejectionHandler=null;}};var ln=/ghostplay\.dev/;var Xe=class{constructor(e,r){this.sessionId=e;this.emit=r;this.originalFetch=null;this.active=false;}start(){this.active=true,this.patchFetch();}stop(){this.active=false,this.restoreFetch();}patchFetch(){this.originalFetch=globalThis.fetch;let e=this;globalThis.fetch=async function(r,n){let o=typeof r=="string"?r:r instanceof URL?r.toString():r.url,i=n?.method??"GET";if(ln.test(o))return e.originalFetch.call(globalThis,r,n);let a=Date.now(),s=cn(n?.headers),c=dn(n?.body);try{let l=await e.originalFetch.call(globalThis,r,n);if(e.active){let d={};l.headers.forEach((h,f)=>{d[f]=h;});let u;try{let h=l.headers.get("content-type")??"";if(h.includes("json")||h.includes("text")){let I=await l.clone().text();u=I.length>1048576?I.substring(0,1048576)+"...[truncated]":I;}}catch{}let p={method:i.toUpperCase(),url:o,status:l.status,statusText:l.statusText,requestHeaders:s,responseHeaders:d,requestBody:c,responseBody:u,startTime:a,endTime:Date.now(),duration:Date.now()-a};e.emit({type:"network",timestamp:a,sessionId:e.sessionId,data:p});}return l}catch(l){if(e.active){let d={method:i.toUpperCase(),url:o,requestHeaders:s,requestBody:c,startTime:a,endTime:Date.now(),duration:Date.now()-a};e.emit({type:"network",timestamp:a,sessionId:e.sessionId,data:d});}throw l}};}restoreFetch(){this.originalFetch&&(globalThis.fetch=this.originalFetch,this.originalFetch=null);}};function cn(t){let e={};if(!t)return e;if(t instanceof Headers)t.forEach((r,n)=>{e[n]=r;});else if(Array.isArray(t))for(let[r,n]of t)e[r]=n;else for(let[r,n]of Object.entries(t))e[r]=n;return e}function dn(t){if(t){if(typeof t=="string")return t.length>1048576?t.substring(0,1048576)+"...[truncated]":t;if(t instanceof URLSearchParams)return t.toString()}}var gr=["log","warn","error","info","debug"],$e=class{constructor(e,r){this.sessionId=e;this.emit=r;this.originals={};}start(){for(let e of gr)this.originals[e]=console[e].bind(console),console[e]=(...r)=>{let n={level:e,args:r.map(o=>this.serialize(o))};this.emit({type:"console",timestamp:Date.now(),sessionId:this.sessionId,data:n}),this.originals[e]?.(...r);};}stop(){for(let e of gr)this.originals[e]&&(console[e]=this.originals[e]);this.originals={};}serialize(e){if(e instanceof Error)return {__type:"Error",message:e.message,stack:e.stack};if(typeof e=="object"&&e!==null)try{return JSON.stringify(e),e}catch{return String(e)}return e}};var un={LCP:[1e3,4e3],FID:[100,300],CLS:[.1,.25],TTFB:[800,1800],INP:[200,500]},et=class{constructor(e,r){this.sessionId=e;this.emit=r;this.observers=[];}start(){typeof PerformanceObserver>"u"||(this.observeLCP(),this.observeFID(),this.observeCLS(),this.observeTTFB(),this.observeINP());}stop(){this.observers.forEach(e=>e.disconnect()),this.observers=[];}handleMetric(e,r){let[n,o]=un[e],i=r<=n?"good":r<=o?"needs-improvement":"poor";this.emit({type:"performance",timestamp:Date.now(),sessionId:this.sessionId,data:{metric:e,value:r,rating:i}});}observeLCP(){try{let e=new PerformanceObserver(r=>{let n=r.getEntries(),o=n[n.length-1];o&&this.handleMetric("LCP",o.startTime);});e.observe({type:"largest-contentful-paint",buffered:!0}),this.observers.push(e);}catch{}}observeFID(){try{let e=new PerformanceObserver(r=>{let o=r.getEntries()[0];o&&this.handleMetric("FID",o.processingStart-o.startTime);});e.observe({type:"first-input",buffered:!0}),this.observers.push(e);}catch{}}observeCLS(){let e=0;try{let r=new PerformanceObserver(n=>{for(let o of n.getEntries())o.hadRecentInput||(e+=o.value);this.handleMetric("CLS",e);});r.observe({type:"layout-shift",buffered:!0}),this.observers.push(r);}catch{}}observeTTFB(){try{let e=new PerformanceObserver(r=>{let n=r.getEntries()[0];n&&this.handleMetric("TTFB",n.responseStart);});e.observe({type:"navigation",buffered:!0}),this.observers.push(e);}catch{}}observeINP(){try{let e=new PerformanceObserver(r=>{for(let n of r.getEntries())this.handleMetric("INP",n.duration);});e.observe({type:"event",buffered:!0}),this.observers.push(e);}catch{}}};var tt=class{constructor(e,r){this.sessionId=e;this.emit=r;this.clickHandler=null;this.recentClicks=[];}start(){this.clickHandler=e=>{let r=e.target;if(!r)return;let n=Date.now(),o=this.recentClicks.find(i=>i.element===r);if(o||(o={element:r,timestamps:[]},this.recentClicks.push(o)),o.timestamps.push(n),o.timestamps=o.timestamps.filter(i=>n-i<1e3),o.timestamps.length>=3){let i={selector:this.getSelector(r),clickCount:o.timestamps.length,x:e.clientX,y:e.clientY};this.emit({type:"rage-click",timestamp:n,sessionId:this.sessionId,data:i}),o.timestamps=[];}this.recentClicks=this.recentClicks.filter(i=>i.timestamps.length>0);},document.addEventListener("click",this.clickHandler,true);}stop(){this.clickHandler&&(document.removeEventListener("click",this.clickHandler,true),this.clickHandler=null),this.recentClicks=[];}getSelector(e){if(e.id)return `#${e.id}`;let r=e.getAttribute("data-testid");if(r)return `[data-testid="${r}"]`;let n=e.tagName.toLowerCase(),o=e.className?`.${e.className.split(" ").filter(Boolean).join(".")}`:"";return `${n}${o}`}};var rt=class{constructor(e=50){this.maxSize=e;this.trail=[];}add(e,r,n){let o={category:e,message:r};n&&(o.data=n),this.trail.push(o),this.trail.length>this.maxSize&&(this.trail=this.trail.slice(-this.maxSize));}getTrail(){return [...this.trail]}clear(){this.trail=[];}};var fn=["set-cookie"],nt=class{constructor(e){this.options=e;}sanitizeNetworkEvent(e){let r={...e},n=this.options.networkSanitize;return r.responseHeaders&&(r.responseHeaders=this.filterHeaders(r.responseHeaders,fn)),n&&(r.requestHeaders&&n.denyHeaders.length>0&&(r.requestHeaders=this.filterHeaders(r.requestHeaders,n.denyHeaders)),r.responseHeaders&&n.denyHeaders.length>0&&(r.responseHeaders=this.filterHeaders(r.responseHeaders,n.denyHeaders)),n.denyBodyUrls.length>0&&this.urlMatchesDeny(e.url,n.denyBodyUrls)&&(r.requestBody&&(r.requestBody="[REDACTED]"),r.responseBody&&(r.responseBody="[REDACTED]"))),r}filterHeaders(e,r){let n=r.map(i=>i.toLowerCase()),o={};for(let[i,a]of Object.entries(e))n.includes(i.toLowerCase())||(o[i]=a);return o}urlMatchesDeny(e,r){return r.some(n=>new RegExp("^"+n.replace(/\*/g,".*")+"$").test(e))}};var ot=class{constructor(e){this.config=e;this.buffer=[];this.bufferBytes=0;this.flushTimer=null;}start(){this.flushTimer=setInterval(()=>{this.flush();},this.config.flushIntervalMs);}stop(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),this.flush();}send(e){let r=JSON.stringify(e).length;this.buffer.push(e),this.bufferBytes+=r,this.bufferBytes>=this.config.flushMaxBytes&&this.flush();}flush(){if(this.buffer.length===0)return;let e=this.buffer;this.buffer=[],this.bufferBytes=0;let r={projectId:this.config.projectId,sessionId:this.config.sessionId,events:e,sentAt:Date.now()},n=JSON.stringify(r),o=`${this.config.apiUrl}/events`,i=n.length<6e4;try{fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-project-id":this.config.projectId},body:n,keepalive:i}).catch(()=>{this.sendBeacon(o,n);});}catch{this.sendBeacon(o,n);}}sendBeacon(e,r){typeof navigator<"u"&&navigator.sendBeacon&&navigator.sendBeacon(e,new Blob([r],{type:"application/json"}));}};var pn="0.1.0",x=null,re=null,it=null,st=null,at=null,lt=null,ct=null,dt=null,ut=null,xt=null,Re=null;function Ot(){if(!re)throw new Error("[Ghostplay] SDK not initialized. Call Ghostplay.init() first.")}function ae(t){ut&&t.type!=="rrweb"&&ut.add(t.type==="error"?"error":t.type==="network"?"network":t.type==="rage-click"?"click":"custom",`${t.type}: ${JSON.stringify(t.data).substring(0,100)}`),Re?.send(t);}function hn(t){Ir(),x=Ft(t),re=new Ne(x.projectId);let e=re.start();xt=new nt({networkSanitize:x.networkSanitize}),Re=new ot({apiUrl:x.apiUrl,projectId:x.projectId,sessionId:e.id,flushIntervalMs:x.flushIntervalMs,flushMaxBytes:x.flushMaxBytes}),Re.start(),ut=new rt,it=new Qe(e.id,ae,{maskAllInputs:x.maskAllInputs,...x.maskInputSelector?{maskInputSelector:x.maskInputSelector}:{},...x.blockSelector?{blockSelector:x.blockSelector}:{},...x.ignoreSelector?{ignoreSelector:x.ignoreSelector}:{},...x.rrwebConfig}),it.start(),st=new qe(e.id,ae),st.start(),x.recordNetwork&&(at=new Xe(e.id,r=>{let n=xt.sanitizeNetworkEvent(r.data);ae({...r,data:n});}),at.start()),x.recordConsole&&(lt=new $e(e.id,ae),lt.start()),x.trackPerformance&&(ct=new et(e.id,ae),ct.start()),x.trackRageClicks&&(dt=new tt(e.id,ae),dt.start());}function mn(t,e){Ot(),re.identify(t,e),ae({type:"identify",timestamp:Date.now(),sessionId:re.current().id,data:{userId:t,traits:e}});}function gn(t){Ot(),re.addTag(t),ae({type:"tag",timestamp:Date.now(),sessionId:re.current().id,data:{tag:t}});}function In(t){Ot(),re.setMetadata(t),ae({type:"metadata",timestamp:Date.now(),sessionId:re.current().id,data:t});}function Ir(){it?.stop(),st?.stop(),at?.stop(),lt?.stop(),ct?.stop(),dt?.stop(),Re?.stop(),re?.end(),it=null,st=null,at=null,lt=null,ct=null,dt=null,Re=null,re=null,ut=null,xt=null,x=null;}var vn={VERSION:pn,init:hn,identify:mn,tag:gn,setMetadata:In,stop:Ir},li=vn;/*! Bundled license information:
|
|
6
6
|
|
|
7
7
|
rrweb/es/rrweb/ext/tslib/tslib.es6.js:
|
|
8
8
|
(*! *****************************************************************************
|