1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4596],{14495:(e,t,s)=>{s.d(t,{V2:()=>R,FS:()=>D,IM:()=>M,Tx:()=>A,Rr:()=>O,vd:()=>S,_K:()=>x,e3:()=>C,dK:()=>V,CC:()=>I,RM:()=>z,Uc:()=>W,tP:()=>U});var n=s(72205),a=s(11345),r=s(48891),o=s(68602),i=s(23633),d=s(52719),c=s(60791),u=s(50339),p=s(30858),l=s(14285),g=s(78281),h=s(55199),f=s(2217),m=s(47221),y=s(61851),v=s(13928),b=s(60614),k=s(70488);let q=e=>({context:t})=>{let{count:s,include:n,exclude:a,responseType:r="message.received"}=e;return{count:s,domain:t.domain,from:t.connectTo,include:n?Array.isArray(n)?n:[n]:[],exclude:a?Array.isArray(a)?a:[a]:[],responseType:r,target:t.target,to:t.name}},T=e=>t=>{let{data:s}=t;return(!e.include.length||e.include.includes(s.type))&&(!e.exclude.length||!e.exclude.includes(s.type))&&s.domain===e.domain&&s.from===e.from&&s.to===e.to&&(!e.target||t.source===e.target)},w=e=>t=>({type:e,message:t}),E=(0,d.v)(()=>(0,c.R)(window,"message")),I=e=>(0,a.OX)(({input:t})=>E.pipe(e?(0,u.T)(e):(0,p.F)(),(0,l.p)(T(t)),(0,u.T)(w(t.responseType)),t.count?(0,p.F)(function(e,t){return void 0===t&&(t=null),t=null!=t?t:e,(0,h.N)(function(s,n){var a=[],r=0;s.subscribe((0,f._)(n,function(s){var o,i,d,c,u=null;r++%t==0&&a.push([]);try{for(var p=(0,g.Ju)(a),l=p.next();!l.done;l=p.next()){var h=l.value;h.push(s),e<=h.length&&(u=null!=u?u:[]).push(h)}}catch(e){o={error:e}}finally{try{l&&!l.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}if(u)try{for(var f=(0,g.Ju)(u),y=f.next();!y.done;y=f.next()){var h=y.value;(0,m.o)(a,h),n.next(h)}}catch(e){d={error:e}}finally{try{y&&!y.done&&(c=f.return)&&c.call(f)}finally{if(d)throw d.error}}},function(){var e,t;try{for(var s=(0,g.Ju)(a),r=s.next();!r.done;r=s.next()){var o=r.value;n.next(o)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}n.complete()},void 0,function(){a=null}))})}(t.count),(0,y.H)(e=>e),(0,v.s)(t.count)):(0,p.F)())),R="sanity/comlink",x="comlink/response",S="comlink/heartbeat",D="comlink/disconnect",A="comlink/handshake/syn",O="comlink/handshake/syn-ack",M="comlink/handshake/ack",$=e=>t=>t.pipe((0,v.s)(1),(0,u.T)(()=>{throw Error(e)})),U=()=>(0,r.mj)({types:{},actors:{listen:(0,a.OX)(({input:e})=>{let t=e.signal?(0,c.R)(e.signal,"abort").pipe($(`Request ${e.requestId} aborted`)):b.w;return(0,c.R)(window,"message").pipe((0,l.p)(t=>t.data?.type===x&&t.data?.responseTo===e.requestId&&!!t.source&&e.sources.has(t.source)),(0,v.s)(e.sources.size),(0,k.Q)(t))})},actions:{"send message":({context:e},t)=>{let{sources:s,targetOrigin:n}=e,{message:a}=t;s.forEach(e=>{e.postMessage(a,{targetOrigin:n})})},"on success":(0,o.c)(({context:e})=>e.parentRef,({context:e,self:t})=>(e.response&&e.resolvable?.resolve(e.response),{type:"request.success",requestId:t.id,response:e.response,responseTo:e.responseTo})),"on fail":(0,o.c)(({context:e})=>e.parentRef,({context:e,self:t})=>(e.suppressWarnings||console.warn(`[@sanity/comlink] Received no response to message '${e.type}' on client '${e.from}' (ID: '${e.id}').`),e.resolvable?.reject(Error("No response received")),{type:"request.failed",requestId:t.id})),"on abort":(0,o.c)(({context:e})=>e.parentRef,({context:e,self:t})=>(e.resolvable?.reject(Error("Request aborted")),{type:"request.aborted",requestId:t.id}))},guards:{expectsResponse:({context:e})=>e.expectResponse},delays:{initialTimeout:0,responseTimeout:({context:e})=>e.responseTimeout??3e3}}).createMachine({context:({input:e})=>({channelId:e.channelId,data:e.data,domain:e.domain,expectResponse:e.expectResponse??!1,from:e.from,id:`msg-${(0,n.A)()}`,parentRef:e.parentRef,resolvable:e.resolvable,response:null,responseTimeout:e.responseTimeout,responseTo:e.responseTo,signal:e.signal,sources:e.sources instanceof Set?e.sources:new Set([e.sources]),suppressWarnings:e.suppressWarnings,targetOrigin:e.targetOrigin,to:e.to,type:e.type}),initial:"idle",on:{abort:".aborted"},states:{idle:{after:{initialTimeout:[{target:"sending"}]}},sending:{entry:{type:"send message",params:({context:e})=>{let{channelId:t,data:s,domain:n,from:a,id:r,responseTo:o,to:i,type:d}=e;return{message:{channelId:t,data:s,domain:n,from:a,id:r,to:i,type:d,responseTo:o}}}},always:[{guard:"expectsResponse",target:"awaiting"},"success"]},awaiting:{invoke:{id:"listen for response",src:"listen",input:({context:e})=>({requestId:e.id,sources:e.sources,signal:e.signal}),onError:"aborted"},after:{responseTimeout:"failed"},on:{message:{actions:(0,o.a)({response:({event:e})=>e.data.data,responseTo:({event:e})=>e.data.responseTo}),target:"success"}}},failed:{type:"final",entry:"on fail"},success:{type:"final",entry:"on success"},aborted:{type:"final",entry:"on abort"}},output:({context:e,self:t})=>({requestId:t.id,response:e.response,responseTo:e.responseTo})}),j=(0,a.SP)(({sendBack:e,input:t})=>{let s=()=>{e(t.event)};t.immediate&&s();let n=setInterval(s,t.interval);return()=>{clearInterval(n)}}),C=()=>(0,r.mj)({types:{},actors:{requestMachine:U(),listen:I(),sendBackAtInterval:j},actions:{"buffer message":(0,o.b)(({enqueue:e})=>{e.assign({buffer:({event:e,context:t})=>((0,r.DT)(e,"post"),[...t.buffer,e.data])}),e.emit(({event:e})=>((0,r.DT)(e,"post"),{type:"buffer.added",message:e.data}))}),"create request":(0,o.a)({requests:({context:e,event:t,self:s,spawn:a})=>{(0,r.DT)(t,"request");let o=(Array.isArray(t.data)?t.data:[t.data]).map(t=>a("requestMachine",{id:`req-${(0,n.A)()}`,input:{channelId:e.channelId,data:t.data,domain:e.domain,expectResponse:t.expectResponse,from:e.name,parentRef:s,responseTo:t.responseTo,sources:e.target,targetOrigin:e.targetOrigin,to:e.connectTo,type:t.type}}));return[...e.requests,...o]}}),"emit received message":(0,o.b)(({enqueue:e})=>{e.emit(({event:e})=>((0,r.DT)(e,"message.received"),{type:"message",message:e.message.data}))}),"emit status":(0,o.e)((e,t)=>({type:"status",status:t.status})),"post message":(0,i.O)(({event:e})=>((0,r.DT)(e,"post"),{type:"request",data:{data:e.data.data,expectResponse:!0,type:e.data.type}})),"remove request":(0,o.b)(({context:e,enqueue:t,event:s})=>{(0,r.DT)(s,["request.success","request.failed","request.aborted"]),(0,i.R)(s.requestId),t.assign({requests:e.requests.filter(({id:e})=>e!==s.requestId)})}),respond:(0,i.O)(({event:e})=>((0,r.DT)(e,"response"),{type:"request",data:{data:e.data,type:x,responseTo:e.respondTo}})),"send handshake ack":(0,i.O)({type:"request",data:{type:M}}),"send disconnect":(0,i.O)(()=>({type:"request",data:{type:D}})),"send handshake syn":(0,i.O)({type:"request",data:{type:A}}),"send pending messages":(0,o.b)(({enqueue:e})=>{e.raise(({context:e})=>({type:"request",data:e.buffer.map(({data:e,type:t})=>({data:e,type:t}))})),e.emit(({context:e})=>({type:"buffer.flushed",messages:e.buffer})),e.assign({buffer:[]})}),"set target":(0,o.a)({target:({event:e})=>((0,r.DT)(e,"target.set"),e.target)})},guards:{"has target":({context:e})=>!!e.target,"should send heartbeats":({context:e})=>e.heartbeat}}).createMachine({id:"connection",context:({input:e})=>({id:e.id||`${e.name}-${(0,n.A)()}`,buffer:[],channelId:`chn-${(0,n.A)()}`,connectTo:e.connectTo,domain:e.domain??R,heartbeat:e.heartbeat??!1,name:e.name,requests:[],target:e.target,targetOrigin:e.targetOrigin}),on:{"target.set":{actions:"set target"},"request.success":{actions:"remove request"},"request.failed":{actions:"remove request"}}
1,initial:"idle",states:{idle:{entry:[{type:"emit status",params:{status:"idle"}}],on:{connect:{target:"handshaking",guard:"has target"},post:{actions:"buffer message"}}},handshaking:{id:"handshaking",entry:[{type:"emit status",params:{status:"handshaking"}}],invoke:[{id:"send syn",src:"sendBackAtInterval",input:()=>({event:{type:"syn"},interval:500,immediate:!0})},{id:"listen for handshake",src:"listen",input:e=>q({include:O,count:1})(e)}],on:{syn:{actions:"send handshake syn"},request:{actions:"create request"},post:{actions:"buffer message"},"message.received":{target:"connected"},disconnect:{target:"disconnected"}},exit:"send handshake ack"},connected:{entry:["send pending messages",{type:"emit status",params:{status:"connected"}}],invoke:{id:"listen for messages",src:"listen",input:q({exclude:[x,S]})},on:{post:{actions:"post message"},request:{actions:"create request"},response:{actions:"respond"},"message.received":{actions:"emit received message"},disconnect:{target:"disconnected"}},initial:"heartbeat",states:{heartbeat:{initial:"checking",states:{checking:{always:{guard:"should send heartbeats",target:"sending"}},sending:{on:{"request.failed":{target:"#handshaking"}},invoke:{id:"send heartbeat",src:"sendBackAtInterval",input:()=>({event:{type:"post",data:{type:S,data:void 0}},interval:2e3,immediate:!1})}}}}}},disconnected:{id:"disconnected",entry:["send disconnect",{type:"emit status",params:{status:"disconnected"}}],on:{request:{actions:"create request"},post:{actions:"buffer message"},connect:{target:"handshaking",guard:"has target"}}}}}),F=(e,t=C())=>{let s=e.id||`${e.name}-${(0,n.A)()}`,a=(0,i.A)(t,{input:{...e,id:s}}),r=new Map,o=new Map;a.on("message",async({message:e})=>{let t=r.get(e.type);if(t){t.forEach(async t=>{let s=await t(e.data);s&&a.send({type:"response",respondTo:e.id,data:s})});return}let s=o.get(e.type);s?s.add(e):o.set(e.type,new Set([e]))});let d=()=>{a.stop()};return{actor:a,connect:()=>{a.send({type:"connect"})},disconnect:()=>{a.send({type:"disconnect"})},id:s,name:e.name,machine:t,on:(e,t,s)=>{let n=r.get(e)||new Set;r.has(e)||r.set(e,n),n.add(t);let i=o.get(e);if(i){let n=s?.replay??1;Array.from(i).slice(-n).forEach(async({data:e,id:s})=>{let n=await t(e);n&&a.send({type:"response",respondTo:s,data:n})}),o.delete(e)}return()=>{n.delete(t)}},onStatus:(e,t)=>{let{unsubscribe:s}=a.on("status",s=>{t&&s.status!==t||e(s.status)});return s},post:(e,t)=>{a.send({type:"post",data:{type:e,data:t}})},setTarget:e=>{a.send({type:"target.set",target:e})},start:()=>(a.start(),d),stop:d,get target(){return a.getSnapshot().context.target}}},_=e=>{e.disconnect(),setTimeout(()=>{e.stop()},0)},B=()=>{},V=e=>{let{targetOrigin:t}=e,s=new Set,n=new Set;return{addTarget:e=>{if(s.has(e))return B;if(!s.size||!n.size)return s.add(e),n.forEach(t=>{t.connections.forEach(t=>{t.setTarget(e),t.connect()})}),()=>{s.delete(e),n.forEach(t=>{t.connections.forEach(t=>{t.target===e&&t.disconnect()})})};s.add(e);let a=new Set;return n.forEach(s=>{let n=F({...s.input,target:e,targetOrigin:t},s.machine);a.add(n),s.connections.add(n),s.subscribers.forEach(({type:e,handler:t,unsubscribers:s})=>{s.push(n.on(e,t))}),s.internalEventSubscribers.forEach(({type:e,handler:t,unsubscribers:s})=>{s.push(n.actor.on(e,t).unsubscribe)}),s.statusSubscribers.forEach(({handler:e,unsubscribers:t})=>{t.push(n.onStatus(t=>e({connection:n.id,status:t})))}),n.start(),n.connect()}),()=>{s.delete(e),a.forEach(e=>{_(e),n.forEach(t=>{t.connections.delete(e)})})}},createChannel:(e,a=C())=>{let r={connections:new Set,input:e,internalEventSubscribers:new Set,machine:a,statusSubscribers:new Set,subscribers:new Set};n.add(r);let{connections:o,internalEventSubscribers:i,statusSubscribers:d,subscribers:c}=r;if(s.size)s.forEach(s=>{let n=F({...e,target:s,targetOrigin:t},a);o.add(n)});else{let s=F({...e,targetOrigin:t},a);o.add(s)}let u=()=>{let e=r.connections;e.forEach(_),e.clear(),n.delete(r)};return{on:(e,t)=>{let s=[];o.forEach(n=>{s.push(n.on(e,t))});let n={type:e,handler:t,unsubscribers:s};return c.add(n),()=>{s.forEach(e=>e()),c.delete(n)}},onInternalEvent:(e,t)=>
1{let s=[];o.forEach(n=>{s.push(n.actor.on(e,t).unsubscribe)});let n={type:e,handler:t,unsubscribers:s};return i.add(n),()=>{s.forEach(e=>e()),i.delete(n)}},onStatus:e=>{let t=[];o.forEach(s=>{t.push(s.onStatus(t=>e({connection:s.id,status:t})))});let s={handler:e,unsubscribers:t};return d.add(s),()=>{t.forEach(e=>e()),d.delete(s)}},post:(...e)=>{let[t,s]=e;o.forEach(e=>{e.post(t,s)})},start:()=>(o.forEach(e=>{e.start(),e.connect()}),u),stop:u}},destroy:()=>{n.forEach(({connections:e})=>{e.forEach(_),e.clear()}),n.clear(),s.clear()}}},W=()=>(0,r.mj)({types:{},actors:{requestMachine:U(),listen:I()},actions:{"buffer handshake":(0,o.a)({handshakeBuffer:({event:e,context:t})=>((0,r.DT)(e,"message.received"),[...t.handshakeBuffer,e])}),"buffer message":(0,o.b)(({enqueue:e})=>{e.assign({buffer:({event:e,context:t})=>((0,r.DT)(e,"post"),[...t.buffer,{data:e.data,resolvable:e.resolvable,options:e.options}])}),e.emit(({event:e})=>((0,r.DT)(e,"post"),{type:"buffer.added",message:e.data}))}),"create request":(0,o.a)({requests:({context:e,event:t,self:s,spawn:a})=>{(0,r.DT)(t,"request");let o=(Array.isArray(t.data)?t.data:[t.data]).map(t=>a("requestMachine",{id:`req-${(0,n.A)()}`,input:{channelId:e.channelId,data:t.data,domain:e.domain,expectResponse:t.expectResponse,from:e.name,parentRef:s,resolvable:t.resolvable,responseTimeout:t.options?.responseTimeout,responseTo:t.responseTo,signal:t.options?.signal,sources:e.target,suppressWarnings:t.options?.suppressWarnings,targetOrigin:e.targetOrigin,to:e.connectTo,type:t.type}}));return[...e.requests,...o]}}),"emit heartbeat":(0,o.e)(()=>({type:"heartbeat"})),"emit received message":(0,o.b)(({enqueue:e})=>{e.emit(({event:e})=>((0,r.DT)(e,"message.received"),{type:"message",message:e.message.data}))}),"emit status":(0,o.e)((e,t)=>({type:"status",status:t.status})),"post message":(0,i.O)(({event:e})=>((0,r.DT)(e,"post"),{type:"request",data:{data:e.data.data,expectResponse:!!e.resolvable,type:e.data.type,resolvable:e.resolvable,options:e.options}})),"process pending handshakes":(0,o.b)(({context:e,enqueue:t})=>{e.handshakeBuffer.forEach(e=>t.raise(e)),t.assign({handshakeBuffer:[]})}),"remove request":(0,o.b)(({context:e,enqueue:t,event:s})=>{(0,r.DT)(s,["request.success","request.failed","request.aborted"]),(0,i.R)(s.requestId),t.assign({requests:e.requests.filter(({id:e})=>e!==s.requestId)})}),"send response":(0,i.O)(({event:e})=>((0,r.DT)(e,["message.received","heartbeat.received"]),{type:"request",data:{type:x,responseTo:e.message.data.id,data:void 0}})),"send handshake syn ack":(0,i.O)({type:"request",data:{type:O}}),"send pending messages":(0,o.b)(({enqueue:e})=>{e.raise(({context:e})=>({type:"request",data:e.buffer.map(({data:e,resolvable:t,options:s})=>({data:e.data,type:e.type,expectResponse:!!t,resolvable:t,options:s}))})),e.emit(({context:e})=>({type:"buffer.flushed",messages:e.buffer.map(({data:e})=>e)})),e.assign({buffer:[]})}),"set connection config":(0,o.a)({channelId:({event:e})=>((0,r.DT)(e,"handshake.syn"),e.message.data.channelId),target:({event:e})=>((0,r.DT)(e,"handshake.syn"),e.message.source||void 0),targetOrigin:({event:e})=>((0,r.DT)(e,"handshake.syn"),e.message.origin)})},guards:{hasSource:({context:e})=>null!==e.target}}).createMachine({id:"node",context:({input:e})=>({buffer:[],channelId:null,connectTo:e.connectTo,domain:e.domain??R,handshakeBuffer:[],name:e.name,requests:[],target:void 0,targetOrigin:null}),invoke:{id:"listen for handshake syn",src:"listen",input:q({include:A,responseType:"handshake.syn"})},on:{"request.success":{actions:"remove request"},"request.failed":{actions:"remove request"},"request.aborted":{actions:"remove request"},"handshake.syn":{actions:"set connection config",target:".handshaking"}},initial:"idle",states:{idle:{entry:[{type:"emit status",params:{status:"idle"}}],on:{post:{actions:"buffer message"}}},handshaking:{guard:"hasSource",entry:["send handshake syn ack",{type:"emit status",params:{status:"handshaking"}}],invoke:[{id:"listen for handshake ack",src:"listen",input:q({include:M,count:1,responseType:"handshake.complete"}),onDone:"connected"},{id:"listen for disconnect",src:"listen",input:q({include:D,count:1,responseType:"disconnect"})},{id:"listen for messages",src:"listen",input:q({exclude:[D,A,M,S,x]})}],on:{request:{actions:"create request"},post:{actions:"buffer message"},"message.received":{actions:"buffer handshake"},disconnect:{target:"idle"}}},connected:{entry:["process pending handshakes","send pending messages",{type:"emit status",params:{status:"connected"}}],invoke:[{id:"listen for messages",src:"listen",input:q({exclude:[D,A,M,S,x]})},{id:"listen for heartbeat",src:"listen",input:q({include:S,responseType:"heartbeat.received"})},{id:"listen for disconnect",src:"listen",input:q({include:D,count:1,responseType:"disconnect"})}],on:{request:{actions:"create request"},post:{actions:"post message"},disconnect:{target:"idle"},"message.received":{actions:["send response","emit received message"]},"heartbeat.received":{actions:["send response","emit heartbeat"]}}}}}),z=(e,t=W())=>{let s;let n=(0,i.A)(t,{input:e}),a=new Map,r=new Map;n.on("message",({message:e})=>{let t=a.get(e.type);if(t){t.forEach(t=>t(e.data));return}let s=r.get(e.type);s?s.add(e):r.set(e.type,new Set([e]))});let o=()=>{n.stop()};return{actor:n,fetch:(e,t,s)=>{let{responseTimeout:a=1e4,signal:r,suppressWarnings:o}=s||{},i=Promise.withResolvers();return n.send({type:"post",data:{type:e,data:t},resolvable:i,options:{responseTimeout:a,signal:r,suppressWarnings:o}}),i.promise},machine:t,on:(e,t,s)=>{let n=a.get(e)||new Set;a.has(e)||a.set(e,n),n.add(t);let o=r.get(e);if(o){let n=s?.replay??1;
1Array.from(o).slice(-n).forEach(({data:e})=>t(e)),r.delete(e)}return()=>{n.delete(t)}},onStatus:(e,t)=>{let{unsubscribe:a}=n.on("status",n=>{s=n.status,t&&n.status!==t||e(n.status)});return s&&e(s),a},post:(e,t)=>{n.send({type:"post",data:{type:e,data:t}})},start:()=>(n.start(),o),stop:o}}},94596:(e,t,s)=>{s.d(t,{Fk:()=>u,jF:()=>c,v$:()=>p,vY:()=>l});var n=s(14495);let a={"handshake/syn":n.Tx,"handshake/syn-ack":n.Rr,"handshake/ack":n.IM,"channel/response":n._K,"channel/heartbeat":n.vd,"channel/disconnect":n.FS,"overlay/focus":"visual-editing/focus","overlay/navigate":"visual-editing/navigate","overlay/toggle":"visual-editing/toggle","presentation/toggleOverlay":"presentation/toggle-overlay"},r={[n.Tx]:"handshake/syn",[n.Rr]:"handshake/syn-ack",[n.IM]:"handshake/ack",[n._K]:"channel/response",[n.vd]:"channel/heartbeat",[n.FS]:"channel/disconnect","visual-editing/focus":"overlay/focus","visual-editing/navigate":"overlay/navigate","visual-editing/toggle":"overlay/toggle","presentation/toggle-overlay":"presentation/toggleOverlay"},o=e=>{let{data:t}=e;return t&&"object"==typeof t&&"domain"in t&&"type"in t&&"from"in t&&"to"in t&&("sanity/channels"===t.domain&&(t.domain=n.V2),"overlays"===t.to&&(t.to="visual-editing"),"overlays"===t.from&&(t.from="visual-editing"),t.channelId=t.connectionId,delete t.connectionId,t.type=a[t.type]??t.type),e},i=e=>{let{channelId:t,...s}=e,a={...s,connectionId:t};return a.domain===n.V2&&(a.domain="sanity/channels"),"visual-editing"===a.to&&(a.to="overlays"),"visual-editing"===a.from&&(a.from="overlays"),a.type=r[a.type]??a.type,"channel/response"===a.type&&a.responseTo&&!a.data&&(a.data={responseTo:a.responseTo}),("handshake/syn"===a.type||"handshake/syn-ack"===a.type||"handshake/ack"===a.type)&&(a.data={id:a.connectionId}),a},d=({context:e},t)=>{let{sources:s,targetOrigin:n}=e,a=i(t.message);s.forEach(e=>{e.postMessage(a,{targetOrigin:n})})},c=()=>({listen:(0,n.CC)(o),requestMachine:(0,n.tP)().provide({actions:{"send message":d}})});function u(){return window.self!==window.top}function p(){return!!window.opener}function l(){return u()||p()}},72205:(e,t,s)=>{let n;s.d(t,{A:()=>i});let a={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)}
1,r=new Uint8Array(16),o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));let i=function(e,t,s){if(a.randomUUID&&!t&&!e)return a.randomUUID();let i=(e=e||{}).random??e.rng?.()??function(){if(!n){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");n=crypto.getRandomValues.bind(crypto)}return n(r)}();if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){if((s=s||0)<0||s+16>t.length)throw RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[s+e]=i[e];return t}return function(e,t=0){return(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase()}(i)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.