@betterbugs/all 2.0.0-alpha.21 → 2.0.0-alpha.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@betterbugs/all",
3
- "version": "2.0.0-alpha.21",
3
+ "version": "2.0.0-alpha.23",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -58,9 +58,9 @@
58
58
  "typescript": "^5.4.5"
59
59
  },
60
60
  "dependencies": {
61
- "@betterbugs/types": "^2.0.0-alpha.21",
62
- "@betterbugs/packer": "^2.0.0-alpha.21",
63
- "@betterbugs/rrweb": "^2.0.0-alpha.21"
61
+ "@betterbugs/types": "^2.0.0-alpha.23",
62
+ "@betterbugs/packer": "^2.0.0-alpha.23",
63
+ "@betterbugs/rrweb": "^2.0.0-alpha.23"
64
64
  },
65
65
  "browserslist": [
66
66
  "supports es6-class"
package/umd/all.js CHANGED
@@ -15933,7 +15933,7 @@ class Replayer {
15933
15933
  speed: 1,
15934
15934
  maxSpeed: 360,
15935
15935
  root: document.body,
15936
- loadTimeout: 5e3,
15936
+ loadTimeout: 0,
15937
15937
  skipInactive: false,
15938
15938
  inactivePeriodThreshold: 10 * 1e3,
15939
15939
  showWarning: true,
package/umd/all.min.js CHANGED
@@ -152,7 +152,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
152
152
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
153
153
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
154
154
  PERFORMANCE OF THIS SOFTWARE.
155
- ***************************************************************************** */function Gn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),l=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)l.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return l}var rt;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(rt||(rt={}));var Xo={type:"xstate.init"};function ds(e){return e===void 0?[]:[].concat(e)}function Qe(e){return{type:"xstate.assign",assignment:e}}function Hn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function jt(e){return function(t){return e===t}}function Qo(e){return typeof e=="string"?{type:e}:e}function Yn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:jt(e)}}function Jn(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var l=Object.assign({},s);return typeof a.assignment=="function"?l=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){l[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=l,!1}return!0}),s,i]}function Zo(e,t){t===void 0&&(t={});var r=Gn(Jn(ds(e.states[e.initial].entry).map(function(l){return Hn(l,t.actions)}),e.context,Xo),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:jt(e.initial)},transition:function(l,u){var o,c,n=typeof l=="string"?{value:l,context:e.context}:l,d=n.value,h=n.context,f=Qo(u),m=e.states[d];if(m.on){var p=ds(m.on[f.type]);try{for(var g=function(A){var W=typeof Symbol=="function"&&Symbol.iterator,X=W&&A[W],V=0;if(X)return X.call(A);if(A&&typeof A.length=="number")return{next:function(){return A&&V>=A.length&&(A=void 0),{value:A&&A[V++],done:!A}}};throw new TypeError(W?"Object is not iterable.":"Symbol.iterator is not defined.")}(p),w=g.next();!w.done;w=g.next()){var y=w.value;if(y===void 0)return Yn(d,h);var v=typeof y=="string"?{target:y}:y,C=v.target,S=v.actions,b=S===void 0?[]:S,E=v.cond,x=E===void 0?function(){return!0}:E,I=C===void 0,M=C!=null?C:d,L=e.states[M];if(x(h,f)){var D=Gn(Jn((I?ds(b):[].concat(m.exit,b,L.entry).filter(function(A){return A})).map(function(A){return Hn(A,a._options.actions)}),h,f),3),R=D[0],Y=D[1],J=D[2],P=C!=null?C:d;return{value:P,context:Y,actions:R,changed:C!==d||R.length>0||J,matches:jt(P)}}}}catch(A){o={error:A}}finally{try{w&&!w.done&&(c=g.return)&&c.call(g)}finally{if(o)throw o.error}}}return Yn(d,h)}};return a}var Xn=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function Ko(e){var t=e.initialState,r=rt.NotStarted,s=new Set,i={_machine:e,send:function(a){r===rt.Running&&(t=e.transition(t,a),Xn(t,Qo(a)),s.forEach(function(l){return l(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var l=typeof a=="object"?a:{context:e.config.context,value:a};t={value:l.value,actions:[],context:l.context,matches:jt(l.value)}}return r=rt.Running,Xn(t,Xo),i},stop:function(){return r=rt.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function fc(e,t){for(let r=e.length-1;r>=0;r--){const s=e[r];if(s.type===k.Meta&&s.timestamp<=t)return e.slice(r)}return e}function dc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){const i=Zo({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:Qe({lastPlayedEvent:(a,l)=>l.type==="CAST_EVENT"?l.payload.event:a.lastPlayedEvent}),recordTimeOffset:Qe((a,l)=>{let u=a.timeOffset;return"payload"in l&&"timeOffset"in l.payload&&(u=l.payload.timeOffset),ce(U({},a),{timeOffset:u,baselineTime:a.events[0].timestamp+u})}),play(a){var l;const{timer:u,events:o,baselineTime:c,lastPlayedEvent:n}=a;u.clear();for(const m of o)jn(m,c);const d=fc(o,c);let h=n==null?void 0:n.timestamp;(n==null?void 0:n.type)===k.IncrementalSnapshot&&n.data.source===_.MouseMove&&(h=n.timestamp+((l=n.data.positions[0])==null?void 0:l.timeOffset)),c<(h||0)&&s.emit(G.PlayBack);const f=new Array;for(const m of d)if(!(h&&h<c&&(m.timestamp<=h||m===n)))if(m.timestamp<c)f.push(m);else{const p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(f),s.emit(G.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:Qe(a=>ce(U({},a),{lastPlayedEvent:null})),startLive:Qe({baselineTime:(a,l)=>(a.timer.start(),l.type==="TO_LIVE"&&l.payload.baselineTime?l.payload.baselineTime:Date.now())}),addEvent:Qe((a,l)=>{const{baselineTime:u,timer:o,events:c}=a;if(l.type==="ADD_EVENT"){const{event:n}=l.payload;jn(n,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=n.timestamp)c.push(n);else{let m=-1,p=0;for(;p<=d;){const g=Math.floor((p+d)/2);c[g].timestamp<=n.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,n)}const h=n.timestamp<u,f=t(n,h);h?f():o.isActive()&&o.addAction({doAction:()=>{f()},delay:n.delay})}return ce(U({},a),{events:c})})}});return Ko(i)}function pc(e){const t=Zo({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:Qe({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return Ko(t)}const mc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],Qn=new Map;function ea(e,t){let r=Qn.get(e);return r||(r=new Map,Qn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function Be(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){const i=await Be(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;const{rr_type:i,index:a}=s;return ea(t,i)[a]}else if("args"in s){const{rr_type:i,args:a}=s,l=window[i];return new l(...await Promise.all(a.map(Be(e,t,r))))}else{if("base64"in s)return ec(s.base64);if("src"in s){const i=e.get(s.src);if(i)return i;{const a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){const i=await Promise.all(s.data.map(Be(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(Be(e,t,r)));return s}}function gc(e,t){try{return t===Te.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch(r){return null}}const yc=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function vc(e,t){if(!(t!=null&&t.constructor))return;const{name:r}=t.constructor;if(!yc.includes(r))return;const s=ea(e,r);s.includes(t)||s.push(t)}async function wc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{const a=gc(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}const l=a[e.property],u=await Promise.all(e.args.map(Be(s,a))),o=l.apply(a,u);vc(a,o);const c=!1}catch(a){i(e,a)}}async function bc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){const a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}const l=t.map(async o=>Promise.all(o.args.map(Be(s,a))));(await Promise.all(l)).forEach((o,c)=>{const n=t[c];try{if(n.setter){a[n.property]=n.args[0];return}const d=a[n.property];n.property==="drawImage"&&typeof n.args[0]=="string"?(s.get(e),d.apply(a,n.args)):d.apply(a,o)}catch(d){i(n,d)}})}async function Es({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{const l=i.get(e)||t,u="commands"in l?l.commands:[l];if([Te.WebGL,Te.WebGL2].includes(t.type)){for(let o=0;o<u.length;o++){const c=u[o];await wc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await bc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(l){a(t,l)}}class Sc{constructor(t){N(this,"mediaMap",new Map),N(this,"warn"),N(this,"service"),N(this,"speedService"),N(this,"emitter"),N(this,"getCurrentTime"),N(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(G.Start,this.start.bind(this)),this.emitter.on(G.SkipStart,this.start.bind(this)),this.emitter.on(G.Pause,this.pause.bind(this)),this.emitter.on(G.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){const a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,l="duration"in r&&r.duration;if(Number.isNaN(l)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&l!==!1&&(u=u%l),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;const r=()=>{this.metadataCallbackMap.delete(t);const s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){var f,m,p,g,w;const i=this.mediaMap.get(t),{type:a,playbackRate:l,currentTime:u,muted:o,volume:c,loop:n}=s;return{isPlaying:a===Fe.Play||a!==Fe.Pause&&((i==null?void 0:i.isPlaying)||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:(f=u!=null?u:i==null?void 0:i.currentTimeAtLastInteraction)!=null?f:0,lastInteractionTimeOffset:r,playbackRate:(m=l!=null?l:i==null?void 0:i.playbackRate)!=null?m:1,volume:(p=c!=null?c:i==null?void 0:i.volume)!=null?p:1,muted:(g=o!=null?o:i==null?void 0:i.muted)!=null?g:t.getAttribute("muted")===null,loop:(w=n!=null?n:i==null?void 0:i.loop)!=null?w:t.getAttribute("loop")===null}}syncTargetWithState(t){const r=this.mediaMap.get(t);if(!r)return;const{muted:s,loop:i,volume:a,isPlaying:l}=r,u=this.service.state.matches("paused"),o=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==o&&(t.playbackRate=o),l&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;const i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;const l=this.service.state.matches("paused"),u=a.attributes;let o=!1;u.rr_mediaState?o=u.rr_mediaState==="played":o=i.getAttribute("autoplay")!==null,o&&l&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let n=!1;typeof u.rr_mediaMuted=="boolean"?n=u.rr_mediaMuted:n=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let h=1;typeof u.rr_mediaVolume=="number"&&(h=u.rr_mediaVolume);let f=0;typeof u.rr_mediaCurrentTime=="number"&&(f=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:o,currentTimeAtLastInteraction:f,lastInteractionTimeOffset:r,playbackRate:c,volume:h,muted:n,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}}function Tt(e,t){if(e.nodeName!=="DIALOG"||e instanceof xe)return;const r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),l=typeof(t==null?void 0:t.attributes.open)=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),l&&(u?r.showModal():r.show())}}function Cc(e,t){if(e.nodeName!=="DIALOG"||e instanceof xe)return;const r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}const Ec=5*1e3,xc=uc,Zn="[replayer]",ps={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function Kn(e){return e.type==k.IncrementalSnapshot&&(e.data.source==_.TouchMove||e.data.source==_.MouseInteraction&&e.data.type==H.TouchStart)}class Rc{constructor(t,r){if(N(this,"wrapper"),N(this,"iframe"),N(this,"service"),N(this,"speedService"),N(this,"config"),N(this,"usingVirtualDom",!1),N(this,"virtualDom",new nt),N(this,"mouse"),N(this,"mouseTail",null),N(this,"tailPositions",[]),N(this,"emitter",xc()),N(this,"nextUserInteractionEvent"),N(this,"legacy_missingNodeRetryMap",{}),N(this,"cache",en()),N(this,"imageMap",new Map),N(this,"canvasEventMap",new Map),N(this,"mirror",no()),N(this,"styleMirror",new li),N(this,"mediaManager"),N(this,"firstFullSnapshot",null),N(this,"newDocumentQueue",[]),N(this,"mousePos",null),N(this,"touchActive",null),N(this,"lastMouseDownEvent",null),N(this,"lastHoveredRootNode"),N(this,"lastSelectionData",null),N(this,"constructedStyleMutations",[]),N(this,"adoptedStyleSheets",[]),N(this,"handleResize",u=>{this.iframe.style.display="inherit";for(const o of[this.mouseTail,this.iframe])o&&(o.setAttribute("width",String(u.width)),o.setAttribute("height",String(u.height)))}),N(this,"applyEventsSynchronously",u=>{for(const o of u){switch(o.type){case k.DomContentLoaded:case k.Load:case k.Custom:continue;case k.FullSnapshot:case k.Meta:case k.Plugin:case k.IncrementalSnapshot:break}this.getCastFn(o,!0)()}}),N(this,"getCastFn",(u,o=!1)=>{let c;switch(u.type){case k.DomContentLoaded:case k.Load:break;case k.Custom:c=()=>{this.emitter.emit(G.CustomEvent,u)};break;case k.Meta:c=()=>this.emitter.emit(G.Resize,{width:u.data.width,height:u.data.height});break;case k.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,o),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case k.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,o),!o&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(const d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){const d=this.nextUserInteractionEvent.delay-u.delay,h={speed:Math.min(Math.round(d/Ec),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:h}),this.emitter.emit(G.SkipStart,h)}}};break}return()=>{c&&c();for(const h of this.config.plugins||[])h.handler&&h.handler(u,o,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});const d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){const h=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(G.Finish))};let f=50;u.type===k.IncrementalSnapshot&&u.data.source===_.MouseMove&&u.data.positions.length&&(f+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(h,f)}this.emitter.emit(G.EventCast,u)}}),!(r!=null&&r.liveMode)&&t.length<2)throw new Error("Replayer need at least 2 events.");const s={speed:1,maxSpeed:360,root:document.body,loadTimeout:5e3,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:ps,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(G.Resize,this.handleResize),this.setupDom();for(const u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(G.Flush,()=>{if(this.usingVirtualDom){const u={mirror:this.mirror,applyCanvas:(o,c,n)=>{Es({event:o,mutation:c,target:n,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(o,c)=>{o.source===_.StyleSheetRule?this.applyStyleSheetRule(o,c):o.source===_.StyleDeclaration&&this.applyStyleDeclaration(o,c)},afterAppend:(o,c)=>{for(const n of this.config.plugins||[])n.onBuild&&n.onBuild(o,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{$t(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(o){console.warn(o)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(const o in this.legacy_missingNodeRetryMap)try{const c=this.legacy_missingNodeRetryMap[o],n=Wt(c.node,this.mirror,this.virtualDom.mirror);$t(n,c.node,u,this.virtualDom.mirror),c.node=n}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(o=>{this.applyStyleSheetMutation(o)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(o=>{this.applyAdoptedStyleSheet(o)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){const[u,o]=this.lastMouseDownEvent;u.dispatchEvent(o)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(G.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});const i=new hc([],{speed:this.config.speed});this.service=dc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,o)=>u.timestamp-o.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(G.StateChange,{player:u})}),this.speedService=pc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(G.StateChange,{speed:u})}),this.mediaManager=new Sc({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});const a=this.service.state.context.events.find(u=>u.type===k.Meta),l=this.service.state.context.events.find(u=>u.type===k.FullSnapshot);if(a){const{width:u,height:o}=a.data;setTimeout(()=>{this.emitter.emit(G.Resize,{width:u,height:o})},0)}l&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=l,this.rebuildFullSnapshot(l),(u=this.iframe.contentWindow)==null||u.scrollTo(l.data.initialOffset))},1),this.service.state.context.events.find(Kn)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed!="undefined"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail!="undefined"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){const t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){const{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(G.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(G.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(G.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(G.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){const r=this.config.unpackFn?this.config.unpackFn(t):t;Kn(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=en()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.iframe=document.createElement("iframe");const t=["allow-same-origin"];this.config.UNSAFE_replayCanvas&&t.push("allow-scripts"),this.iframe.style.display="none",this.iframe.setAttribute("sandbox",t.join(" ")),this.disableInteract(),this.wrapper.appendChild(this.iframe),this.iframe.contentWindow&&this.iframe.contentDocument&&(cc(this.iframe.contentWindow,this.iframe.contentDocument),ii(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};const s=[],i=new Set,a=(o,c)=>{if(o.nodeName==="DIALOG"&&i.add(o),this.collectIframeAndAttachDocument(s,o),this.mediaManager.isSupportedMediaElement(o)){const{events:n}=this.service.state.context;this.mediaManager.addMediaElements(o,t.timestamp-n[0].timestamp,this.mirror)}for(const n of this.config.plugins||[])n.onBuild&&n.onBuild(o,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Nl(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror}),a(this.iframe.contentDocument,t.data.node.id);for(const{mutationInQueue:o,builtNode:c}of s)this.attachDocumentToIframe(o,c),this.newDocumentQueue=this.newDocumentQueue.filter(n=>n!==o);const{documentElement:l,head:u}=this.iframe.contentDocument;this.insertStyleRules(l,u),i.forEach(o=>Tt(o)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(G.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;const i=mc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){const a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,ko(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:_.StyleSheetRule,adds:i.map((l,u)=>({rule:l,index:u}))})}else{const a=document.createElement("style");t.insertBefore(a,r);for(let l=0;l<i.length;l++)(s=a.sheet)==null||s.insertRule(i[l],l)}}attachDocumentToIframe(t,r){const s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,l=(u,o)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);const c=s.getMeta(u);if((c==null?void 0:c.type)===Ae.Element&&(c==null?void 0:c.tagName.toUpperCase())==="HTML"){const{documentElement:n,head:d}=r.contentDocument;this.insertStyleRules(n,d)}if(!this.usingVirtualDom)for(const n of this.config.plugins||[])n.onBuild&&n.onBuild(u,{id:o,replayer:this})};ht(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:l,cache:this.cache}),l(r.contentDocument,t.node.id);for(const{mutationInQueue:u,builtNode:o}of i)this.attachDocumentToIframe(u,o),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>Tt(u))}collectIframeAndAttachDocument(t,r){if(st(r,this.mirror)){const s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;const r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){const s=new Set;let i,a=this.service.state;const l=()=>{a=this.service.state};this.emitter.on(G.Start,l),this.emitter.on(G.Pause,l);const u=()=>{this.emitter.off(G.Start,l),this.emitter.off(G.Pause,l)};r.querySelectorAll('link[rel="stylesheet"]').forEach(o=>{if(!o.sheet){s.add(o);const c=()=>{s.delete(o),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(G.LoadStylesheetEnd),i&&clearTimeout(i),u())};o.addEventListener("load",c),o.addEventListener("error",c)}}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(G.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){const t=[];for(const r of this.service.state.context.events)r.type===k.IncrementalSnapshot&&r.data.source===_.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){const s=document.createElement("canvas"),i=s.getContext("2d"),a=i==null?void 0:i.createImageData(s.width,s.height);i==null||i.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){const s={isUnchanged:!0};if("commands"in t){const i=await Promise.all(t.commands.map(async a=>{const l=await Promise.all(a.args.map(Be(this.imageMap,null,s)));return ce(U({},a),{args:l})}));s.isUnchanged===!1&&this.canvasEventMap.set(r,ce(U({},t),{commands:i}))}else{const i=await Promise.all(t.args.map(Be(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,ce(U({},t),{args:i}))}}}applyIncremental(t,r){var s,i,a;const{data:l}=t;switch(l.source){case _.Mutation:{try{this.applyMutation(l,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,l)}break}case _.Drag:case _.TouchMove:case _.MouseMove:if(r){const u=l.positions[l.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:l}}else l.positions.forEach(u=>{const o={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,l)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(o)}),this.timer.addAction({doAction(){},delay:t.delay-((s=l.positions[0])==null?void 0:s.timeOffset)});break;case _.MouseInteraction:{if(l.id===-1)break;const u=new Event($e(H[l.type])),o=this.mirror.getNode(l.id);if(!o)return this.debugNodeNotFound(l,l.id);this.emitter.emit(G.MouseInteraction,{type:l.type,target:o});const{triggerFocus:c}=this.config;switch(l.type){case H.Blur:"blur"in o&&o.blur();break;case H.Focus:c&&o.focus&&o.focus({preventScroll:!0});break;case H.Click:case H.TouchStart:case H.TouchEnd:case H.MouseDown:case H.MouseUp:r?(l.type===H.TouchStart?this.touchActive=!0:l.type===H.TouchEnd&&(this.touchActive=!1),l.type===H.MouseDown?this.lastMouseDownEvent=[o,u]:l.type===H.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:l.x||0,y:l.y||0,id:l.id,debugData:l}):(l.type===H.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(l.x||0,l.y||0,l.id,r,l),l.type===H.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):l.type===H.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):l.type===H.TouchEnd?this.mouse.classList.remove("touch-active"):o.dispatchEvent(u));break;case H.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:o.dispatchEvent(u)}break}case _.Scroll:{if(l.id===-1)break;if(this.usingVirtualDom){const u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.scrollData=l;break}this.applyScroll(l,r);break}case _.ViewportResize:this.emitter.emit(G.Resize,{width:l.width,height:l.height});break;case _.Input:{if(l.id===-1)break;if(this.usingVirtualDom){const u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.inputData=l;break}this.applyInput(l);break}case _.MediaInteraction:{const u=this.usingVirtualDom?this.virtualDom.mirror.getNode(l.id):this.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);const o=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:o,timeOffset:t.timestamp-c[0].timestamp,mutation:l});break}case _.StyleSheetRule:case _.StyleDeclaration:{this.usingVirtualDom?l.styleId?this.constructedStyleMutations.push(l):l.id&&((i=this.virtualDom.mirror.getNode(l.id))==null||i.rules.push(l)):this.applyStyleSheetMutation(l);break}case _.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){const u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.canvasMutations.push({event:t,mutation:l})}else{const u=this.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);Es({event:t,mutation:l,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case _.Font:{try{const u=new FontFace(l.family,l.buffer?new Uint8Array(JSON.parse(l.fontSource)):l.fontSource,l.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case _.Selection:{if(r){this.lastSelectionData=l;break}this.applySelection(l);break}case _.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(l):this.applyAdoptedStyleSheet(l);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,mu(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(const c in this.legacy_missingNodeRetryMap)try{const n=this.legacy_missingNodeRetryMap[c],d=_o(n.node,this.virtualDom,this.mirror);d&&(n.node=d)}catch(n){this.warn(n)}const s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var n;const d=s.getNode(c.id);if(!d)return;let h=s.getNode(c.parentId);if(!h)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(h)&&(h=h.shadowRoot),s.removeNodeFromMap(d),h)try{h.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&h.nodeName==="STYLE"&&((n=h.rules)==null?void 0:n.length)>0&&(h.rules=[])}catch(f){if(f instanceof DOMException)this.warn("parent could not remove child in mutation",h,d,t);else throw f}});const i=U({},this.legacy_missingNodeRetryMap),a=[],l=c=>{let n=null;return c.nextId&&(n=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!n},u=c=>{var n,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let h=s.getNode(c.parentId);if(!h)return c.node.type===Ae.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(h)||h.attachShadow({mode:"open"}),h=h.shadowRoot);let f=null,m=null;if(c.previousId&&(f=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),l(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;const p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(st(h,s)){this.attachDocumentToIframe(c,h);return}const g=(v,C)=>{if(!this.usingVirtualDom){Tt(v);for(const S of this.config.plugins||[])S.onBuild&&S.onBuild(v,{id:C,replayer:this})}},w=ht(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:w,mutation:c};return}const y=s.getMeta(h);if(y&&y.type===Ae.Element&&c.node.type===Ae.Text){const v=Array.isArray(h.childNodes)?h.childNodes:Array.from(h.childNodes);if(y.tagName==="textarea")for(const C of v)C.nodeType===h.TEXT_NODE&&h.removeChild(C);else if(y.tagName==="style"&&v.length===1)for(const C of v)C.nodeType===h.TEXT_NODE&&!s.hasNode(C)&&(w.textContent=C.textContent,h.removeChild(C))}else if((y==null?void 0:y.type)===Ae.Document){const v=h;c.node.type===Ae.DocumentType&&((n=v.childNodes[0])==null?void 0:n.nodeType)===Node.DOCUMENT_TYPE_NODE&&v.removeChild(v.childNodes[0]),w.nodeName==="HTML"&&v.documentElement&&v.removeChild(v.documentElement)}if(f&&f.nextSibling&&f.nextSibling.parentNode?h.insertBefore(w,f.nextSibling):m&&m.parentNode?h.contains(m)?h.insertBefore(w,m):h.insertBefore(w,null):h.appendChild(w),g(w,c.node.id),this.usingVirtualDom&&w.nodeName==="#text"&&h.nodeName==="STYLE"&&((d=h.rules)==null?void 0:d.length)>0&&(h.rules=[]),st(w,this.mirror)){const v=this.mirror.getId(w),C=this.newDocumentQueue.find(S=>S.parentId===v);C&&(this.attachDocumentToIframe(C,w),this.newDocumentQueue=this.newDocumentQueue.filter(S=>S!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,h,w,c)};t.adds.forEach(c=>{u(c)});const o=Date.now();for(;a.length;){const c=Uo(a);if(a.length=0,Date.now()-o>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(const n of c)s.getNode(n.value.parentId)?ni(n,h=>{u(h)}):this.debug("Drop resolve tree since there is no parent for the root node.",n)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Bo(t.texts).forEach(c=>{var n;const d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);const h=d.parentElement;if(c.value&&h&&h.tagName==="STYLE"?d.textContent=Qt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){const f=d.parentNode;((n=f==null?void 0:f.rules)==null?void 0:n.length)>0&&(f.rules=[])}}),t.attributes.forEach(c=>{var n;const d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(const h in c.attributes)if(typeof h=="string"){const f=c.attributes[h];if(f===null)d.removeAttribute(h),h==="open"&&Cc(d,c);else if(typeof f=="string")try{if(h==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{const m=s.getMeta(d),p=ht(ce(U({},m),{attributes:U(U({},m.attributes),c.attributes)}),{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);const g=d.nextSibling,w=d.parentNode;if(p&&w){w.removeChild(d),w.insertBefore(p,g),s.replace(c.id,p);break}}catch(m){}if(h==="value"&&d.nodeName==="TEXTAREA"){const m=d;m.childNodes.forEach(g=>m.removeChild(g));const p=(n=d.ownerDocument)==null?void 0:n.createTextNode(f);p&&m.appendChild(p)}else d.setAttribute(h,f);h==="rr_open_mode"&&d.nodeName==="DIALOG"&&Tt(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(h==="style"){const m=f,p=d;for(const g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){const w=m[g];p.style.setProperty(g,w[0],w[1])}else{const w=m[g];p.style.setProperty(g,w)}}}})}applyScroll(t,r){var s,i;const a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);const l=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if((l==null?void 0:l.type)===Ae.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch(u){}}applyInput(t){const r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch(s){}}applySelection(t){try{const r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:l,endOffset:u})=>{const o=this.mirror.getNode(i),c=this.mirror.getNode(l);if(!o||!c)return;const n=new Range;n.setStart(o,a),n.setEnd(c,u);const d=o.ownerDocument,h=d==null?void 0:d.getSelection();return h&&r.add(h),{range:n,selection:h}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch(r){}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===_.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===_.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,l;if((s=t.adds)==null||s.forEach(({rule:u,index:o})=>{try{if(Array.isArray(o)){const{positions:c,index:n}=Ss(o),d=et(r.cssRules,c);d==null||d.insertRule(u,n)}else{const c=o===void 0?void 0:Math.min(o,r.cssRules.length);r==null||r.insertRule(u,c)}}catch(c){}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){const{positions:o,index:c}=Ss(u),n=et(r.cssRules,o);n==null||n.deleteRule(c||0)}else r==null||r.deleteRule(u)}catch(o){}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch(u){}if(typeof t.replaceSync=="string")try{(l=r.replaceSync)==null||l.call(r,t.replaceSync)}catch(u){}}applyStyleDeclaration(t,r){if(t.set){const s=et(r.rules,t.index);s!=null&&s.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){const s=et(r.rules,t.index);s!=null&&s.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;const s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var o;let c=null,n=null;if(Ue(s)?n=((o=s.ownerDocument)==null?void 0:o.defaultView)||null:s.nodeName==="#document"&&(n=s.defaultView),!!n)try{c=new n.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:_.StyleSheetRule,adds:u.rules},c)}catch(d){}});const i=10;let a=0;const l=(u,o)=>{const c=o.map(n=>this.styleMirror.getStyle(n)).filter(n=>n!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==o.length&&a<i&&(setTimeout(()=>l(u,o),0+100*a),a++)};l(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){const{previousId:a,nextId:l}=i,u=a&&t[a],o=l&&t[l];if(u){const{node:c,mutation:n}=u;r.insertBefore(c,s),delete t[n.node.id],delete this.legacy_missingNodeRetryMap[n.node.id],(n.previousId||n.nextId)&&this.legacy_resolveMissingNode(t,r,c,n)}if(o){const{node:c,mutation:n}=o;r.insertBefore(c,s.nextSibling),delete t[n.node.id],delete this.legacy_missingNodeRetryMap[n.node.id],(n.previousId||n.nextId)&&this.legacy_resolveMissingNode(t,r,c,n)}}moveAndHover(t,r,s,i,a){const l=this.mirror.getNode(s);if(!l)return this.debugNodeNotFound(a,s);const u=ai(l,this.iframe),o=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${o}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:o,y:c}),this.hoverElements(l)}drawMouseTail(t){if(!this.mouseTail)return;const{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?ps:Object.assign({},ps,this.config.mouseTail),l=()=>{if(!this.mouseTail)return;const u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(o=>u.lineTo(o.x,o.y)),u.stroke())};this.tailPositions.push(t),l(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),l()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==k.IncrementalSnapshot?!1:t.data.source>_.Mutation&&t.data.source<=_.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(G.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(Zn,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(Zn,...t)}}const{addCustomEvent:Mc}=ze,{freezePage:Nc}=ze,{takeFullSnapshot:Oc}=ze;var me=Uint8Array,ge=Uint16Array,mt=Uint32Array,nr=new me([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),or=new me([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),xs=new me([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ta=function(e,t){for(var r=new ge(31),s=0;s<31;++s)r[s]=t+=1<<e[s-1];for(var i=new mt(r[30]),s=1;s<30;++s)for(var a=r[s];a<r[s+1];++a)i[a]=a-r[s]<<5|s;return[r,i]},ra=ta(nr,2),sa=ra[0],Rs=ra[1];sa[28]=258,Rs[258]=28;var ia=ta(or,0),Ic=ia[0],eo=ia[1],Ms=new ge(32768);for(var se=0;se<32768;++se){var Pe=(se&43690)>>>1|(se&21845)<<1;Pe=(Pe&52428)>>>2|(Pe&13107)<<2,Pe=(Pe&61680)>>>4|(Pe&3855)<<4,Ms[se]=((Pe&65280)>>>8|(Pe&255)<<8)>>>1}var Ne=function(e,t,r){for(var s=e.length,i=0,a=new ge(t);i<s;++i)++a[e[i]-1];var l=new ge(t);for(i=0;i<t;++i)l[i]=l[i-1]+a[i-1]<<1;var u;if(r){u=new ge(1<<t);var o=15-t;for(i=0;i<s;++i)if(e[i])for(var c=i<<4|e[i],n=t-e[i],d=l[e[i]-1]++<<n,h=d|(1<<n)-1;d<=h;++d)u[Ms[d]>>>o]=c}else for(u=new ge(s),i=0;i<s;++i)u[i]=Ms[l[e[i]-1]++]>>>15-e[i];return u},We=new me(288);for(var se=0;se<144;++se)We[se]=8;for(var se=144;se<256;++se)We[se]=9;for(var se=256;se<280;++se)We[se]=7;for(var se=280;se<288;++se)We[se]=8;var gt=new me(32);for(var se=0;se<32;++se)gt[se]=5;var Dc=Ne(We,9,0),Ac=Ne(We,9,1),Tc=Ne(gt,5,0),_c=Ne(gt,5,1),ms=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},be=function(e,t,r){var s=t/8>>0;return(e[s]|e[s+1]<<8)>>>(t&7)&r},gs=function(e,t){var r=t/8>>0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>>(t&7)},hi=function(e){return(e/8>>0)+(e&7&&1)},fi=function(e,t,r){(r==null||r>e.length)&&(r=e.length);var s=new(e instanceof ge?ge:e instanceof mt?mt:me)(r-t);return s.set(e.subarray(t,r)),s},kc=function(e,t,r){var s=e.length,i=!t||r,a=!r||r.i;r||(r={}),t||(t=new me(s*3));var l=function(Re){var le=t.length;if(Re>le){var he=new me(Math.max(le*2,Re));he.set(t),t=he}},u=r.f||0,o=r.p||0,c=r.b||0,n=r.l,d=r.d,h=r.m,f=r.n,m=s*8;do{if(!n){r.f=u=be(e,o,1);var p=be(e,o+1,3);if(o+=3,p)if(p==1)n=Ac,d=_c,h=9,f=5;else if(p==2){var v=be(e,o,31)+257,C=be(e,o+10,15)+4,S=v+be(e,o+5,31)+1;o+=14;for(var b=new me(S),E=new me(19),x=0;x<C;++x)E[xs[x]]=be(e,o+x*3,7);o+=C*3;var I=ms(E),M=(1<<I)-1;if(!a&&o+S*(I+7)>m)break;for(var L=Ne(E,I,1),x=0;x<S;){var D=L[be(e,o,M)];o+=D&15;var g=D>>>4;if(g<16)b[x++]=g;else{var R=0,Y=0;for(g==16?(Y=3+be(e,o,3),o+=2,R=b[x-1]):g==17?(Y=3+be(e,o,7),o+=3):g==18&&(Y=11+be(e,o,127),o+=7);Y--;)b[x++]=R}}var J=b.subarray(0,v),P=b.subarray(v);h=ms(J),f=ms(P),n=Ne(J,h,1),d=Ne(P,f,1)}else throw"invalid block type";else{var g=hi(o)+4,w=e[g-4]|e[g-3]<<8,y=g+w;if(y>s){if(a)throw"unexpected EOF";break}i&&l(c+w),t.set(e.subarray(g,y),c),r.b=c+=w,r.p=o=y*8;continue}if(o>m)throw"unexpected EOF"}i&&l(c+131072);for(var A=(1<<h)-1,W=(1<<f)-1,X=h+f+18;a||o+X<m;){var R=n[gs(e,o)&A],V=R>>>4;if(o+=R&15,o>m)throw"unexpected EOF";if(!R)throw"invalid length/literal";if(V<256)t[c++]=V;else if(V==256){n=null;break}else{var B=V-254;if(V>264){var x=V-257,ue=nr[x];B=be(e,o,(1<<ue)-1)+sa[x],o+=ue}var O=d[gs(e,o)&W],re=O>>>4;if(!O)throw"invalid distance";o+=O&15;var P=Ic[re];if(re>3){var ue=or[re];P+=gs(e,o)&(1<<ue)-1,o+=ue}if(o>m)throw"unexpected EOF";i&&l(c+131072);for(var Q=c+B;c<Q;c+=4)t[c]=t[c-P],t[c+1]=t[c+1-P],t[c+2]=t[c+2-P],t[c+3]=t[c+3-P];c=Q}}r.l=n,r.p=o,r.b=c,n&&(u=1,r.m=h,r.d=d,r.n=f)}while(!u);return c==t.length?t:fi(t,0,c)},Ie=function(e,t,r){r<<=t&7;var s=t/8>>0;e[s]|=r,e[s+1]|=r>>>8},ot=function(e,t,r){r<<=t&7;var s=t/8>>0;e[s]|=r,e[s+1]|=r>>>8,e[s+2]|=r>>>16},ys=function(e,t){for(var r=[],s=0;s<e.length;++s)e[s]&&r.push({s,f:e[s]});var i=r.length,a=r.slice();if(!i)return[new me(0),0];if(i==1){var l=new me(r[0].s+1);return l[r[0].s]=1,[l,1]}r.sort(function(S,b){return S.f-b.f}),r.push({s:-1,f:25001});var u=r[0],o=r[1],c=0,n=1,d=2;for(r[0]={s:-1,f:u.f+o.f,l:u,r:o};n!=i-1;)u=r[r[c].f<r[d].f?c++:d++],o=r[c!=n&&r[c].f<r[d].f?c++:d++],r[n++]={s:-1,f:u.f+o.f,l:u,r:o};for(var h=a[0].s,s=1;s<i;++s)a[s].s>h&&(h=a[s].s);var f=new ge(h+1),m=Ns(r[n-1],f,0);if(m>t){var s=0,p=0,g=m-t,w=1<<g;for(a.sort(function(b,E){return f[E.s]-f[b.s]||b.f-E.f});s<i;++s){var y=a[s].s;if(f[y]>t)p+=w-(1<<m-f[y]),f[y]=t;else break}for(p>>>=g;p>0;){var v=a[s].s;f[v]<t?p-=1<<t-f[v]++-1:++s}for(;s>=0&&p;--s){var C=a[s].s;f[C]==t&&(--f[C],++p)}m=t}return[new me(f),m]},Ns=function(e,t,r){return e.s==-1?Math.max(Ns(e.l,t,r+1),Ns(e.r,t,r+1)):t[e.s]=r},to=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new ge(++t),s=0,i=e[0],a=1,l=function(o){r[s++]=o},u=1;u<=t;++u)if(e[u]==i&&u!=t)++a;else{if(!i&&a>2){for(;a>138;a-=138)l(32754);a>2&&(l(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(l(i),--a;a>6;a-=6)l(8304);a>2&&(l(a-3<<5|8208),a=0)}for(;a--;)l(i);a=1,i=e[u]}return[r.subarray(0,s),t]},at=function(e,t){for(var r=0,s=0;s<t.length;++s)r+=e[s]*t[s];return r},Os=function(e,t,r){var s=r.length,i=hi(t+2);e[i]=s&255,e[i+1]=s>>>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a<s;++a)e[i+a+4]=r[a];return(i+4+s)*8},ro=function(e,t,r,s,i,a,l,u,o,c,n){Ie(t,n++,r),++i[256];for(var d=ys(i,15),h=d[0],f=d[1],m=ys(a,15),p=m[0],g=m[1],w=to(h),y=w[0],v=w[1],C=to(p),S=C[0],b=C[1],E=new ge(19),x=0;x<y.length;++x)E[y[x]&31]++;for(var x=0;x<S.length;++x)E[S[x]&31]++;for(var I=ys(E,7),M=I[0],L=I[1],D=19;D>4&&!M[xs[D-1]];--D);var R=c+5<<3,Y=at(i,We)+at(a,gt)+l,J=at(i,h)+at(a,p)+l+14+3*D+at(E,M)+(2*E[16]+3*E[17]+7*E[18]);if(R<=Y&&R<=J)return Os(t,n,e.subarray(o,o+c));var P,A,W,X;if(Ie(t,n,1+(J<Y)),n+=2,J<Y){P=Ne(h,f,0),A=h,W=Ne(p,g,0),X=p;var V=Ne(M,L,0);Ie(t,n,v-257),Ie(t,n+5,b-1),Ie(t,n+10,D-4),n+=14;for(var x=0;x<D;++x)Ie(t,n+3*x,M[xs[x]]);n+=3*D;for(var B=[y,S],ue=0;ue<2;++ue)for(var O=B[ue],x=0;x<O.length;++x){var re=O[x]&31;Ie(t,n,V[re]),n+=M[re],re>15&&(Ie(t,n,O[x]>>>5&127),n+=O[x]>>>12)}}else P=Dc,A=We,W=Tc,X=gt;for(var x=0;x<u;++x)if(s[x]>255){var re=s[x]>>>18&31;ot(t,n,P[re+257]),n+=A[re+257],re>7&&(Ie(t,n,s[x]>>>23&31),n+=nr[re]);var Q=s[x]&31;ot(t,n,W[Q]),n+=X[Q],Q>3&&(ot(t,n,s[x]>>>5&8191),n+=or[Q])}else ot(t,n,P[s[x]]),n+=A[s[x]];return ot(t,n,P[256]),n+A[256]},Pc=new mt([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Lc=function(e,t,r,s,i,a){var l=e.length,u=new me(s+l+5*(1+Math.floor(l/7e3))+i),o=u.subarray(s,u.length-i),c=0;if(!t||l<8)for(var n=0;n<=l;n+=65535){var d=n+65535;d<l?c=Os(o,c,e.subarray(n,d)):(o[n]=a,c=Os(o,c,e.subarray(n,l)))}else{for(var h=Pc[t-1],f=h>>>13,m=h&8191,p=(1<<r)-1,g=new ge(32768),w=new ge(p+1),y=Math.ceil(r/3),v=2*y,C=function(ee){return(e[ee]^e[ee+1]<<y^e[ee+2]<<v)&p},S=new mt(25e3),b=new ge(288),E=new ge(32),x=0,I=0,n=0,M=0,L=0,D=0;n<l;++n){var R=C(n),Y=n&32767,J=w[R];if(g[Y]=J,w[R]=Y,L<=n){var P=l-n;if((x>7e3||M>24576)&&P>423){c=ro(e,o,0,S,b,E,I,M,D,n-D,c),M=x=I=0,D=n;for(var A=0;A<286;++A)b[A]=0;for(var A=0;A<30;++A)E[A]=0}var W=2,X=0,V=m,B=Y-J&32767;if(P>2&&R==C(n-B))for(var ue=Math.min(f,P)-1,O=Math.min(32767,n),re=Math.min(258,P);B<=O&&--V&&Y!=J;){if(e[n+W]==e[n+W-B]){for(var Q=0;Q<re&&e[n+Q]==e[n+Q-B];++Q);if(Q>W){if(W=Q,X=B,Q>ue)break;for(var Re=Math.min(B,Q-2),le=0,A=0;A<Re;++A){var he=n-B+A+32768&32767,Oe=g[he],we=he-Oe+32768&32767;we>le&&(le=we,J=he)}}}Y=J,J=g[Y],B+=Y-J+32768&32767}if(X){S[M++]=268435456|Rs[W]<<18|eo[X];var F=Rs[W]&31,oe=eo[X]&31;I+=nr[F]+or[oe],++b[257+F],++E[oe],L=n+W,++x}else S[M++]=e[n],++b[e[n]]}}c=ro(e,o,a,S,b,E,I,M,D,n-D,c)}return fi(u,0,s+hi(c)+i)},Fc=function(){var e=1,t=0;return{p:function(r){for(var s=e,i=t,a=r.length,l=0;l!=a;){for(var u=Math.min(l+5552,a);l<u;++l)s+=r[l],i+=s;s%=65521,i%=65521}e=s,t=i},d:function(){return(e>>>8<<16|(t&255)<<8|t>>>8)+((e&255)<<23)*2}}},Uc=function(e,t,r,s,i){return Lc(e,t.level==null?6:t.level,t.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):12+t.mem,r,s,!0)},Bc=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},$c=function(e,t){var r=t.level,s=r==0?0:r<6?1:r==9?3:2;e[0]=120,e[1]=s<<6|(s?32-2*s:1)},Wc=function(e){if((e[0]&15)!=8||e[0]>>>4>7||(e[0]<<8|e[1])%31)throw"invalid zlib data";if(e[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function zc(e,t){t===void 0&&(t={});var r=Fc();r.p(e);var s=Uc(e,t,2,4);return $c(s,t),Bc(s,s.length-4,r.d()),s}function qc(e,t){return kc((Wc(e),e.subarray(2,-4)),t)}function na(e,t){var r=e.length;if(!t&&typeof TextEncoder!="undefined")return new TextEncoder().encode(e);for(var s=new me(e.length+(e.length>>>1)),i=0,a=function(c){s[i++]=c},l=0;l<r;++l){if(i+5>s.length){var u=new me(i+8+(r-l<<1));u.set(s),s=u}var o=e.charCodeAt(l);o<128||t?a(o):o<2048?(a(192|o>>>6),a(128|o&63)):o>55295&&o<57344?(o=65536+(o&1047552)|e.charCodeAt(++l)&1023,a(240|o>>>18),a(128|o>>>12&63),a(128|o>>>6&63),a(128|o&63)):(a(224|o>>>12),a(128|o>>>6&63),a(128|o&63))}return fi(s,0,i)}function oa(e,t){var r="";if(!t&&typeof TextDecoder!="undefined")return new TextDecoder().decode(e);for(var s=0;s<e.length;){var i=e[s++];i<128||t?r+=String.fromCharCode(i):i<224?r+=String.fromCharCode((i&31)<<6|e[s++]&63):i<240?r+=String.fromCharCode((i&15)<<12|(e[s++]&63)<<6|e[s++]&63):(i=((i&15)<<18|(e[s++]&63)<<12|(e[s++]&63)<<6|e[s++]&63)-65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}return r}const Is="v1",Vc=e=>{const t=ce(U({},e),{v:Is});return oa(zc(na(JSON.stringify(t))),!0)},jc=e=>{if(typeof e!="string")return e;try{const t=JSON.parse(e);if(t.timestamp)return t}catch(t){}try{const t=JSON.parse(oa(qc(na(e,!0))));if(t.v===Is)return t;throw new Error(`These events were packed with packer ${t.v} which is incompatible with current packer ${Is}.`)}catch(t){throw console.error(t),new Error("Unknown data format.")}};exports.EventType=k;exports.IncrementalSource=_;exports.MouseInteractions=H;exports.Replayer=Rc;exports.ReplayerEvents=G;exports.addCustomEvent=Mc;exports.canvasMutation=Es;exports.freezePage=Nc;exports.pack=Vc;exports.record=ze;exports.takeFullSnapshot=Oc;exports.unpack=jc;exports.utils=Au;
155
+ ***************************************************************************** */function Gn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),l=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)l.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return l}var rt;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(rt||(rt={}));var Xo={type:"xstate.init"};function ds(e){return e===void 0?[]:[].concat(e)}function Qe(e){return{type:"xstate.assign",assignment:e}}function Hn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function jt(e){return function(t){return e===t}}function Qo(e){return typeof e=="string"?{type:e}:e}function Yn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:jt(e)}}function Jn(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var l=Object.assign({},s);return typeof a.assignment=="function"?l=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){l[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=l,!1}return!0}),s,i]}function Zo(e,t){t===void 0&&(t={});var r=Gn(Jn(ds(e.states[e.initial].entry).map(function(l){return Hn(l,t.actions)}),e.context,Xo),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:jt(e.initial)},transition:function(l,u){var o,c,n=typeof l=="string"?{value:l,context:e.context}:l,d=n.value,h=n.context,f=Qo(u),m=e.states[d];if(m.on){var p=ds(m.on[f.type]);try{for(var g=function(A){var W=typeof Symbol=="function"&&Symbol.iterator,X=W&&A[W],V=0;if(X)return X.call(A);if(A&&typeof A.length=="number")return{next:function(){return A&&V>=A.length&&(A=void 0),{value:A&&A[V++],done:!A}}};throw new TypeError(W?"Object is not iterable.":"Symbol.iterator is not defined.")}(p),w=g.next();!w.done;w=g.next()){var y=w.value;if(y===void 0)return Yn(d,h);var v=typeof y=="string"?{target:y}:y,C=v.target,S=v.actions,b=S===void 0?[]:S,E=v.cond,x=E===void 0?function(){return!0}:E,I=C===void 0,M=C!=null?C:d,L=e.states[M];if(x(h,f)){var D=Gn(Jn((I?ds(b):[].concat(m.exit,b,L.entry).filter(function(A){return A})).map(function(A){return Hn(A,a._options.actions)}),h,f),3),R=D[0],Y=D[1],J=D[2],P=C!=null?C:d;return{value:P,context:Y,actions:R,changed:C!==d||R.length>0||J,matches:jt(P)}}}}catch(A){o={error:A}}finally{try{w&&!w.done&&(c=g.return)&&c.call(g)}finally{if(o)throw o.error}}}return Yn(d,h)}};return a}var Xn=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function Ko(e){var t=e.initialState,r=rt.NotStarted,s=new Set,i={_machine:e,send:function(a){r===rt.Running&&(t=e.transition(t,a),Xn(t,Qo(a)),s.forEach(function(l){return l(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var l=typeof a=="object"?a:{context:e.config.context,value:a};t={value:l.value,actions:[],context:l.context,matches:jt(l.value)}}return r=rt.Running,Xn(t,Xo),i},stop:function(){return r=rt.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function fc(e,t){for(let r=e.length-1;r>=0;r--){const s=e[r];if(s.type===k.Meta&&s.timestamp<=t)return e.slice(r)}return e}function dc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){const i=Zo({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:Qe({lastPlayedEvent:(a,l)=>l.type==="CAST_EVENT"?l.payload.event:a.lastPlayedEvent}),recordTimeOffset:Qe((a,l)=>{let u=a.timeOffset;return"payload"in l&&"timeOffset"in l.payload&&(u=l.payload.timeOffset),ce(U({},a),{timeOffset:u,baselineTime:a.events[0].timestamp+u})}),play(a){var l;const{timer:u,events:o,baselineTime:c,lastPlayedEvent:n}=a;u.clear();for(const m of o)jn(m,c);const d=fc(o,c);let h=n==null?void 0:n.timestamp;(n==null?void 0:n.type)===k.IncrementalSnapshot&&n.data.source===_.MouseMove&&(h=n.timestamp+((l=n.data.positions[0])==null?void 0:l.timeOffset)),c<(h||0)&&s.emit(G.PlayBack);const f=new Array;for(const m of d)if(!(h&&h<c&&(m.timestamp<=h||m===n)))if(m.timestamp<c)f.push(m);else{const p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(f),s.emit(G.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:Qe(a=>ce(U({},a),{lastPlayedEvent:null})),startLive:Qe({baselineTime:(a,l)=>(a.timer.start(),l.type==="TO_LIVE"&&l.payload.baselineTime?l.payload.baselineTime:Date.now())}),addEvent:Qe((a,l)=>{const{baselineTime:u,timer:o,events:c}=a;if(l.type==="ADD_EVENT"){const{event:n}=l.payload;jn(n,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=n.timestamp)c.push(n);else{let m=-1,p=0;for(;p<=d;){const g=Math.floor((p+d)/2);c[g].timestamp<=n.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,n)}const h=n.timestamp<u,f=t(n,h);h?f():o.isActive()&&o.addAction({doAction:()=>{f()},delay:n.delay})}return ce(U({},a),{events:c})})}});return Ko(i)}function pc(e){const t=Zo({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:Qe({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return Ko(t)}const mc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],Qn=new Map;function ea(e,t){let r=Qn.get(e);return r||(r=new Map,Qn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function Be(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){const i=await Be(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;const{rr_type:i,index:a}=s;return ea(t,i)[a]}else if("args"in s){const{rr_type:i,args:a}=s,l=window[i];return new l(...await Promise.all(a.map(Be(e,t,r))))}else{if("base64"in s)return ec(s.base64);if("src"in s){const i=e.get(s.src);if(i)return i;{const a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){const i=await Promise.all(s.data.map(Be(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(Be(e,t,r)));return s}}function gc(e,t){try{return t===Te.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch(r){return null}}const yc=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function vc(e,t){if(!(t!=null&&t.constructor))return;const{name:r}=t.constructor;if(!yc.includes(r))return;const s=ea(e,r);s.includes(t)||s.push(t)}async function wc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{const a=gc(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}const l=a[e.property],u=await Promise.all(e.args.map(Be(s,a))),o=l.apply(a,u);vc(a,o);const c=!1}catch(a){i(e,a)}}async function bc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){const a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}const l=t.map(async o=>Promise.all(o.args.map(Be(s,a))));(await Promise.all(l)).forEach((o,c)=>{const n=t[c];try{if(n.setter){a[n.property]=n.args[0];return}const d=a[n.property];n.property==="drawImage"&&typeof n.args[0]=="string"?(s.get(e),d.apply(a,n.args)):d.apply(a,o)}catch(d){i(n,d)}})}async function Es({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{const l=i.get(e)||t,u="commands"in l?l.commands:[l];if([Te.WebGL,Te.WebGL2].includes(t.type)){for(let o=0;o<u.length;o++){const c=u[o];await wc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await bc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(l){a(t,l)}}class Sc{constructor(t){N(this,"mediaMap",new Map),N(this,"warn"),N(this,"service"),N(this,"speedService"),N(this,"emitter"),N(this,"getCurrentTime"),N(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(G.Start,this.start.bind(this)),this.emitter.on(G.SkipStart,this.start.bind(this)),this.emitter.on(G.Pause,this.pause.bind(this)),this.emitter.on(G.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){const a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,l="duration"in r&&r.duration;if(Number.isNaN(l)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&l!==!1&&(u=u%l),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;const r=()=>{this.metadataCallbackMap.delete(t);const s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){var f,m,p,g,w;const i=this.mediaMap.get(t),{type:a,playbackRate:l,currentTime:u,muted:o,volume:c,loop:n}=s;return{isPlaying:a===Fe.Play||a!==Fe.Pause&&((i==null?void 0:i.isPlaying)||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:(f=u!=null?u:i==null?void 0:i.currentTimeAtLastInteraction)!=null?f:0,lastInteractionTimeOffset:r,playbackRate:(m=l!=null?l:i==null?void 0:i.playbackRate)!=null?m:1,volume:(p=c!=null?c:i==null?void 0:i.volume)!=null?p:1,muted:(g=o!=null?o:i==null?void 0:i.muted)!=null?g:t.getAttribute("muted")===null,loop:(w=n!=null?n:i==null?void 0:i.loop)!=null?w:t.getAttribute("loop")===null}}syncTargetWithState(t){const r=this.mediaMap.get(t);if(!r)return;const{muted:s,loop:i,volume:a,isPlaying:l}=r,u=this.service.state.matches("paused"),o=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==o&&(t.playbackRate=o),l&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;const i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;const l=this.service.state.matches("paused"),u=a.attributes;let o=!1;u.rr_mediaState?o=u.rr_mediaState==="played":o=i.getAttribute("autoplay")!==null,o&&l&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let n=!1;typeof u.rr_mediaMuted=="boolean"?n=u.rr_mediaMuted:n=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let h=1;typeof u.rr_mediaVolume=="number"&&(h=u.rr_mediaVolume);let f=0;typeof u.rr_mediaCurrentTime=="number"&&(f=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:o,currentTimeAtLastInteraction:f,lastInteractionTimeOffset:r,playbackRate:c,volume:h,muted:n,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}}function Tt(e,t){if(e.nodeName!=="DIALOG"||e instanceof xe)return;const r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),l=typeof(t==null?void 0:t.attributes.open)=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),l&&(u?r.showModal():r.show())}}function Cc(e,t){if(e.nodeName!=="DIALOG"||e instanceof xe)return;const r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}const Ec=5*1e3,xc=uc,Zn="[replayer]",ps={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function Kn(e){return e.type==k.IncrementalSnapshot&&(e.data.source==_.TouchMove||e.data.source==_.MouseInteraction&&e.data.type==H.TouchStart)}class Rc{constructor(t,r){if(N(this,"wrapper"),N(this,"iframe"),N(this,"service"),N(this,"speedService"),N(this,"config"),N(this,"usingVirtualDom",!1),N(this,"virtualDom",new nt),N(this,"mouse"),N(this,"mouseTail",null),N(this,"tailPositions",[]),N(this,"emitter",xc()),N(this,"nextUserInteractionEvent"),N(this,"legacy_missingNodeRetryMap",{}),N(this,"cache",en()),N(this,"imageMap",new Map),N(this,"canvasEventMap",new Map),N(this,"mirror",no()),N(this,"styleMirror",new li),N(this,"mediaManager"),N(this,"firstFullSnapshot",null),N(this,"newDocumentQueue",[]),N(this,"mousePos",null),N(this,"touchActive",null),N(this,"lastMouseDownEvent",null),N(this,"lastHoveredRootNode"),N(this,"lastSelectionData",null),N(this,"constructedStyleMutations",[]),N(this,"adoptedStyleSheets",[]),N(this,"handleResize",u=>{this.iframe.style.display="inherit";for(const o of[this.mouseTail,this.iframe])o&&(o.setAttribute("width",String(u.width)),o.setAttribute("height",String(u.height)))}),N(this,"applyEventsSynchronously",u=>{for(const o of u){switch(o.type){case k.DomContentLoaded:case k.Load:case k.Custom:continue;case k.FullSnapshot:case k.Meta:case k.Plugin:case k.IncrementalSnapshot:break}this.getCastFn(o,!0)()}}),N(this,"getCastFn",(u,o=!1)=>{let c;switch(u.type){case k.DomContentLoaded:case k.Load:break;case k.Custom:c=()=>{this.emitter.emit(G.CustomEvent,u)};break;case k.Meta:c=()=>this.emitter.emit(G.Resize,{width:u.data.width,height:u.data.height});break;case k.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,o),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case k.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,o),!o&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(const d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){const d=this.nextUserInteractionEvent.delay-u.delay,h={speed:Math.min(Math.round(d/Ec),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:h}),this.emitter.emit(G.SkipStart,h)}}};break}return()=>{c&&c();for(const h of this.config.plugins||[])h.handler&&h.handler(u,o,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});const d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){const h=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(G.Finish))};let f=50;u.type===k.IncrementalSnapshot&&u.data.source===_.MouseMove&&u.data.positions.length&&(f+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(h,f)}this.emitter.emit(G.EventCast,u)}}),!(r!=null&&r.liveMode)&&t.length<2)throw new Error("Replayer need at least 2 events.");const s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:ps,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(G.Resize,this.handleResize),this.setupDom();for(const u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(G.Flush,()=>{if(this.usingVirtualDom){const u={mirror:this.mirror,applyCanvas:(o,c,n)=>{Es({event:o,mutation:c,target:n,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(o,c)=>{o.source===_.StyleSheetRule?this.applyStyleSheetRule(o,c):o.source===_.StyleDeclaration&&this.applyStyleDeclaration(o,c)},afterAppend:(o,c)=>{for(const n of this.config.plugins||[])n.onBuild&&n.onBuild(o,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{$t(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(o){console.warn(o)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(const o in this.legacy_missingNodeRetryMap)try{const c=this.legacy_missingNodeRetryMap[o],n=Wt(c.node,this.mirror,this.virtualDom.mirror);$t(n,c.node,u,this.virtualDom.mirror),c.node=n}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(o=>{this.applyStyleSheetMutation(o)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(o=>{this.applyAdoptedStyleSheet(o)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){const[u,o]=this.lastMouseDownEvent;u.dispatchEvent(o)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(G.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});const i=new hc([],{speed:this.config.speed});this.service=dc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,o)=>u.timestamp-o.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(G.StateChange,{player:u})}),this.speedService=pc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(G.StateChange,{speed:u})}),this.mediaManager=new Sc({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});const a=this.service.state.context.events.find(u=>u.type===k.Meta),l=this.service.state.context.events.find(u=>u.type===k.FullSnapshot);if(a){const{width:u,height:o}=a.data;setTimeout(()=>{this.emitter.emit(G.Resize,{width:u,height:o})},0)}l&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=l,this.rebuildFullSnapshot(l),(u=this.iframe.contentWindow)==null||u.scrollTo(l.data.initialOffset))},1),this.service.state.context.events.find(Kn)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed!="undefined"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail!="undefined"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){const t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){const{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(G.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(G.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(G.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(G.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){const r=this.config.unpackFn?this.config.unpackFn(t):t;Kn(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=en()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.iframe=document.createElement("iframe");const t=["allow-same-origin"];this.config.UNSAFE_replayCanvas&&t.push("allow-scripts"),this.iframe.style.display="none",this.iframe.setAttribute("sandbox",t.join(" ")),this.disableInteract(),this.wrapper.appendChild(this.iframe),this.iframe.contentWindow&&this.iframe.contentDocument&&(cc(this.iframe.contentWindow,this.iframe.contentDocument),ii(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};const s=[],i=new Set,a=(o,c)=>{if(o.nodeName==="DIALOG"&&i.add(o),this.collectIframeAndAttachDocument(s,o),this.mediaManager.isSupportedMediaElement(o)){const{events:n}=this.service.state.context;this.mediaManager.addMediaElements(o,t.timestamp-n[0].timestamp,this.mirror)}for(const n of this.config.plugins||[])n.onBuild&&n.onBuild(o,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Nl(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror}),a(this.iframe.contentDocument,t.data.node.id);for(const{mutationInQueue:o,builtNode:c}of s)this.attachDocumentToIframe(o,c),this.newDocumentQueue=this.newDocumentQueue.filter(n=>n!==o);const{documentElement:l,head:u}=this.iframe.contentDocument;this.insertStyleRules(l,u),i.forEach(o=>Tt(o)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(G.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;const i=mc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){const a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,ko(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:_.StyleSheetRule,adds:i.map((l,u)=>({rule:l,index:u}))})}else{const a=document.createElement("style");t.insertBefore(a,r);for(let l=0;l<i.length;l++)(s=a.sheet)==null||s.insertRule(i[l],l)}}attachDocumentToIframe(t,r){const s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,l=(u,o)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);const c=s.getMeta(u);if((c==null?void 0:c.type)===Ae.Element&&(c==null?void 0:c.tagName.toUpperCase())==="HTML"){const{documentElement:n,head:d}=r.contentDocument;this.insertStyleRules(n,d)}if(!this.usingVirtualDom)for(const n of this.config.plugins||[])n.onBuild&&n.onBuild(u,{id:o,replayer:this})};ht(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:l,cache:this.cache}),l(r.contentDocument,t.node.id);for(const{mutationInQueue:u,builtNode:o}of i)this.attachDocumentToIframe(u,o),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>Tt(u))}collectIframeAndAttachDocument(t,r){if(st(r,this.mirror)){const s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;const r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){const s=new Set;let i,a=this.service.state;const l=()=>{a=this.service.state};this.emitter.on(G.Start,l),this.emitter.on(G.Pause,l);const u=()=>{this.emitter.off(G.Start,l),this.emitter.off(G.Pause,l)};r.querySelectorAll('link[rel="stylesheet"]').forEach(o=>{if(!o.sheet){s.add(o);const c=()=>{s.delete(o),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(G.LoadStylesheetEnd),i&&clearTimeout(i),u())};o.addEventListener("load",c),o.addEventListener("error",c)}}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(G.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){const t=[];for(const r of this.service.state.context.events)r.type===k.IncrementalSnapshot&&r.data.source===_.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){const s=document.createElement("canvas"),i=s.getContext("2d"),a=i==null?void 0:i.createImageData(s.width,s.height);i==null||i.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){const s={isUnchanged:!0};if("commands"in t){const i=await Promise.all(t.commands.map(async a=>{const l=await Promise.all(a.args.map(Be(this.imageMap,null,s)));return ce(U({},a),{args:l})}));s.isUnchanged===!1&&this.canvasEventMap.set(r,ce(U({},t),{commands:i}))}else{const i=await Promise.all(t.args.map(Be(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,ce(U({},t),{args:i}))}}}applyIncremental(t,r){var s,i,a;const{data:l}=t;switch(l.source){case _.Mutation:{try{this.applyMutation(l,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,l)}break}case _.Drag:case _.TouchMove:case _.MouseMove:if(r){const u=l.positions[l.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:l}}else l.positions.forEach(u=>{const o={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,l)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(o)}),this.timer.addAction({doAction(){},delay:t.delay-((s=l.positions[0])==null?void 0:s.timeOffset)});break;case _.MouseInteraction:{if(l.id===-1)break;const u=new Event($e(H[l.type])),o=this.mirror.getNode(l.id);if(!o)return this.debugNodeNotFound(l,l.id);this.emitter.emit(G.MouseInteraction,{type:l.type,target:o});const{triggerFocus:c}=this.config;switch(l.type){case H.Blur:"blur"in o&&o.blur();break;case H.Focus:c&&o.focus&&o.focus({preventScroll:!0});break;case H.Click:case H.TouchStart:case H.TouchEnd:case H.MouseDown:case H.MouseUp:r?(l.type===H.TouchStart?this.touchActive=!0:l.type===H.TouchEnd&&(this.touchActive=!1),l.type===H.MouseDown?this.lastMouseDownEvent=[o,u]:l.type===H.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:l.x||0,y:l.y||0,id:l.id,debugData:l}):(l.type===H.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(l.x||0,l.y||0,l.id,r,l),l.type===H.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):l.type===H.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):l.type===H.TouchEnd?this.mouse.classList.remove("touch-active"):o.dispatchEvent(u));break;case H.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:o.dispatchEvent(u)}break}case _.Scroll:{if(l.id===-1)break;if(this.usingVirtualDom){const u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.scrollData=l;break}this.applyScroll(l,r);break}case _.ViewportResize:this.emitter.emit(G.Resize,{width:l.width,height:l.height});break;case _.Input:{if(l.id===-1)break;if(this.usingVirtualDom){const u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.inputData=l;break}this.applyInput(l);break}case _.MediaInteraction:{const u=this.usingVirtualDom?this.virtualDom.mirror.getNode(l.id):this.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);const o=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:o,timeOffset:t.timestamp-c[0].timestamp,mutation:l});break}case _.StyleSheetRule:case _.StyleDeclaration:{this.usingVirtualDom?l.styleId?this.constructedStyleMutations.push(l):l.id&&((i=this.virtualDom.mirror.getNode(l.id))==null||i.rules.push(l)):this.applyStyleSheetMutation(l);break}case _.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){const u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.canvasMutations.push({event:t,mutation:l})}else{const u=this.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);Es({event:t,mutation:l,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case _.Font:{try{const u=new FontFace(l.family,l.buffer?new Uint8Array(JSON.parse(l.fontSource)):l.fontSource,l.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case _.Selection:{if(r){this.lastSelectionData=l;break}this.applySelection(l);break}case _.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(l):this.applyAdoptedStyleSheet(l);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,mu(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(const c in this.legacy_missingNodeRetryMap)try{const n=this.legacy_missingNodeRetryMap[c],d=_o(n.node,this.virtualDom,this.mirror);d&&(n.node=d)}catch(n){this.warn(n)}const s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var n;const d=s.getNode(c.id);if(!d)return;let h=s.getNode(c.parentId);if(!h)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(h)&&(h=h.shadowRoot),s.removeNodeFromMap(d),h)try{h.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&h.nodeName==="STYLE"&&((n=h.rules)==null?void 0:n.length)>0&&(h.rules=[])}catch(f){if(f instanceof DOMException)this.warn("parent could not remove child in mutation",h,d,t);else throw f}});const i=U({},this.legacy_missingNodeRetryMap),a=[],l=c=>{let n=null;return c.nextId&&(n=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!n},u=c=>{var n,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let h=s.getNode(c.parentId);if(!h)return c.node.type===Ae.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(h)||h.attachShadow({mode:"open"}),h=h.shadowRoot);let f=null,m=null;if(c.previousId&&(f=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),l(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;const p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(st(h,s)){this.attachDocumentToIframe(c,h);return}const g=(v,C)=>{if(!this.usingVirtualDom){Tt(v);for(const S of this.config.plugins||[])S.onBuild&&S.onBuild(v,{id:C,replayer:this})}},w=ht(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:w,mutation:c};return}const y=s.getMeta(h);if(y&&y.type===Ae.Element&&c.node.type===Ae.Text){const v=Array.isArray(h.childNodes)?h.childNodes:Array.from(h.childNodes);if(y.tagName==="textarea")for(const C of v)C.nodeType===h.TEXT_NODE&&h.removeChild(C);else if(y.tagName==="style"&&v.length===1)for(const C of v)C.nodeType===h.TEXT_NODE&&!s.hasNode(C)&&(w.textContent=C.textContent,h.removeChild(C))}else if((y==null?void 0:y.type)===Ae.Document){const v=h;c.node.type===Ae.DocumentType&&((n=v.childNodes[0])==null?void 0:n.nodeType)===Node.DOCUMENT_TYPE_NODE&&v.removeChild(v.childNodes[0]),w.nodeName==="HTML"&&v.documentElement&&v.removeChild(v.documentElement)}if(f&&f.nextSibling&&f.nextSibling.parentNode?h.insertBefore(w,f.nextSibling):m&&m.parentNode?h.contains(m)?h.insertBefore(w,m):h.insertBefore(w,null):h.appendChild(w),g(w,c.node.id),this.usingVirtualDom&&w.nodeName==="#text"&&h.nodeName==="STYLE"&&((d=h.rules)==null?void 0:d.length)>0&&(h.rules=[]),st(w,this.mirror)){const v=this.mirror.getId(w),C=this.newDocumentQueue.find(S=>S.parentId===v);C&&(this.attachDocumentToIframe(C,w),this.newDocumentQueue=this.newDocumentQueue.filter(S=>S!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,h,w,c)};t.adds.forEach(c=>{u(c)});const o=Date.now();for(;a.length;){const c=Uo(a);if(a.length=0,Date.now()-o>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(const n of c)s.getNode(n.value.parentId)?ni(n,h=>{u(h)}):this.debug("Drop resolve tree since there is no parent for the root node.",n)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Bo(t.texts).forEach(c=>{var n;const d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);const h=d.parentElement;if(c.value&&h&&h.tagName==="STYLE"?d.textContent=Qt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){const f=d.parentNode;((n=f==null?void 0:f.rules)==null?void 0:n.length)>0&&(f.rules=[])}}),t.attributes.forEach(c=>{var n;const d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(const h in c.attributes)if(typeof h=="string"){const f=c.attributes[h];if(f===null)d.removeAttribute(h),h==="open"&&Cc(d,c);else if(typeof f=="string")try{if(h==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{const m=s.getMeta(d),p=ht(ce(U({},m),{attributes:U(U({},m.attributes),c.attributes)}),{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);const g=d.nextSibling,w=d.parentNode;if(p&&w){w.removeChild(d),w.insertBefore(p,g),s.replace(c.id,p);break}}catch(m){}if(h==="value"&&d.nodeName==="TEXTAREA"){const m=d;m.childNodes.forEach(g=>m.removeChild(g));const p=(n=d.ownerDocument)==null?void 0:n.createTextNode(f);p&&m.appendChild(p)}else d.setAttribute(h,f);h==="rr_open_mode"&&d.nodeName==="DIALOG"&&Tt(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(h==="style"){const m=f,p=d;for(const g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){const w=m[g];p.style.setProperty(g,w[0],w[1])}else{const w=m[g];p.style.setProperty(g,w)}}}})}applyScroll(t,r){var s,i;const a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);const l=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if((l==null?void 0:l.type)===Ae.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch(u){}}applyInput(t){const r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch(s){}}applySelection(t){try{const r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:l,endOffset:u})=>{const o=this.mirror.getNode(i),c=this.mirror.getNode(l);if(!o||!c)return;const n=new Range;n.setStart(o,a),n.setEnd(c,u);const d=o.ownerDocument,h=d==null?void 0:d.getSelection();return h&&r.add(h),{range:n,selection:h}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch(r){}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===_.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===_.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,l;if((s=t.adds)==null||s.forEach(({rule:u,index:o})=>{try{if(Array.isArray(o)){const{positions:c,index:n}=Ss(o),d=et(r.cssRules,c);d==null||d.insertRule(u,n)}else{const c=o===void 0?void 0:Math.min(o,r.cssRules.length);r==null||r.insertRule(u,c)}}catch(c){}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){const{positions:o,index:c}=Ss(u),n=et(r.cssRules,o);n==null||n.deleteRule(c||0)}else r==null||r.deleteRule(u)}catch(o){}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch(u){}if(typeof t.replaceSync=="string")try{(l=r.replaceSync)==null||l.call(r,t.replaceSync)}catch(u){}}applyStyleDeclaration(t,r){if(t.set){const s=et(r.rules,t.index);s!=null&&s.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){const s=et(r.rules,t.index);s!=null&&s.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;const s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var o;let c=null,n=null;if(Ue(s)?n=((o=s.ownerDocument)==null?void 0:o.defaultView)||null:s.nodeName==="#document"&&(n=s.defaultView),!!n)try{c=new n.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:_.StyleSheetRule,adds:u.rules},c)}catch(d){}});const i=10;let a=0;const l=(u,o)=>{const c=o.map(n=>this.styleMirror.getStyle(n)).filter(n=>n!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==o.length&&a<i&&(setTimeout(()=>l(u,o),0+100*a),a++)};l(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){const{previousId:a,nextId:l}=i,u=a&&t[a],o=l&&t[l];if(u){const{node:c,mutation:n}=u;r.insertBefore(c,s),delete t[n.node.id],delete this.legacy_missingNodeRetryMap[n.node.id],(n.previousId||n.nextId)&&this.legacy_resolveMissingNode(t,r,c,n)}if(o){const{node:c,mutation:n}=o;r.insertBefore(c,s.nextSibling),delete t[n.node.id],delete this.legacy_missingNodeRetryMap[n.node.id],(n.previousId||n.nextId)&&this.legacy_resolveMissingNode(t,r,c,n)}}moveAndHover(t,r,s,i,a){const l=this.mirror.getNode(s);if(!l)return this.debugNodeNotFound(a,s);const u=ai(l,this.iframe),o=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${o}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:o,y:c}),this.hoverElements(l)}drawMouseTail(t){if(!this.mouseTail)return;const{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?ps:Object.assign({},ps,this.config.mouseTail),l=()=>{if(!this.mouseTail)return;const u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(o=>u.lineTo(o.x,o.y)),u.stroke())};this.tailPositions.push(t),l(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),l()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==k.IncrementalSnapshot?!1:t.data.source>_.Mutation&&t.data.source<=_.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(G.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(Zn,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(Zn,...t)}}const{addCustomEvent:Mc}=ze,{freezePage:Nc}=ze,{takeFullSnapshot:Oc}=ze;var me=Uint8Array,ge=Uint16Array,mt=Uint32Array,nr=new me([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),or=new me([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),xs=new me([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ta=function(e,t){for(var r=new ge(31),s=0;s<31;++s)r[s]=t+=1<<e[s-1];for(var i=new mt(r[30]),s=1;s<30;++s)for(var a=r[s];a<r[s+1];++a)i[a]=a-r[s]<<5|s;return[r,i]},ra=ta(nr,2),sa=ra[0],Rs=ra[1];sa[28]=258,Rs[258]=28;var ia=ta(or,0),Ic=ia[0],eo=ia[1],Ms=new ge(32768);for(var se=0;se<32768;++se){var Pe=(se&43690)>>>1|(se&21845)<<1;Pe=(Pe&52428)>>>2|(Pe&13107)<<2,Pe=(Pe&61680)>>>4|(Pe&3855)<<4,Ms[se]=((Pe&65280)>>>8|(Pe&255)<<8)>>>1}var Ne=function(e,t,r){for(var s=e.length,i=0,a=new ge(t);i<s;++i)++a[e[i]-1];var l=new ge(t);for(i=0;i<t;++i)l[i]=l[i-1]+a[i-1]<<1;var u;if(r){u=new ge(1<<t);var o=15-t;for(i=0;i<s;++i)if(e[i])for(var c=i<<4|e[i],n=t-e[i],d=l[e[i]-1]++<<n,h=d|(1<<n)-1;d<=h;++d)u[Ms[d]>>>o]=c}else for(u=new ge(s),i=0;i<s;++i)u[i]=Ms[l[e[i]-1]++]>>>15-e[i];return u},We=new me(288);for(var se=0;se<144;++se)We[se]=8;for(var se=144;se<256;++se)We[se]=9;for(var se=256;se<280;++se)We[se]=7;for(var se=280;se<288;++se)We[se]=8;var gt=new me(32);for(var se=0;se<32;++se)gt[se]=5;var Dc=Ne(We,9,0),Ac=Ne(We,9,1),Tc=Ne(gt,5,0),_c=Ne(gt,5,1),ms=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},be=function(e,t,r){var s=t/8>>0;return(e[s]|e[s+1]<<8)>>>(t&7)&r},gs=function(e,t){var r=t/8>>0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>>(t&7)},hi=function(e){return(e/8>>0)+(e&7&&1)},fi=function(e,t,r){(r==null||r>e.length)&&(r=e.length);var s=new(e instanceof ge?ge:e instanceof mt?mt:me)(r-t);return s.set(e.subarray(t,r)),s},kc=function(e,t,r){var s=e.length,i=!t||r,a=!r||r.i;r||(r={}),t||(t=new me(s*3));var l=function(Re){var le=t.length;if(Re>le){var he=new me(Math.max(le*2,Re));he.set(t),t=he}},u=r.f||0,o=r.p||0,c=r.b||0,n=r.l,d=r.d,h=r.m,f=r.n,m=s*8;do{if(!n){r.f=u=be(e,o,1);var p=be(e,o+1,3);if(o+=3,p)if(p==1)n=Ac,d=_c,h=9,f=5;else if(p==2){var v=be(e,o,31)+257,C=be(e,o+10,15)+4,S=v+be(e,o+5,31)+1;o+=14;for(var b=new me(S),E=new me(19),x=0;x<C;++x)E[xs[x]]=be(e,o+x*3,7);o+=C*3;var I=ms(E),M=(1<<I)-1;if(!a&&o+S*(I+7)>m)break;for(var L=Ne(E,I,1),x=0;x<S;){var D=L[be(e,o,M)];o+=D&15;var g=D>>>4;if(g<16)b[x++]=g;else{var R=0,Y=0;for(g==16?(Y=3+be(e,o,3),o+=2,R=b[x-1]):g==17?(Y=3+be(e,o,7),o+=3):g==18&&(Y=11+be(e,o,127),o+=7);Y--;)b[x++]=R}}var J=b.subarray(0,v),P=b.subarray(v);h=ms(J),f=ms(P),n=Ne(J,h,1),d=Ne(P,f,1)}else throw"invalid block type";else{var g=hi(o)+4,w=e[g-4]|e[g-3]<<8,y=g+w;if(y>s){if(a)throw"unexpected EOF";break}i&&l(c+w),t.set(e.subarray(g,y),c),r.b=c+=w,r.p=o=y*8;continue}if(o>m)throw"unexpected EOF"}i&&l(c+131072);for(var A=(1<<h)-1,W=(1<<f)-1,X=h+f+18;a||o+X<m;){var R=n[gs(e,o)&A],V=R>>>4;if(o+=R&15,o>m)throw"unexpected EOF";if(!R)throw"invalid length/literal";if(V<256)t[c++]=V;else if(V==256){n=null;break}else{var B=V-254;if(V>264){var x=V-257,ue=nr[x];B=be(e,o,(1<<ue)-1)+sa[x],o+=ue}var O=d[gs(e,o)&W],re=O>>>4;if(!O)throw"invalid distance";o+=O&15;var P=Ic[re];if(re>3){var ue=or[re];P+=gs(e,o)&(1<<ue)-1,o+=ue}if(o>m)throw"unexpected EOF";i&&l(c+131072);for(var Q=c+B;c<Q;c+=4)t[c]=t[c-P],t[c+1]=t[c+1-P],t[c+2]=t[c+2-P],t[c+3]=t[c+3-P];c=Q}}r.l=n,r.p=o,r.b=c,n&&(u=1,r.m=h,r.d=d,r.n=f)}while(!u);return c==t.length?t:fi(t,0,c)},Ie=function(e,t,r){r<<=t&7;var s=t/8>>0;e[s]|=r,e[s+1]|=r>>>8},ot=function(e,t,r){r<<=t&7;var s=t/8>>0;e[s]|=r,e[s+1]|=r>>>8,e[s+2]|=r>>>16},ys=function(e,t){for(var r=[],s=0;s<e.length;++s)e[s]&&r.push({s,f:e[s]});var i=r.length,a=r.slice();if(!i)return[new me(0),0];if(i==1){var l=new me(r[0].s+1);return l[r[0].s]=1,[l,1]}r.sort(function(S,b){return S.f-b.f}),r.push({s:-1,f:25001});var u=r[0],o=r[1],c=0,n=1,d=2;for(r[0]={s:-1,f:u.f+o.f,l:u,r:o};n!=i-1;)u=r[r[c].f<r[d].f?c++:d++],o=r[c!=n&&r[c].f<r[d].f?c++:d++],r[n++]={s:-1,f:u.f+o.f,l:u,r:o};for(var h=a[0].s,s=1;s<i;++s)a[s].s>h&&(h=a[s].s);var f=new ge(h+1),m=Ns(r[n-1],f,0);if(m>t){var s=0,p=0,g=m-t,w=1<<g;for(a.sort(function(b,E){return f[E.s]-f[b.s]||b.f-E.f});s<i;++s){var y=a[s].s;if(f[y]>t)p+=w-(1<<m-f[y]),f[y]=t;else break}for(p>>>=g;p>0;){var v=a[s].s;f[v]<t?p-=1<<t-f[v]++-1:++s}for(;s>=0&&p;--s){var C=a[s].s;f[C]==t&&(--f[C],++p)}m=t}return[new me(f),m]},Ns=function(e,t,r){return e.s==-1?Math.max(Ns(e.l,t,r+1),Ns(e.r,t,r+1)):t[e.s]=r},to=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new ge(++t),s=0,i=e[0],a=1,l=function(o){r[s++]=o},u=1;u<=t;++u)if(e[u]==i&&u!=t)++a;else{if(!i&&a>2){for(;a>138;a-=138)l(32754);a>2&&(l(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(l(i),--a;a>6;a-=6)l(8304);a>2&&(l(a-3<<5|8208),a=0)}for(;a--;)l(i);a=1,i=e[u]}return[r.subarray(0,s),t]},at=function(e,t){for(var r=0,s=0;s<t.length;++s)r+=e[s]*t[s];return r},Os=function(e,t,r){var s=r.length,i=hi(t+2);e[i]=s&255,e[i+1]=s>>>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a<s;++a)e[i+a+4]=r[a];return(i+4+s)*8},ro=function(e,t,r,s,i,a,l,u,o,c,n){Ie(t,n++,r),++i[256];for(var d=ys(i,15),h=d[0],f=d[1],m=ys(a,15),p=m[0],g=m[1],w=to(h),y=w[0],v=w[1],C=to(p),S=C[0],b=C[1],E=new ge(19),x=0;x<y.length;++x)E[y[x]&31]++;for(var x=0;x<S.length;++x)E[S[x]&31]++;for(var I=ys(E,7),M=I[0],L=I[1],D=19;D>4&&!M[xs[D-1]];--D);var R=c+5<<3,Y=at(i,We)+at(a,gt)+l,J=at(i,h)+at(a,p)+l+14+3*D+at(E,M)+(2*E[16]+3*E[17]+7*E[18]);if(R<=Y&&R<=J)return Os(t,n,e.subarray(o,o+c));var P,A,W,X;if(Ie(t,n,1+(J<Y)),n+=2,J<Y){P=Ne(h,f,0),A=h,W=Ne(p,g,0),X=p;var V=Ne(M,L,0);Ie(t,n,v-257),Ie(t,n+5,b-1),Ie(t,n+10,D-4),n+=14;for(var x=0;x<D;++x)Ie(t,n+3*x,M[xs[x]]);n+=3*D;for(var B=[y,S],ue=0;ue<2;++ue)for(var O=B[ue],x=0;x<O.length;++x){var re=O[x]&31;Ie(t,n,V[re]),n+=M[re],re>15&&(Ie(t,n,O[x]>>>5&127),n+=O[x]>>>12)}}else P=Dc,A=We,W=Tc,X=gt;for(var x=0;x<u;++x)if(s[x]>255){var re=s[x]>>>18&31;ot(t,n,P[re+257]),n+=A[re+257],re>7&&(Ie(t,n,s[x]>>>23&31),n+=nr[re]);var Q=s[x]&31;ot(t,n,W[Q]),n+=X[Q],Q>3&&(ot(t,n,s[x]>>>5&8191),n+=or[Q])}else ot(t,n,P[s[x]]),n+=A[s[x]];return ot(t,n,P[256]),n+A[256]},Pc=new mt([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Lc=function(e,t,r,s,i,a){var l=e.length,u=new me(s+l+5*(1+Math.floor(l/7e3))+i),o=u.subarray(s,u.length-i),c=0;if(!t||l<8)for(var n=0;n<=l;n+=65535){var d=n+65535;d<l?c=Os(o,c,e.subarray(n,d)):(o[n]=a,c=Os(o,c,e.subarray(n,l)))}else{for(var h=Pc[t-1],f=h>>>13,m=h&8191,p=(1<<r)-1,g=new ge(32768),w=new ge(p+1),y=Math.ceil(r/3),v=2*y,C=function(ee){return(e[ee]^e[ee+1]<<y^e[ee+2]<<v)&p},S=new mt(25e3),b=new ge(288),E=new ge(32),x=0,I=0,n=0,M=0,L=0,D=0;n<l;++n){var R=C(n),Y=n&32767,J=w[R];if(g[Y]=J,w[R]=Y,L<=n){var P=l-n;if((x>7e3||M>24576)&&P>423){c=ro(e,o,0,S,b,E,I,M,D,n-D,c),M=x=I=0,D=n;for(var A=0;A<286;++A)b[A]=0;for(var A=0;A<30;++A)E[A]=0}var W=2,X=0,V=m,B=Y-J&32767;if(P>2&&R==C(n-B))for(var ue=Math.min(f,P)-1,O=Math.min(32767,n),re=Math.min(258,P);B<=O&&--V&&Y!=J;){if(e[n+W]==e[n+W-B]){for(var Q=0;Q<re&&e[n+Q]==e[n+Q-B];++Q);if(Q>W){if(W=Q,X=B,Q>ue)break;for(var Re=Math.min(B,Q-2),le=0,A=0;A<Re;++A){var he=n-B+A+32768&32767,Oe=g[he],we=he-Oe+32768&32767;we>le&&(le=we,J=he)}}}Y=J,J=g[Y],B+=Y-J+32768&32767}if(X){S[M++]=268435456|Rs[W]<<18|eo[X];var F=Rs[W]&31,oe=eo[X]&31;I+=nr[F]+or[oe],++b[257+F],++E[oe],L=n+W,++x}else S[M++]=e[n],++b[e[n]]}}c=ro(e,o,a,S,b,E,I,M,D,n-D,c)}return fi(u,0,s+hi(c)+i)},Fc=function(){var e=1,t=0;return{p:function(r){for(var s=e,i=t,a=r.length,l=0;l!=a;){for(var u=Math.min(l+5552,a);l<u;++l)s+=r[l],i+=s;s%=65521,i%=65521}e=s,t=i},d:function(){return(e>>>8<<16|(t&255)<<8|t>>>8)+((e&255)<<23)*2}}},Uc=function(e,t,r,s,i){return Lc(e,t.level==null?6:t.level,t.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):12+t.mem,r,s,!0)},Bc=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},$c=function(e,t){var r=t.level,s=r==0?0:r<6?1:r==9?3:2;e[0]=120,e[1]=s<<6|(s?32-2*s:1)},Wc=function(e){if((e[0]&15)!=8||e[0]>>>4>7||(e[0]<<8|e[1])%31)throw"invalid zlib data";if(e[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function zc(e,t){t===void 0&&(t={});var r=Fc();r.p(e);var s=Uc(e,t,2,4);return $c(s,t),Bc(s,s.length-4,r.d()),s}function qc(e,t){return kc((Wc(e),e.subarray(2,-4)),t)}function na(e,t){var r=e.length;if(!t&&typeof TextEncoder!="undefined")return new TextEncoder().encode(e);for(var s=new me(e.length+(e.length>>>1)),i=0,a=function(c){s[i++]=c},l=0;l<r;++l){if(i+5>s.length){var u=new me(i+8+(r-l<<1));u.set(s),s=u}var o=e.charCodeAt(l);o<128||t?a(o):o<2048?(a(192|o>>>6),a(128|o&63)):o>55295&&o<57344?(o=65536+(o&1047552)|e.charCodeAt(++l)&1023,a(240|o>>>18),a(128|o>>>12&63),a(128|o>>>6&63),a(128|o&63)):(a(224|o>>>12),a(128|o>>>6&63),a(128|o&63))}return fi(s,0,i)}function oa(e,t){var r="";if(!t&&typeof TextDecoder!="undefined")return new TextDecoder().decode(e);for(var s=0;s<e.length;){var i=e[s++];i<128||t?r+=String.fromCharCode(i):i<224?r+=String.fromCharCode((i&31)<<6|e[s++]&63):i<240?r+=String.fromCharCode((i&15)<<12|(e[s++]&63)<<6|e[s++]&63):(i=((i&15)<<18|(e[s++]&63)<<12|(e[s++]&63)<<6|e[s++]&63)-65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}return r}const Is="v1",Vc=e=>{const t=ce(U({},e),{v:Is});return oa(zc(na(JSON.stringify(t))),!0)},jc=e=>{if(typeof e!="string")return e;try{const t=JSON.parse(e);if(t.timestamp)return t}catch(t){}try{const t=JSON.parse(oa(qc(na(e,!0))));if(t.v===Is)return t;throw new Error(`These events were packed with packer ${t.v} which is incompatible with current packer ${Is}.`)}catch(t){throw console.error(t),new Error("Unknown data format.")}};exports.EventType=k;exports.IncrementalSource=_;exports.MouseInteractions=H;exports.Replayer=Rc;exports.ReplayerEvents=G;exports.addCustomEvent=Mc;exports.canvasMutation=Es;exports.freezePage=Nc;exports.pack=Vc;exports.record=ze;exports.takeFullSnapshot=Oc;exports.unpack=jc;exports.utils=Au;
156
156
  if (typeof module.exports == "object" && typeof exports == "object") {
157
157
  var __cp = (to, from, except, desc) => {
158
158
  if ((from && typeof from === "object") || typeof from === "function") {