@dcl-regenesislabs/bevy-explorer-web 0.1.0-29499376337.commit-97976b5 → 0.1.0-29546729450.commit-8e8cd1a

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.
@@ -0,0 +1,5 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Showcase-eDD97p45.js","assets/design-BKYxomrR.js","assets/rolldown-runtime-D9-fqq9M.js","assets/design-BdxsbUvY.css","assets/menus-Cc1j9mT2.js","assets/menus-B_lVadRk.css"])))=>i.map(i=>d[i]);
2
+ import{A as e,C as t,D as n,E as r,M as i,N as a,T as o,_ as s,c,j as l,n as u,r as d,s as f,t as p,v as m,w as h,x as g,y as ee}from"./design-BKYxomrR.js";import{t as te}from"./vendor-D2cJ1evh.js";import{C as _,E as ne,S as re,T as v,_ as y,a as b,b as x,c as S,d as C,f as w,g as T,h as E,i as ie,l as ae,m as oe,n as se,o as ce,p as le,r as ue,s as de,t as fe,u as pe,v as D,w as me,x as O,y as k}from"./menus-Cc1j9mT2.js";import{a as he,i as ge,n as _e,o as ve,r as ye,t as be}from"./emoji-DrfHOLaz.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var A=a(),xe=te(),Se=`bevy-ui-bridge`,Ce=class{ch;pending=new Map;listeners=new Set;constructor(e=Se){this.ch=new BroadcastChannel(e),this.ch.onmessage=e=>{let t=e.data;t?.to===`page`&&this.handle(t.msg)}}getPreviousLogin(){return this.rpc(`getPreviousLogin`)}loginPrevious(){return this.rpc(`loginPrevious`)}loginGuest(){return this.rpc(`loginGuest`)}loginCancel(){return this.rpc(`loginCancel`)}logout(){return this.rpc(`logout`)}loginWithIdentity(e){return this.rpc(`loginIdentity`)}async jumpIn(){let e=await this.rpc(`loginPrevious`);if(e&&e.success===!1)throw Error(e.error||`Could not reuse your login`)}async loginNew(){let e=await this.rpc(`loginNew`);if(e&&e.success===!1)throw Error(e.error||`Sign-in failed`)}send(e){this.ch.postMessage({to:`scene`,msg:e})}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}dispose(){this.ch.close(),this.pending.clear(),this.listeners.clear()}rpc(e){let t=crypto.randomUUID();return new Promise((n,r)=>{this.pending.set(t,{resolve:n,reject:r}),this.send({kind:`rpc:req`,id:t,method:e})})}handle(e){if(e.kind===`rpc:res`){let t=this.pending.get(e.id);if(!t)return;this.pending.delete(e.id),e.ok?t.resolve(e.value):t.reject(Error(e.error??`bridge rpc failed`));return}this.listeners.forEach(t=>t(e))}};function we(e){return btoa(JSON.stringify(e))}var Te=class{rpc;ch;listeners=new Set;playerReadyFired=!1;readyFallbackTimer=null;constructor(e){this.rpc=e,this.ch=new BroadcastChannel(Se),this.ch.onmessage=e=>{let t=e.data;t?.to===`page`&&(t.msg.kind===`event`&&t.msg.name===`playerReady`&&(this.playerReadyFired=!0),this.emit(t.msg))}}async getPreviousLogin(){let e=v();return{userId:e?ne(e.identity):null}}async loginPrevious(e){let t=e===!0?` --default-on-error`:``,n=await this.rpc.command(`/login_previous${t}`);return this.scheduleReadyFallback(),n}async loginGuest(){await this.rpc.command(`/login_guest`),this.scheduleReadyFallback()}async loginCancel(){}async logout(){await this.rpc.command(`/logout`)}async loginWithIdentity(e,t){let n=t===!0?` --default-on-error`:``;await this.rpc.command(`/login_identity ${we(e)}${n}`),this.scheduleReadyFallback()}async jumpIn(e){let t=v();t?await this.loginWithIdentity(t.identity,e):await this.loginPrevious(e)}send(e){this.ch.postMessage({to:`scene`,msg:e})}on(e){return this.listeners.add(e),()=>this.listeners.delete(e)}dispose(){this.readyFallbackTimer!=null&&clearTimeout(this.readyFallbackTimer),this.ch.close(),this.listeners.clear()}renderBusy(){return this.rpc.renderBusy()}engineReady(){return this.rpc.readyToLaunch()}loadProgress(){return this.rpc.loadProgress()}loadStep(){return this.rpc.loadStep()}enginePanic(){return this.rpc.enginePanic()}clearEnginePanic(){this.rpc.clearEnginePanic()}rearmCrashWatchdog(){this.rpc.rearmCrashWatchdog()}launch(e,t){this.rpc.launch(e,t)}emit(e){this.listeners.forEach(t=>t(e))}scheduleReadyFallback(){this.readyFallbackTimer!=null&&clearTimeout(this.readyFallbackTimer),this.readyFallbackTimer=setTimeout(()=>{this.readyFallbackTimer=null,this.playerReadyFired||(this.playerReadyFired=!0,this.emit({kind:`event`,name:`playerReady`}))},6e3)}},Ee=class{win=null;setWindow(e){this.win=e}readyToLaunch(){return this.win?.__bevyReadyToLaunch===!0}loadProgress(){return this.win?.__bevyLoadProgress??0}loadStep(){return this.win?.__bevyLoadStep??null}enginePanic(){return this.win?.__bevyPanic??null}clearEnginePanic(){this.win&&(this.win.__bevyPanic=void 0)}rearmCrashWatchdog(){this.win?.__rearmCrashWatchdog?.()}launch(e,t){this.win?.__bevyLaunch?.(e,t)}ready(){return typeof this.win?.engine_console_command==`function`}async waitReady(e=9e4){let t=performance.now();for(;!this.ready();){if(performance.now()-t>e)throw Error(`engine RPC did not become ready in time`);await new Promise(e=>setTimeout(e,150))}}async command(e){return await this.waitReady(),this.win.engine_console_command(e)}renderBusy(){try{let e=this.win,t=e?.document.getElementById(`shader-compiling`);return t!=null&&e.getComputedStyle(t).display!==`none`}catch{return!1}}};function De(e,t,n){return{address:e,name:t,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`,bodyImage:`https://picsum.photos/seed/${encodeURIComponent(e)}/360/760`,hasClaimedName:!t.includes(`#`),isGuest:n,description:`Exploring Decentraland one plaza at a time. 🌅 DCL citizen since 2022.`,links:[{title:`Twitter`,url:`https://twitter.com`},{title:`Discord`,url:`https://discord.com`}],mutuals:30,badges:Array.from({length:8},(e,t)=>({id:`b${t}`,name:`Badge ${t+1}`,tier:[`bronze`,`silver`,`gold`][t%3],image:`https://picsum.photos/seed/badge${t}/96/96`})),photos:Array.from({length:6},(e,t)=>`https://picsum.photos/seed/photo${t}/300/300`),info:{gender:`Male`,birthdate:`26/11/1991`,pronouns:`He / Him`,relationship:`Single`,language:`Persian`,profession:`IT`,employment:`Chilling`,hobby:`games.movie.party`,realName:`mohammad`}}}var Oe=[{address:`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,name:`Mojito`,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`},{address:`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,name:`Sharknado`,picture:`https://profile-images.decentraland.org/entities/bafkreie5bpho47gnh3jrfxoezwc4pxffup4cmmhmdxsmpf3oslopxb4enm/face.png`},{address:`0x1e105bb213754519903788022b962fe2b9c4b263`,name:`Pravus`,picture:`https://profile-images.decentraland.org/entities/bafkreig4xay5oxgbf75hwkjefx5hgdcdvm6a4tnpiisltslxf4jtajkbyq/face.png`},{address:`0x9f8c2a1b4d6e7f0a3b5c8d9e1f2a4b6c8d0e1f23`,name:`Johnny`},{address:`0x3a1b2c4d5e6f7081920a3b4c5d6e7f8091a2b3c4`,name:`Clara`},{address:`0x77a0b1c2d3e4f5061728394a5b6c7d8e9f001122`,name:`SpottyGoat`},{address:`0xc0ffee254729296a45a3885639ac7e10f9d54979`,name:``}],j=[{id:`c1`,name:`Decentraland Foundation`,description:`The official Decentraland Foundation community. Stay up to date with events, releases and everything happening across the metaverse.`,thumbnail:`https://picsum.photos/seed/dcl/540/360`,membersCount:1242,role:`member`,ownerName:`DCLOfficial`,privacy:`public`},{id:`c2`,name:`Chiri Storytelling`,description:`This space brings to life Chiri's adventures. Gathering cozy Social Gamers, Creators, Digi Fashion lovers, Virtual Citizens & more!`,thumbnail:``,membersCount:374,role:`none`,ownerName:`Chiri`,privacy:`private`},{id:`c3`,name:`VTATV`,description:`Virtual television and live shows broadcast from inside Decentraland.`,thumbnail:``,membersCount:186,role:`none`,ownerName:`VTATV`},{id:`c4`,name:`ABC Decentraland`,description:`Adventures and education for newcomers to the metaverse.`,thumbnail:``,membersCount:436,role:`none`,ownerName:`BillyTeacoin`},{id:`c5`,name:`Toxic Events`,description:`The wildest parties and events in DCL.`,thumbnail:``,membersCount:601,role:`member`,ownerName:`ToxicWaifu`},{id:`c6`,name:`Last Slice Creators`,description:`A community of pizza-loving 3D creators.`,thumbnail:``,membersCount:164,role:`none`,ownerName:`Lastraum`},{id:`c7`,name:`SheFi`,description:`Empowering women in web3 and DeFi.`,thumbnail:``,membersCount:310,role:`none`,ownerName:`msjoedor`},{id:`c8`,name:`Community Building DCL`,description:`Helping communities grow in Decentraland.`,thumbnail:``,membersCount:639,role:`owner`,ownerName:`TheCryptKeeper`}],ke=[`base`,`common`,`uncommon`,`rare`,`epic`,`legendary`,`mythic`,`unique`,`exotic`],Ae=e=>`https://peer.decentraland.org/lambdas/collections/contents/${e}/thumbnail`,je=[{name:`casual_hair_01`,category:`hair`,label:`Casual Hair`},{name:`cornrows`,category:`hair`,label:`Cornrows`},{name:`hair_anime_01`,category:`hair`,label:`Anime Hair`},{name:`eyebrows_00`,category:`eyebrows`,label:`Eyebrows`},{name:`mouth_00`,category:`mouth`,label:`Mouth`},{name:`beard`,category:`facial_hair`,label:`Beard`},{name:`granpa_beard`,category:`facial_hair`,label:`Grandpa Beard`},{name:`f_sweater`,category:`upper_body`,label:`Sweater`},{name:`m_greenhoodie`,category:`upper_body`,label:`Green Hoodie`},{name:`blue_tshirt`,category:`upper_body`,label:`Blue T-Shirt`},{name:`sport_jacket`,category:`upper_body`,label:`Sport Jacket`},{name:`f_jeans`,category:`lower_body`,label:`Jeans`},{name:`f_brown_trousers`,category:`lower_body`,label:`Brown Trousers`},{name:`basketball_shorts`,category:`lower_body`,label:`Basketball Shorts`},{name:`sneakers`,category:`feet`,label:`Sneakers`},{name:`bun_shoes`,category:`feet`,label:`Bun Shoes`},{name:`m_greenflipflops`,category:`feet`,label:`Flip Flops`},{name:`hat`,category:`hat`,label:`Hat`},{name:`bandana`,category:`hat`,label:`Bandana`},{name:`black_sun_glasses`,category:`eyewear`,label:`Sunglasses`},{name:`piratepatch`,category:`eyewear`,label:`Pirate Patch`},{name:`blue_bandana`,category:`mask`,label:`Blue Bandana`},{name:`pink_gem_earring`,category:`earring`,label:`Pink Gem Earring`},{name:`Thunder_earring`,category:`earring`,label:`Thunder Earring`}].map((e,t)=>{let n=`urn:decentraland:off-chain:base-avatars:${e.name}`;return{urn:n,name:e.label,rarity:ke[t%ke.length],category:e.category,thumbnail:Ae(n),equipped:t%6==0}}),M=e=>({name:e,description:``}),Me=[{name:`fullscreen`,category:`general`,description:`Run in fullscreen mode.`,minValue:0,maxValue:1,namedVariants:[M(`Off`),M(`On`)],value:1,default:1,stepSize:1},{name:`resolution`,category:`general`,description:``,minValue:0,maxValue:2,namedVariants:[M(`1280 × 720`),M(`1920 × 1080`),M(`2560 × 1440`)],value:1,default:1,stepSize:1},{name:`graphics_quality`,category:`graphics`,description:`Overall visual quality.`,minValue:0,maxValue:3,namedVariants:[M(`Low`),M(`Medium`),M(`High`),M(`Ultra`)],value:2,default:1,stepSize:1},{name:`fps_limit`,category:`graphics`,description:`Cap the frame rate.`,minValue:30,maxValue:144,namedVariants:[],value:60,default:60,stepSize:1},{name:`master_volume`,category:`audio`,description:``,minValue:0,maxValue:100,namedVariants:[],value:80,default:100,stepSize:1},{name:`voice_chat`,category:`audio`,description:`Enable voice chat.`,minValue:0,maxValue:1,namedVariants:[M(`Off`),M(`On`)],value:1,default:1,stepSize:1}],Ne={hasPreviousLogin:new URLSearchParams(location.search).get(`previousLogin`)===`1`,userId:`0xmock00000000000000000000000000000000beef`,latency:600};function Pe(e){let t=`single-sign-on-${e.userId}`;e.hasPreviousLogin?localStorage.getItem(t)||localStorage.setItem(t,JSON.stringify({ephemeralIdentity:{address:`0xeeee000000000000000000000000000000000001`,publicKey:`0x04`,privateKey:`0x`+`11`.repeat(32)},expiration:new Date(Date.now()+720*3600*1e3).toISOString(),authChain:[{type:`SIGNER`,payload:e.userId,signature:``},{type:`ECDSA_EPHEMERAL`,payload:`Decentraland Login
3
+ Ephemeral address: 0xeeee
4
+ Expiration: `,signature:`0xabc`}]})):localStorage.removeItem(t)}function Fe(e={}){let t={...Ne,...e};Pe(t);let n=17e11,r=[{id:`n1`,type:`social_service_friendship_accepted`,read:!1,timestamp:new Date(n).toISOString(),metadata:{sender:{address:`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,name:`Mojito`,profileImageUrl:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`}}},{id:`n2`,type:`social_service_friendship_request`,read:!1,timestamp:new Date(n-18e5).toISOString(),metadata:{sender:{address:`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,name:`Sharknado`,profileImageUrl:`https://profile-images.decentraland.org/entities/bafkreie5bpho47gnh3jrfxoezwc4pxffup4cmmhmdxsmpf3oslopxb4enm/face.png`}}},{id:`n3`,type:`item_sold`,read:!1,timestamp:new Date(n-36e5).toISOString(),metadata:{title:`Item sold`,description:`Your “Sunset Hoodie” sold for 120 MANA.`,image:`https://profile-images.decentraland.org/entities/bafkreie5bpho47gnh3jrfxoezwc4pxffup4cmmhmdxsmpf3oslopxb4enm/face.png`}},{id:`n4`,type:`event_started`,read:!0,timestamp:new Date(n-864e5).toISOString(),metadata:{title:`Event live`,description:`Music Festival is happening now in Genesis Plaza.`}},{id:`n5`,type:`community_post_added`,read:!1,timestamp:new Date(n-24e5).toISOString(),metadata:{communityName:`Toxic Events`,communityId:`c5`,thumbnailUrl:`https://picsum.photos/seed/dcl/80/80`}},{id:`n6`,type:`credits_reminder_claim_credits`,read:!1,timestamp:new Date(n-54e5).toISOString(),metadata:{}}],i=Array.from({length:14},(e,t)=>({id:`g${t}`,url:`https://picsum.photos/seed/reel${t}/1200/800`,thumbnailUrl:`https://picsum.photos/seed/reel${t}/400/300`,isPublic:t%2==0,dateTime:String(Math.floor((n-t*3*864e5)/1e3))})),a=new BroadcastChannel(Se),o=e=>new Promise(t=>setTimeout(t,e)),s=e=>{a.postMessage({to:`page`,msg:e})},c=null,l=e=>{e.key===`Escape`&&s({kind:`systemAction`,action:`Cancel`})};window.addEventListener(`keydown`,l);let u=()=>{setTimeout(()=>{s({kind:`event`,name:`playerReady`}),s({kind:`chatVisibility`,open:!0});let e=[564,60,0],t=n=>{let r=e[n];s({kind:`sceneLoading`,state:{visible:r>0,realmConnected:!0,title:`Genesis Plaza`,pendingAssets:r>0?r:null}}),r>0&&setTimeout(()=>t(n+1),250)};t(0)},500),setTimeout(()=>s({kind:`members`,members:Oe}),1400);let e=Number(new URLSearchParams(location.search).get(`simhover`)??0);if(e>0){let t=[{button:0,text:`Show Profile`,enabled:!0},{button:1,text:`Open`,enabled:!0},{button:2,text:`Inspect`,enabled:!0},{button:8,text:`Jump`,enabled:!0},{button:4,text:`Grab`,enabled:!1,tooFarReason:`camera`},{button:10,text:`Use`,enabled:!0},{button:11,text:`Activate`,enabled:!0}].slice(0,Math.min(e,7));setTimeout(()=>s({kind:`hover`,actions:t}),1500)}setTimeout(()=>s({kind:`friends`,available:!0,friends:[{address:`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,name:`Mojito`,status:`online`,picture:`https://profile-images.decentraland.org/entities/bafkreid5btlh76opew65hxu6dtkdo6ybqhymdof6vrrmjy2p5a74oy4huq/face.png`},{address:`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,name:`Sharknado`,status:`online`},{address:`0x1e105bb213754519903788022b962fe2b9c4b263`,name:`Pravus`,status:`away`},{address:`0x3a1b2c4d5e6f7081920a3b4c5d6e7f8091a2b3c4`,name:`Clara#1l0u`,status:`offline`}],received:[{id:`r1`,address:`0x77a0b1c2d3e4f5061728394a5b6c7d8e9f001122`,name:`SpottyGoat`,message:`Met you at the plaza!`}],sent:[{id:`s1`,address:`0x9f8c2a1b4d6e7f0a3b5c8d9e1f2a4b6c8d0e1f23`,name:`Johnny`}],blocked:[]}),1600),setTimeout(()=>s({kind:`settings`,settings:Me}),1700),[[`0x5854cce95d5e25817b41f4c41f06b695a83bc495`,`gm everyone 👋`],[`0x6723dcb07f3ca735223cd1c0acfa62dd994a1bb4`,`anyone going to the event?`],[`0x1e105bb213754519903788022b962fe2b9c4b263`,`this plaza looks great`]].forEach(([e,t],n)=>setTimeout(()=>s({kind:`chat`,chat:{sender:e,message:t,channel:`Nearby`}}),2500+n*2200)),new URLSearchParams(location.search).get(`perm`)===`1`&&setTimeout(()=>s({kind:`permissionRequest`,id:1,ty:`ChangeRealm`,sceneName:`Genesis Plaza`,scene:`bafkreigenesisplazahash`,realm:`https://realm-provider.decentraland.org/main`,additional:`Jump to DCL Kickoff Challenge?`}),3e3)};return a.onmessage=async e=>{let n=e.data;if(n?.to!==`scene`)return;let a=n.msg;if(await o(t.latency),a.kind===`sendChat`){s({kind:`chat`,chat:{sender:`You`,message:a.message,channel:a.channel}});return}if(a.kind!==`navAction`&&a.kind!==`friendAction`){if(a.kind===`getSettings`){s({kind:`settings`,settings:Me});return}if(a.kind===`setSetting`){let e=Me.find(e=>e.name===a.name);e&&(e.value=a.value),s({kind:`settings`,settings:Me});return}if(a.kind===`getEmotes`){s({kind:`emotes`,emotes:[`Hands Air`,`Wave`,`Fist Pump`,`Dance`,`Raise Hand`,`Clap`,`Money`,`Kiss`,`Head Explode`,`Shrug`].map((e,t)=>({slot:t,urn:`urn:decentraland:off-chain:base-emotes:${e.toLowerCase().replace(/ /g,``)}`,name:e,rarity:`base`}))});return}if(a.kind!==`triggerEmote`&&a.kind!==`equipEmote`){if(a.kind===`getWearables`){s({kind:`wearables`,wearables:je});return}if(a.kind===`equip`){let e=new Set(a.urns);for(let t of je)t.equipped=e.has(t.urn);s({kind:`wearables`,wearables:je});return}if(a.kind===`setMic`){s({kind:`mic`,enabled:a.enabled,available:!0});return}if(a.kind===`getMap`){s({kind:`mapState`,x:0,y:0});return}if(a.kind!==`engineViewport`&&a.kind!==`previewAvatar`){if(a.kind===`teleport`){s({kind:`mapState`,x:a.x,y:a.y});return}if(a.kind!==`changeRealm`&&a.kind!==`permissionResolve`){if(a.kind===`getCommunities`){s({kind:`communities`,communities:j});return}if(a.kind===`createCommunity`){j.unshift({id:`new-${j.length}`,name:a.name,description:a.description,thumbnail:``,membersCount:1,role:`owner`,ownerName:`You`,privacy:a.privacy}),s({kind:`communities`,communities:j});return}if(a.kind===`joinCommunity`){let e=j.find(e=>e.id===a.id);e&&(e.role=`member`,e.membersCount+=1),s({kind:`communities`,communities:j});return}if(a.kind===`leaveCommunity`){let e=j.find(e=>e.id===a.id);e&&(e.role=`none`,e.membersCount=Math.max(0,e.membersCount-1)),s({kind:`communities`,communities:j});return}if(a.kind===`getCommunityDetail`){let e=[`DCLOfficial`,`KazeNoKai`,`METAWOLF`,`laurenmae`,`Eax`,`Thund`,`aixa`,`Kimbo`,`BayBackner`,`Rochyou`,`Soultasium`,`franfranfran`,`olavra`,`Meshroom`],t=e=>`0x${(e+1).toString(16).padStart(40,`0`)}`,n=1440*60*1e3;s({kind:`communityDetail`,id:a.id,members:e.map((e,n)=>({address:t(n),name:e,role:n===0?`owner`:n<3?`moderator`:`member`,picture:`https://i.pravatar.cc/80?u=${e}`,hasClaimedName:!0,isFriend:n%5==0})),posts:[{id:`p1`,author:`Kimbo`,authorAddress:t(7),authorPicture:`https://i.pravatar.cc/80?u=Kimbo`,text:`It was TIME for an update. See you all in the new Plaza. Enjoy!`,timestamp:Date.now()-2*n,likes:10},{id:`p2`,author:`Kimbo`,authorAddress:t(7),authorPicture:`https://i.pravatar.cc/80?u=Kimbo`,text:`EPIC Launch Party happening now in the theatre!`,timestamp:Date.now()-16*n,likes:4},{id:`p3`,author:`Kimbo`,authorAddress:t(7),authorPicture:`https://i.pravatar.cc/80?u=Kimbo`,text:`Hey everyone! Happy Epic and Mobile Launch Day!!! Please help us spread the word and get ready to celebrate together on April 2nd! It will be EPIC.`,timestamp:Date.now()-18*n,likes:1}],places:[{id:`pl1`,title:`Music Festival Main Stage`,thumbnail:`https://picsum.photos/seed/mfest/420/260`,positions:`-66,56`,likeRate:1}],photos:Array.from({length:9},(e,t)=>({id:`ph${t}`,url:`https://picsum.photos/seed/dclph${t}/600/600`,thumbnail:`https://picsum.photos/seed/dclph${t}/300/300`})),events:[{id:`e1`,name:`Watch scary movies with Cult Horror Club`,thumbnail:`https://picsum.photos/seed/horror1/200/120`,startsAt:Date.now()+1*n},{id:`e2`,name:`Pride Sound Set with Artist X`,thumbnail:`https://picsum.photos/seed/pride/200/120`,startsAt:Date.now()+1*n+360*60*1e3},{id:`e3`,name:`Join DEEJAY FAMILY at Takeover Tuesdays`,thumbnail:`https://picsum.photos/seed/takeover/200/120`,startsAt:Date.now()+4*n},{id:`e4`,name:`PRIDE: Join Watch Party Wednesdays`,thumbnail:`https://picsum.photos/seed/watch/200/120`,startsAt:Date.now()+5*n}]});return}if(a.kind===`getNotifications`){s({kind:`notifications`,notifications:r});return}if(a.kind===`markNotificationsRead`){for(let e of r)a.ids.includes(e.id)&&(e.read=!0);return}if(a.kind===`getGallery`){s({kind:`gallery`,photos:i,current:i.length,max:500});return}if(a.kind===`getGalleryPhoto`){s({kind:`galleryPhoto`,id:a.id,meta:{userName:t.hasPreviousLogin?`Mojito`:`Guest`,userAddress:t.userId,sceneName:`Genesis Plaza`,x:-9,y:14,realm:`main`,people:Oe.slice(0,3).map(e=>({address:e.address,name:e.name||`Guest`,isGuest:!1}))}});return}if(a.kind===`deleteGalleryPhoto`){let e=i.findIndex(e=>e.id===a.id);e>=0&&i.splice(e,1),s({kind:`gallery`,photos:i,current:i.length,max:500});return}if(a.kind===`getProfile`){s({kind:`profile`,profile:De(t.userId,t.hasPreviousLogin?`Mojito`:`Guest#beef`,!t.hasPreviousLogin)});return}if(a.kind===`getUserProfile`){let e=Oe.find(e=>e.address.toLowerCase()===a.address.toLowerCase())?.name||`${a.address.slice(0,6)}…${a.address.slice(-4)}`;s({kind:`userProfile`,address:a.address,profile:De(a.address,e,!1)});return}if(a.kind===`reloadScene`){s({kind:`chat`,chat:{sender:``,message:`Reloading the current scene…`,channel:`Nearby`}});return}if(a.kind===`consoleCommand`){s({kind:`chat`,chat:{sender:``,message:`Console commands: reload, help, show_ui, noclip, speed, jump`,channel:`Nearby`}});return}switch(a.method){case`getPreviousLogin`:s({kind:`rpc:res`,id:a.id,ok:!0,value:{userId:t.hasPreviousLogin?t.userId:null}});return;case`loginPrevious`:s({kind:`rpc:res`,id:a.id,ok:!0,value:{success:!0,error:``}}),u();return;case`loginGuest`:s({kind:`rpc:res`,id:a.id,ok:!0}),u();return;case`loginIdentity`:s({kind:`rpc:res`,id:a.id,ok:!0}),u();return;case`loginNew`:s({kind:`loginCode`,code:`42`}),c={id:a.id,timer:setTimeout(()=>{c=null,s({kind:`rpc:res`,id:a.id,ok:!0,value:{success:!0,error:``}}),u()},2500)};return;case`loginCancel`:case`logout`:c!=null&&(clearTimeout(c.timer),s({kind:`rpc:res`,id:c.id,ok:!0,value:{success:!1,error:`cancelled`}}),c=null),s({kind:`rpc:res`,id:a.id,ok:!0});return}}}}}},()=>{window.removeEventListener(`keydown`,l),a.close()}}var N=l(),P={root:`_root_byo9o_2`,tabs:`_tabs_byo9o_14`,tab:`_tab_byo9o_14`,tabActive:`_tabActive_byo9o_43`,close:`_close_byo9o_47`,searchRow:`_searchRow_byo9o_63`,searchIcon:`_searchIcon_byo9o_70`,search:`_search_byo9o_63`,body:`_body_byo9o_97`,sectionHeader:`_sectionHeader_byo9o_111`,grid:`_grid_byo9o_123`,emoji:`_emoji_byo9o_128`,noResults:`_noResults_byo9o_145`};function Ie({emojis:e,onPick:t}){return(0,N.jsx)(`div`,{className:P.grid,children:e.map(e=>(0,N.jsx)(`button`,{type:`button`,className:P.emoji,title:e.expression,onClick:()=>t(e),children:e.emoji},e.code))})}function Le({onPick:e,onClose:t}){let[n,r]=(0,A.useState)(0),[i,a]=(0,A.useState)(``),[o,s]=(0,A.useState)(()=>ge()),c=t=>{e(t.emoji),s(he(t.code))},l=i.trim(),u=(0,A.useMemo)(()=>l?ve(l,80):[],[l]),d=(0,A.useMemo)(()=>o.map(e=>be.get(e)).filter(e=>e!=null),[o]),f=_e[n];return(0,N.jsxs)(`div`,{className:P.root,role:`dialog`,"aria-label":`Emoji picker`,children:[(0,N.jsxs)(`div`,{className:P.tabs,children:[_e.map((e,t)=>(0,N.jsx)(`button`,{type:`button`,className:`${P.tab} ${t===n&&!l?P.tabActive:``}`.trim(),title:e.name,onClick:()=>{r(t),a(``)},children:e.icon},e.name)),(0,N.jsx)(`button`,{type:`button`,className:P.close,title:`Close`,onClick:t,children:`×`})]}),(0,N.jsxs)(`div`,{className:P.searchRow,children:[(0,N.jsx)(`span`,{className:P.searchIcon,"aria-hidden":`true`,children:`🔍`}),(0,N.jsx)(`input`,{className:P.search,value:i,onChange:e=>a(e.target.value),placeholder:`Search emoji`,onKeyDown:e=>e.stopPropagation()})]}),(0,N.jsx)(`div`,{className:P.body,children:l?u.length>0?(0,N.jsx)(Ie,{emojis:u,onPick:c}):(0,N.jsx)(`div`,{className:P.noResults,children:`No results`}):(0,N.jsxs)(N.Fragment,{children:[d.length>0&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:P.sectionHeader,children:`Frequently used`}),(0,N.jsx)(Ie,{emojis:d,onPick:c})]}),(0,N.jsx)(`div`,{className:P.sectionHeader,children:f.name}),(0,N.jsx)(Ie,{emojis:f.emojis,onPick:c})]})})]})}var Re=/(?<url>https?:\/\/[^\s<>"']+)|(?<world>[a-z0-9][\w-]*\.(?:dcl\.)?eth\b)|(?<loc>-?\d{1,3}\s*,\s*-?\d{1,3})|(?<mention>@[\w-]+(?:#[\w]+)?)/gi;function ze(e){let t=[],n=0;for(let r of e.matchAll(Re)){let i=r.index??0;i>n&&t.push({type:`text`,value:e.slice(n,i)});let a=r.groups??{};if(a.url)t.push({type:`url`,value:a.url});else if(a.world)t.push({type:`world`,value:a.world});else if(a.loc){let[e,n]=a.loc.split(`,`).map(e=>parseInt(e.trim(),10));t.push({type:`location`,value:a.loc,x:e,y:n})}else if(a.mention){let[e,n]=a.mention.slice(1).split(`#`);t.push({type:`mention`,value:a.mention,name:e,tag:n})}n=i+r[0].length}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t}function Be(e){let t=new Map;for(let n of e)n.name.trim()&&(t.set(n.name.toLowerCase(),n.address),t.set(n.name.split(`#`)[0].toLowerCase(),n.address));return t}function Ve(e,t){return t.get(`${e.name}#${e.tag}`.toLowerCase())??t.get(e.name.toLowerCase())}function He(e,t,n){if(!t)return!1;let r=t.name?.split(`#`)[0].toLowerCase();return ze(e).some(e=>{if(e.type!==`mention`)return!1;let i=Ve(e,n);return i&&t.address&&i.toLowerCase()===t.address.toLowerCase()||!!r&&e.name.toLowerCase()===r})}function Ue({text:e,members:t,styles:n,onMention:r,onLocation:i,onWorld:a}){let o=Be(t);return(0,N.jsx)(N.Fragment,{children:ze(e).map((e,t)=>{if(e.type===`url`)return(0,N.jsx)(`a`,{className:n.url,href:e.value,target:`_blank`,rel:`noreferrer noopener`,children:e.value},t);if(e.type===`world`)return a?(0,N.jsx)(`button`,{type:`button`,className:n.world,onClick:()=>a(e.value),children:e.value},t):(0,N.jsx)(`span`,{children:e.value},t);if(e.type===`location`)return(0,N.jsx)(`button`,{type:`button`,className:n.location,onClick:()=>i(e.x,e.y),children:e.value},t);if(e.type===`mention`){let i=Ve(e,o);return i?(0,N.jsxs)(`button`,{type:`button`,className:n.mention,onClick:t=>r(i,e.name,t),onContextMenu:t=>r(i,e.name,t),children:[`@`,e.name]},t):(0,N.jsx)(`span`,{children:e.value},t)}return(0,N.jsx)(`span`,{children:e.value},t)})})}var F={root:`_root_1mxu6_4`,open:`_open_1mxu6_24`,active:`_active_1mxu6_31`,messages:`_messages_1mxu6_40`,nav:`_nav_1mxu6_45`,navLeft:`_navLeft_1mxu6_57`,channelIcon:`_channelIcon_1mxu6_64`,navTitle:`_navTitle_1mxu6_69`,navRight:`_navRight_1mxu6_76`,glyph:`_glyph_1mxu6_83`,glyphLg:`_glyphLg_1mxu6_86`,empty:`_empty_1mxu6_114`,dayRow:`_dayRow_1mxu6_121`,dayPill:`_dayPill_1mxu6_126`,entry:`_entry_1mxu6_137`,bubble:`_bubble_1mxu6_142`,name:`_name_1mxu6_152`,tag:`_tag_1mxu6_157`,text:`_text_1mxu6_161`,time:`_time_1mxu6_172`,pickerWrap:`_pickerWrap_1mxu6_179`,suggest:`_suggest_1mxu6_180`,suggestList:`_suggestList_1mxu6_194`,suggestItem:`_suggestItem_1mxu6_202`,suggestActive:`_suggestActive_1mxu6_218`,suggestGlyph:`_suggestGlyph_1mxu6_222`,suggestName:`_suggestName_1mxu6_226`,noResults:`_noResults_1mxu6_229`,inputRow:`_inputRow_1mxu6_238`,input:`_input_1mxu6_238`,inputBare:`_inputBare_1mxu6_267`,ring:`_ring_1mxu6_271`,emojiBtn:`_emojiBtn_1mxu6_280`,membersPanel:`_membersPanel_1mxu6_288`,membersHeader:`_membersHeader_1mxu6_296`,back:`_back_1mxu6_305`,membersTitle:`_membersTitle_1mxu6_322`,membersCount:`_membersCount_1mxu6_327`,personIcon:`_personIcon_1mxu6_336`,membersList:`_membersList_1mxu6_340`,memberRow:`_memberRow_1mxu6_353`,memberInfo:`_memberInfo_1mxu6_363`,memberName:`_memberName_1mxu6_369`,memberStatus:`_memberStatus_1mxu6_378`,avatarBtn:`_avatarBtn_1mxu6_398`,url:`_url_1mxu6_409`,location:`_location_1mxu6_417`,mention:`_mention_1mxu6_418`,world:`_world_1mxu6_419`,mentionMe:`_mentionMe_1mxu6_435`},We=500,Ge=/^0x[0-9a-fA-F]{6,}$/,Ke=[`#73d3d3`,`#acf8f8`,`#ff8362`,`#ff4bed`,`#caff73`,`#a14bf3`,`#e8b9ff`,`#fea217`,`#81e1ff`,`#ff7439`,`#ffa25a`,`#ffc95b`,`#a0abff`,`#c640cd`],qe=`#61d04f`;function Je(e){return!e||e.toLowerCase()===`system`}function Ye(e){return Ge.test(e)?`${e.slice(0,6)}…${e.slice(-4)}`:e}function Xe(e){return Je(e)?`DCL System`:Ye(e)}function Ze(e){return e.name.trim()?e.name:Ye(e.address)}function Qe(e){let t=e.indexOf(`#`);return t>=0?{base:e.slice(0,t),tag:e.slice(t)}:{base:e,tag:``}}function $e(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}function et(e){return Je(e)?qe:Ke[$e(e)%Ke.length]}function tt(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function nt(e){let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function rt(e){return nt(e)===nt(Date.now())?`Today`:new Date(e).toLocaleDateString([],{weekday:`short`,day:`numeric`,month:`short`})}function it(){return(0,N.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsx)(`circle`,{cx:`8`,cy:`5`,r:`2.6`,stroke:`currentColor`,strokeWidth:`1.4`}),(0,N.jsx)(`path`,{d:`M3.2 13c0-2.4 2.1-3.8 4.8-3.8s4.8 1.4 4.8 3.8`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`})]})}function at(){return(0,N.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 22 22`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsx)(`circle`,{cx:`11`,cy:`11`,r:`10`,stroke:`currentColor`,strokeWidth:`2`}),(0,N.jsx)(`circle`,{cx:`7.6`,cy:`9`,r:`1.15`,fill:`currentColor`}),(0,N.jsx)(`circle`,{cx:`14.4`,cy:`9`,r:`1.15`,fill:`currentColor`}),(0,N.jsx)(`path`,{d:`M7 13.4c1 1.6 2.5 2.4 4 2.4s3-.8 4-2.4`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`})]})}function ot({len:e}){let t=Math.min(1,e/We),n=2*Math.PI*8,r=t>=.9?`var(--brand)`:t>=.7?`var(--gold)`:`var(--green)`;return(0,N.jsxs)(`svg`,{className:F.ring,width:`20`,height:`20`,viewBox:`0 0 20 20`,"aria-hidden":`true`,children:[(0,N.jsx)(`circle`,{cx:`10`,cy:`10`,r:8,fill:`none`,stroke:`rgba(255,255,255,0.25)`,strokeWidth:`2`}),(0,N.jsx)(`circle`,{cx:`10`,cy:`10`,r:8,fill:`none`,stroke:r,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:n,strokeDashoffset:n*(1-t),transform:`rotate(-90 10 10)`})]})}function st({ts:e}){return(0,N.jsx)(`div`,{className:F.dayRow,children:(0,N.jsx)(`span`,{className:F.dayPill,children:rt(e)})})}var ct={url:F.url,mention:F.mention,location:F.location,world:F.world};function lt({line:e,name:t,picture:n,members:r=[],me:i,onOpenProfile:a,onLocation:o,onVisitWorld:s}){let c=et(e.sender),{base:l,tag:u}=Qe(t),d={address:e.sender,name:t,picture:n},f=He(e.message,i??null,Be(r)),p=e=>{e.type===`contextmenu`&&e.preventDefault(),a?.(d,e)};return(0,N.jsxs)(`div`,{className:`${F.entry} ${f?F.mentionMe:``}`.trim(),children:[(0,N.jsx)(`button`,{type:`button`,className:F.avatarBtn,"aria-label":`View ${l}`,onClick:p,onContextMenu:p,children:(0,N.jsx)(g,{src:n,name:t,color:c,size:28})}),(0,N.jsxs)(`div`,{className:F.bubble,children:[(0,N.jsxs)(`button`,{type:`button`,className:F.name,style:{color:c},onClick:p,onContextMenu:p,children:[l,u&&(0,N.jsx)(`span`,{className:F.tag,children:u})]}),(0,N.jsx)(`span`,{className:F.text,children:(0,N.jsx)(Ue,{text:e.message,members:r,styles:ct,onMention:(e,t,n)=>{n.type===`contextmenu`&&n.preventDefault();let i=r.find(t=>t.address.toLowerCase()===e.toLowerCase());a?.({address:e,name:i?.name??`@${t}`,picture:i?.picture},n)},onLocation:(e,t)=>o?.(e,t),onWorld:s})}),(0,N.jsx)(`span`,{className:F.time,children:tt(e.ts)})]})]})}function ut({member:e}){let{base:t,tag:n}=Qe(Ze(e)),r=et(e.address);return(0,N.jsxs)(`div`,{className:F.memberRow,children:[(0,N.jsx)(g,{src:e.picture,name:t,color:r,size:40,status:`online`}),(0,N.jsxs)(`div`,{className:F.memberInfo,children:[(0,N.jsxs)(`span`,{className:F.memberName,style:{color:r},children:[t,n&&(0,N.jsx)(`span`,{className:F.tag,children:n})]}),(0,N.jsx)(`span`,{className:F.memberStatus,children:`Online`})]})]})}function dt({members:e,onBack:t,onClose:n}){return(0,N.jsxs)(`div`,{className:F.membersPanel,children:[(0,N.jsxs)(`header`,{className:F.membersHeader,children:[(0,N.jsx)(r,{variant:`ghost`,className:F.glyphLg,"aria-label":`Back`,onClick:t,children:`‹`}),(0,N.jsx)(`span`,{className:F.membersTitle,children:`Nearby`}),(0,N.jsxs)(`span`,{className:F.membersCount,children:[(0,N.jsx)(`span`,{className:F.personIcon,"aria-hidden":`true`,children:`●`}),e.length,` Online`]}),(0,N.jsx)(r,{variant:`solid`,className:F.glyph,"aria-label":`Close chat`,onClick:n,children:`×`})]}),(0,N.jsx)(`div`,{className:F.membersList,children:e.length===0?(0,N.jsx)(`div`,{className:F.empty,children:`No one nearby`}):e.map(e=>(0,N.jsx)(ut,{member:e},e.address))})]})}function ft({chat:e,hidden:t=!1,me:n,onTeleport:i,onVisitWorld:a}){let[o,s]=(0,A.useState)(``),[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(!1),[f,p]=(0,A.useState)([]),[m,h]=(0,A.useState)(null),[te,_]=(0,A.useState)(!1),[ne,re]=(0,A.useState)(!1),[v,y]=(0,A.useState)(null),[b,x]=(0,A.useState)([]),S=(0,A.useRef)(null),C=(0,A.useRef)(null),w=e.open,T=w&&(te||ne||c),E=!T,ie=(0,A.useMemo)(()=>{let t=new Map;for(let n of e.members)n.name.trim()&&t.set(n.address.toLowerCase(),n.name);return t},[e.members]),ae=(0,A.useMemo)(()=>{let t=new Map;for(let n of e.members)n.picture&&t.set(n.address.toLowerCase(),n.picture);return t},[e.members]),se=e=>ie.get(e.toLowerCase())??Xe(e),ce=(0,A.useMemo)(()=>{let t=[],n=``;for(let r of e.messages){let e=nt(r.ts);e!==n&&(t.push({kind:`day`,ts:r.ts,id:`day-${e}`}),n=e),t.push({kind:`msg`,line:r})}return t},[e.messages]);(0,A.useEffect)(()=>{if(!w)return;let e=S.current;e&&(e.scrollTop=e.scrollHeight)},[w,T]);let le=(0,A.useRef)(!0);(0,A.useEffect)(()=>{let e=S.current;if(!e)return;let t=()=>{le.current=e.scrollHeight-e.scrollTop-e.clientHeight<80};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[w]),(0,A.useEffect)(()=>{if(!w)return;let e=S.current;e&&le.current&&(e.scrollTop=e.scrollHeight)},[e.messages,w]),(0,A.useEffect)(()=>{w&&C.current?.focus()},[w,e.focusTick]),(0,A.useEffect)(()=>{T||d(!1)},[T]);let ue=()=>{e.open||e.toggle()},de=(e,t)=>{oe(e.address,t.clientX,t.clientY)},fe=e=>{s(t=>`${t.replace(/\s*$/,``)} @${e} `.trimStart()),ue(),C.current?.focus()};(0,A.useEffect)(()=>{e.pendingMention&&(fe(e.pendingMention),e.consumeMention())},[e.pendingMention]);let pe=/@([\w-]*)$/,D=t=>{s(t);let n=t.match(ye);h(n?n[1]:null),p(n?ve(n[1]):[]);let r=t.match(pe);y(r?r[1]:null);let i=(r?.[1]??``).toLowerCase();x(r?e.members.filter(e=>(e.name||e.address).toLowerCase().includes(i)).slice(0,6):[])},me=e=>{let t=e.name.trim()?e.name.split(`#`)[0]:e.address;s(e=>e.replace(pe,`@${t} `)),x([]),y(null),C.current?.focus()},O=e=>{s(t=>{let n=t.match(ye);return(n?t.slice(0,n.index):t)+e}),p([]),h(null),C.current?.focus()},k=()=>{o.trim()&&(e.send(o),s(``),p([]),h(null),x([]),y(null))};return t?null:(0,N.jsxs)(`div`,{className:`${F.root} ${w?F.open:``} ${T?F.active:``}`.trim(),onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1),children:[w&&T&&(0,N.jsxs)(`header`,{className:F.nav,children:[(0,N.jsxs)(`div`,{className:F.navLeft,children:[(0,N.jsx)(ee,{size:26,className:F.channelIcon}),(0,N.jsx)(`span`,{className:F.navTitle,children:`Nearby`})]}),(0,N.jsxs)(`div`,{className:F.navRight,children:[e.members.length>0&&(0,N.jsxs)(r,{variant:`ghost`,shape:`pill`,active:u,"aria-label":`${e.members.length} nearby`,onClick:()=>d(e=>!e),children:[(0,N.jsx)(it,{}),e.members.length]}),(0,N.jsx)(r,{variant:`solid`,className:F.glyph,"aria-label":`Close chat`,onClick:e.toggle,children:`×`})]})]}),w&&(0,N.jsx)(`div`,{ref:S,className:F.messages,children:ce.length===0?(0,N.jsx)(`div`,{className:F.empty,children:`No messages yet`}):ce.map(t=>t.kind===`day`?(0,N.jsx)(st,{ts:t.ts},t.id):(0,N.jsx)(lt,{line:t.line,name:se(t.line.sender),picture:ae.get(t.line.sender.toLowerCase()),members:e.members,me:n,onOpenProfile:de,onLocation:(e,t)=>i?.(e,t),onVisitWorld:a},t.line.id))}),T&&c&&(0,N.jsx)(`div`,{className:F.pickerWrap,children:(0,N.jsx)(Le,{onPick:O,onClose:()=>l(!1)})}),T&&v!=null&&b.length>0&&(0,N.jsx)(`div`,{className:F.suggest,children:(0,N.jsx)(`ul`,{className:F.suggestList,children:b.map((e,t)=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,className:`${F.suggestItem} ${t===0?F.suggestActive:``}`.trim(),onClick:()=>me(e),children:[(0,N.jsx)(g,{src:e.picture,name:e.name,color:et(e.address),size:20}),(0,N.jsx)(`span`,{className:F.suggestName,children:e.name||Ye(e.address)})]})},e.address))})}),T&&m!=null&&(0,N.jsx)(`div`,{className:F.suggest,children:f.length===0?(0,N.jsx)(`div`,{className:F.noResults,children:`No results`}):(0,N.jsx)(`ul`,{className:F.suggestList,children:f.map((e,t)=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,className:`${F.suggestItem} ${t===0?F.suggestActive:``}`.trim(),onClick:()=>O(e.emoji),children:[(0,N.jsx)(`span`,{className:F.suggestGlyph,children:e.emoji}),(0,N.jsx)(`span`,{className:F.suggestName,children:e.expression})]})},e.code))})}),(0,N.jsxs)(`form`,{className:F.inputRow,onSubmit:e=>{e.preventDefault(),k()},children:[(0,N.jsx)(`input`,{ref:C,className:`${F.input} ${E?F.inputBare:``}`.trim(),value:o,onChange:e=>D(e.target.value),onFocus:()=>{re(!0),ue()},onBlur:()=>re(!1),placeholder:ne?`Message Nearby`:`Press Enter to chat`,maxLength:We,onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),b.length>0?me(b[0]):f.length>0?O(f[0].emoji):k()):e.key===`Escape`&&(v==null?m==null?c?l(!1):C.current?.blur():(h(null),p([])):(y(null),x([])))}}),!E&&o.length>0&&(0,N.jsx)(ot,{len:o.length}),!E&&(0,N.jsx)(r,{variant:`ghost`,size:`sm`,active:c,className:F.emojiBtn,"aria-label":`Emoji`,onClick:()=>{ue(),l(e=>!e)},children:(0,N.jsx)(at,{})})]}),w&&T&&u&&(0,N.jsx)(dt,{members:e.members,onBack:()=>d(!1),onClose:()=>{d(!1),e.toggle()}})]})}var I={root:`_root_hrk0u_5`,tabs:`_tabs_hrk0u_25`,tab:`_tab_hrk0u_25`,tabActive:`_tabActive_hrk0u_55`,tabBadge:`_tabBadge_hrk0u_59`,closeGlyph:`_closeGlyph_hrk0u_72`,body:`_body_hrk0u_77`,sectionHead:`_sectionHead_hrk0u_92`,chev:`_chev_hrk0u_108`,chevOpen:`_chevOpen_hrk0u_113`,row:`_row_hrk0u_117`,info:`_info_hrk0u_127`,name:`_name_hrk0u_134`,verified:`_verified_hrk0u_146`,tag:`_tag_hrk0u_151`,status:`_status_hrk0u_155`,online:`_online_hrk0u_160`,sub:`_sub_hrk0u_163`,date:`_date_hrk0u_173`,actions:`_actions_hrk0u_178`,empty:`_empty_hrk0u_190`,placeholder:`_placeholder_hrk0u_197`,phIcon:`_phIcon_hrk0u_205`,phTitle:`_phTitle_hrk0u_216`,phText:`_phText_hrk0u_221`,rowBtn:`_rowBtn_hrk0u_229`};function L(e,t){return e.trim()?e:D(t)}function pt(e){return e.trim().length>0&&!e.includes(`#`)&&!/^0x[0-9a-f]+$/i.test(e)}function mt(){return(0,N.jsxs)(`svg`,{className:I.verified,viewBox:`0 0 16 16`,"aria-label":`verified`,children:[(0,N.jsx)(`defs`,{children:(0,N.jsxs)(`linearGradient`,{id:`vrf`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#ff2d55`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#c640cd`})]})}),(0,N.jsx)(`path`,{d:`M8 1l1.7 1.2 2.1-.2 1 1.8 1.9.9-.5 2 .9 1.9-1.6 1.4.1 2.1-2 .6-1.1 1.8-2-.7-2 .7-1.1-1.8-2-.6.1-2.1L1.6 8.6l.9-1.9-.5-2 1.9-.9 1-1.8 2.1.2z`,fill:`url(#vrf)`}),(0,N.jsx)(`path`,{d:`M5.5 8l1.7 1.7L10.8 6`,stroke:`#fff`,strokeWidth:`1.4`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}function ht({name:e,address:t}){let{base:n,tag:r}=k(L(e,t));return(0,N.jsxs)(`span`,{className:I.name,style:{color:y(t)},children:[n,pt(e)&&(0,N.jsx)(mt,{}),r&&(0,N.jsx)(`span`,{className:I.tag,children:r})]})}function gt({open:e}){return(0,N.jsx)(`svg`,{className:`${I.chev} ${e?I.chevOpen:``}`.trim(),viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M2.5 7.5L6 4l3.5 3.5`,stroke:`currentColor`,strokeWidth:`1.6`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function R({title:e,count:t,children:n}){let[r,i]=(0,A.useState)(!0);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`button`,{type:`button`,className:I.sectionHead,onClick:()=>i(e=>!e),children:[(0,N.jsx)(gt,{open:r}),e,` (`,t,`)`]}),r&&n]})}var _t={online:`Online`,away:`Away`,offline:`Offline`};function vt({friend:e,onOpen:t}){let n={address:e.address,name:e.name,picture:e.picture},r=e=>{e.type===`contextmenu`&&e.preventDefault(),t?.(n,e)};return(0,N.jsxs)(`button`,{type:`button`,className:`${I.row} ${I.rowBtn}`,onClick:r,onContextMenu:r,children:[(0,N.jsx)(g,{src:e.picture,name:L(e.name,e.address),color:y(e.address),size:40,status:e.status}),(0,N.jsxs)(`div`,{className:I.info,children:[(0,N.jsx)(ht,{name:e.name,address:e.address}),(0,N.jsx)(`span`,{className:`${I.status} ${I[e.status]}`,children:_t[e.status]})]})]})}function yt(e){return e?new Date(e).toLocaleDateString([],{month:`short`,day:`numeric`}).toUpperCase():``}function bt({req:t,onAccept:n,onReject:r}){return(0,N.jsxs)(`div`,{className:I.row,children:[(0,N.jsx)(g,{src:t.picture,name:L(t.name,t.address),color:y(t.address),size:40}),(0,N.jsxs)(`div`,{className:I.info,children:[(0,N.jsx)(ht,{name:t.name,address:t.address}),t.message&&(0,N.jsx)(`span`,{className:I.sub,children:t.message})]}),(0,N.jsx)(`span`,{className:I.date,children:yt(t.createdAt)}),(0,N.jsxs)(`div`,{className:I.actions,children:[(0,N.jsx)(e,{variant:`secondary`,size:`sm`,onClick:r,children:`Delete`}),(0,N.jsx)(e,{variant:`primary`,size:`sm`,onClick:n,children:`Accept`})]})]})}function xt({req:t,onCancel:n}){return(0,N.jsxs)(`div`,{className:I.row,children:[(0,N.jsx)(g,{src:t.picture,name:L(t.name,t.address),color:y(t.address),size:40}),(0,N.jsxs)(`div`,{className:I.info,children:[(0,N.jsx)(ht,{name:t.name,address:t.address}),(0,N.jsx)(`span`,{className:I.sub,children:`Request sent`})]}),(0,N.jsx)(`span`,{className:I.date,children:yt(t.createdAt)}),(0,N.jsx)(`div`,{className:I.actions,children:(0,N.jsx)(e,{variant:`secondary`,size:`sm`,onClick:n,children:`Cancel`})})]})}function St({friends:t}){let[n,i]=(0,A.useState)(`friends`),a=(e,t)=>oe(e.address,t.clientX,t.clientY),{online:o,offline:s}=(0,A.useMemo)(()=>{let e=[],n=[];for(let r of[...t.list].sort((e,t)=>e.name.localeCompare(t.name)))(r.status===`offline`?n:e).push(r);return{online:e,offline:n}},[t.list]);if(!t.open)return null;let c=[{id:`friends`,label:`Friends`},{id:`requests`,label:`Requests`,badge:t.received.length},{id:`blocked`,label:`Blocked`}];return(0,N.jsxs)(`div`,{className:I.root,children:[(0,N.jsxs)(`header`,{className:I.tabs,children:[c.map(e=>(0,N.jsxs)(`button`,{type:`button`,className:`${I.tab} ${n===e.id?I.tabActive:``}`.trim(),onClick:()=>i(e.id),children:[e.label,e.badge?(0,N.jsx)(`span`,{className:I.tabBadge,children:e.badge}):null]},e.id)),(0,N.jsx)(r,{variant:`solid`,className:I.closeGlyph,"aria-label":`Close friends`,onClick:t.toggle,children:`×`})]}),(0,N.jsx)(`div`,{className:I.body,children:t.available?n===`friends`?t.list.length===0?(0,N.jsx)(`div`,{className:I.empty,children:`No friends yet.`}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(R,{title:`Online`,count:o.length,children:o.map(e=>(0,N.jsx)(vt,{friend:e,onOpen:a},e.address))}),(0,N.jsx)(R,{title:`Offline`,count:s.length,children:s.map(e=>(0,N.jsx)(vt,{friend:e,onOpen:a},e.address))})]}):n===`requests`?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(R,{title:`Received`,count:t.received.length,children:t.received.length===0?(0,N.jsx)(`div`,{className:I.empty,children:`No Requests`}):t.received.map(e=>(0,N.jsx)(bt,{req:e,onAccept:()=>t.act(`accept`,e.address),onReject:()=>t.act(`reject`,e.address)},e.id))}),(0,N.jsx)(R,{title:`Sent`,count:t.sent.length,children:t.sent.length===0?(0,N.jsx)(`div`,{className:I.empty,children:`No Requests`}):t.sent.map(e=>(0,N.jsx)(xt,{req:e,onCancel:()=>t.act(`cancel`,e.address)},e.id))})]}):t.blocked.length===0?(0,N.jsxs)(`div`,{className:I.placeholder,children:[(0,N.jsx)(`div`,{className:I.phIcon,"aria-hidden":`true`,children:`⊘`}),(0,N.jsx)(`div`,{className:I.phTitle,children:`No Blocked Accounts`}),(0,N.jsx)(`div`,{className:I.phText,children:`If you block someone, you won’t see each other in-world or exchange messages, and their name and messages are hidden in public chats.`})]}):t.blocked.map(n=>(0,N.jsxs)(`div`,{className:I.row,children:[(0,N.jsx)(g,{name:D(n),color:y(n),size:40}),(0,N.jsx)(`div`,{className:I.info,children:(0,N.jsx)(`span`,{className:I.name,children:D(n)})}),(0,N.jsx)(`div`,{className:I.actions,children:(0,N.jsx)(e,{variant:`secondary`,size:`sm`,onClick:()=>t.act(`unblock`,n),children:`Unblock`})})]},n)):(0,N.jsxs)(`div`,{className:I.placeholder,children:[(0,N.jsx)(`div`,{className:I.phTitle,children:`Friends aren’t available`}),(0,N.jsx)(`div`,{className:I.phText,children:`Sign in with a wallet to add and manage friends.`})]})})]})}var z={head:`_head_1bdpk_2`,title:`_title_1bdpk_8`,tabs:`_tabs_1bdpk_14`,tab:`_tab_1bdpk_14`,tabActive:`_tabActive_1bdpk_34`,reset:`_reset_1bdpk_41`,card:`_card_1bdpk_61`,grid:`_grid_1bdpk_68`,field:`_field_1bdpk_75`,fieldHead:`_fieldHead_1bdpk_80`,label:`_label_1bdpk_86`,value:`_value_1bdpk_91`,empty:`_empty_1bdpk_97`};function Ct(e){return e.replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function wt(e){return e.namedVariants.length===2||e.namedVariants.length===0&&e.maxValue-e.minValue<=1&&e.stepSize>=1}function Tt(e){return!wt(e)&&e.namedVariants.length<=2}function Et({s:e,onSet:n}){return wt(e)?(0,N.jsx)(o,{checked:e.value>=1,onChange:t=>n(e.name,+!!t),"aria-label":e.name}):e.namedVariants.length>2?(0,N.jsx)(t,{variant:`light`,value:String(e.value),options:e.namedVariants.map((e,t)=>({value:String(t),label:e.name})),onChange:t=>n(e.name,Number(t)),"aria-label":e.name}):(0,N.jsx)(h,{arrows:!0,value:e.value,min:e.minValue,max:e.maxValue,step:e.stepSize||1,onChange:t=>n(e.name,t),"aria-label":e.name})}var Dt=(0,A.memo)(function({s:e,onSet:t}){return(0,N.jsxs)(`div`,{className:z.field,children:[(0,N.jsxs)(`div`,{className:z.fieldHead,children:[(0,N.jsx)(`span`,{className:z.label,children:Ct(e.name)}),Tt(e)&&(0,N.jsx)(`span`,{className:z.value,children:e.value})]}),(0,N.jsx)(Et,{s:e,onSet:t})]})},(e,t)=>e.s.name===t.s.name&&e.s.value===t.s.value&&e.onSet===t.onSet);function Ot({settings:e,profile:t,onNavigate:n}){let r=(0,A.useMemo)(()=>[...new Set(e.list.map(e=>e.category))],[e.list]),[i,a]=(0,A.useState)(null);if(!e.open)return null;let o=i&&r.includes(i)?i:r[0],s=e.list.filter(e=>e.category===o),c=()=>s.forEach(t=>e.set(t.name,t.default)),l=t.data;return(0,N.jsxs)(le,{active:`settings`,profileName:l?.name,profilePicture:l?.picture,profileAddress:l?.address,profileClaimed:l?.hasClaimedName,onNavigate:n,onClose:e.toggle,children:[(0,N.jsxs)(`div`,{className:z.head,children:[(0,N.jsx)(`h1`,{className:z.title,children:`Settings`}),(0,N.jsx)(`div`,{className:z.tabs,children:r.map(e=>(0,N.jsx)(`button`,{type:`button`,className:`${z.tab} ${e===o?z.tabActive:``}`.trim(),onClick:()=>a(e),children:Ct(e)},e))}),(0,N.jsx)(`button`,{type:`button`,className:z.reset,onClick:c,children:`↺ Reset all defaults`})]}),(0,N.jsx)(`div`,{className:z.card,children:s.length===0?(0,N.jsx)(`div`,{className:z.empty,children:`No settings available.`}):(0,N.jsx)(`div`,{className:z.grid,children:s.map(t=>(0,N.jsx)(Dt,{s:t,onSet:e.set},t.name))})})]})}var B={root:`_root_fhnuh_2`,head:`_head_fhnuh_21`,title:`_title_fhnuh_30`,closeGlyph:`_closeGlyph_fhnuh_35`,body:`_body_fhnuh_39`,name:`_name_fhnuh_48`,tag:`_tag_fhnuh_58`,addr:`_addr_fhnuh_62`,guest:`_guest_fhnuh_67`,desc:`_desc_fhnuh_75`,links:`_links_fhnuh_81`,link:`_link_fhnuh_81`,empty:`_empty_fhnuh_101`};function kt({profile:e}){if(!e.open)return null;let t=e.data,{base:n,tag:i}=k(t?t.name.trim()?t.name:D(t.address):``),a=t?y(t.address):`var(--fill-4)`;return(0,N.jsxs)(`div`,{className:B.root,children:[(0,N.jsxs)(`header`,{className:B.head,children:[(0,N.jsx)(`span`,{className:B.title,children:`Profile`}),(0,N.jsx)(r,{variant:`solid`,className:B.closeGlyph,"aria-label":`Close profile`,onClick:e.toggle,children:`×`})]}),t?(0,N.jsxs)(`div`,{className:B.body,children:[(0,N.jsx)(g,{src:t.picture,name:n,color:a,size:88,status:`online`}),(0,N.jsxs)(`div`,{className:B.name,style:{color:a},children:[n,i&&(0,N.jsx)(`span`,{className:B.tag,children:i})]}),(0,N.jsx)(`div`,{className:B.addr,children:D(t.address)}),t.isGuest&&(0,N.jsx)(`span`,{className:B.guest,children:`Guest`}),t.description&&(0,N.jsx)(`p`,{className:B.desc,children:t.description}),t.links&&t.links.length>0&&(0,N.jsx)(`div`,{className:B.links,children:t.links.map(e=>(0,N.jsx)(`a`,{className:B.link,href:e.url,target:`_blank`,rel:`noreferrer`,children:e.title},e.url))})]}):(0,N.jsx)(`div`,{className:B.empty,children:`Profile unavailable.`})]})}var V={root:`_root_8hwrw_2`,head:`_head_8hwrw_21`,heading:`_heading_8hwrw_30`,markRead:`_markRead_8hwrw_36`,closeGlyph:`_closeGlyph_8hwrw_48`,body:`_body_8hwrw_52`,row:`_row_8hwrw_66`,unread:`_unread_8hwrw_77`,thumb:`_thumb_8hwrw_81`,img:`_img_8hwrw_92`,dot:`_dot_8hwrw_97`,info:`_info_8hwrw_104`,title:`_title_8hwrw_111`,bodyText:`_bodyText_8hwrw_120`,time:`_time_8hwrw_130`,unreadDot:`_unreadDot_8hwrw_136`,empty:`_empty_8hwrw_146`};function At(e){return e.replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function H(e,...t){for(let n of t){let t=e[n];if(typeof t==`string`&&t)return t}}function jt(e,t,...n){let r=e[t];if(r&&typeof r==`object`)return H(r,...n)}function Mt(e){let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.floor((Date.now()-t)/6e4);if(n<1)return`now`;if(n<60)return`${n}m`;let r=Math.floor(n/60);if(r<24)return`${r}h`;let i=Math.floor(r/24);return i<7?`${i}d`:new Date(t).toLocaleDateString([],{month:`short`,day:`numeric`})}function Nt(e){return H(e,`image`,`thumbnail`,`thumbnailUrl`,`tokenImage`,`profileImageUrl`)??jt(e,`sender`,`profileImageUrl`,`image`)}var Pt={social_service_friendship_request:`wants to be your friend!`,social_service_friendship_accepted:`accepted your friend request.`},U=e=>H(e,`communityName`)??`a community`,Ft={community_post_added:e=>({title:`New Community Announcement`,body:`A new announcement was posted in ${U(e)}.`}),community_invite_received:e=>({title:`Community Invite Received`,body:`You've been invited to join ${U(e)}.`}),community_voice_chat_started:e=>({title:`Community Voice Stream Started`,body:`${U(e)} is streaming — click to join.`}),community_renamed:e=>({title:`Community Renamed`,body:`${H(e,`oldName`)??`A community`} was renamed to ${H(e,`newName`)??U(e)}.`}),community_request_to_join_received:e=>({title:`Membership Request Received`,body:`${H(e,`userName`,`memberName`)??`Someone`} wants to join ${U(e)}.`}),community_request_to_join_accepted:e=>({title:`Membership Request Accepted`,body:`You're now a member of ${U(e)}.`}),community_deleted:e=>({title:`Community Deleted`,body:`${U(e)} has been deleted.`}),community_deleted_content_violation:e=>({title:`Community Deleted`,body:`${U(e)} was deleted for a content violation.`}),community_member_banned:e=>({title:`Banned from Community`,body:`You've been banned from ${U(e)}.`}),community_member_removed:e=>({title:`Removed from Community`,body:`You've been removed from ${U(e)}.`}),community_ownership_transferred:e=>({title:`Community Ownership Transferred`,body:`You're now the owner of ${U(e)}.`}),credits_reminder_claim_credits:()=>({title:`Marketplace Credits`,body:`You have Credits waiting to be claimed.`}),credits_reminder_complete_goals:()=>({title:`Marketplace Credits`,body:`Complete your goals to earn Credits.`}),credits_reminder_usage:()=>({title:`Marketplace Credits`,body:`Don't forget to use your Credits.`}),credits_reminder_usage_24_hours:()=>({title:`Marketplace Credits`,body:`Your Credits expire soon — use them now.`}),credits_reminder_do_not_miss_out:()=>({title:`Marketplace Credits`,body:`Don't miss out on your Credits.`}),credits_new_season_reminder:()=>({title:`New Credits Season`,body:`A new Marketplace Credits season has started.`})};function It(e){let t=e.metadata,n=Nt(t);if(Pt[e.type])return{title:jt(t,`sender`,`name`)??H(t,`title`)??`Someone`,body:Pt[e.type],image:n};let r=H(t,`title`);if(r!=null)return{title:r,body:H(t,`description`,`message`),image:n};let i=Ft[e.type];return i?{...i(t),image:n}:{title:At(e.type),body:H(t,`description`,`message`,`name`),image:n}}function Lt({n:e}){let{title:t,body:n,image:r}=It(e);return(0,N.jsxs)(`div`,{className:`${V.row} ${e.read?``:V.unread}`.trim(),children:[(0,N.jsx)(`div`,{className:V.thumb,children:r?(0,N.jsx)(`img`,{className:V.img,src:r,alt:``}):(0,N.jsx)(`span`,{className:V.dot})}),(0,N.jsxs)(`div`,{className:V.info,children:[(0,N.jsx)(`span`,{className:V.title,children:t}),n&&(0,N.jsx)(`span`,{className:V.bodyText,children:n})]}),(0,N.jsx)(`span`,{className:V.time,children:Mt(e.timestamp)}),!e.read&&(0,N.jsx)(`span`,{className:V.unreadDot,"aria-label":`unread`})]})}function Rt({notifications:e}){return e.open?(0,N.jsxs)(`div`,{className:V.root,children:[(0,N.jsxs)(`header`,{className:V.head,children:[(0,N.jsx)(`span`,{className:V.heading,children:`Notifications`}),e.unread>0&&(0,N.jsx)(`button`,{type:`button`,className:V.markRead,onClick:e.markAllRead,children:`Mark all read`}),(0,N.jsx)(r,{variant:`solid`,className:V.closeGlyph,"aria-label":`Close notifications`,onClick:e.toggle,children:`×`})]}),(0,N.jsx)(`div`,{className:V.body,children:e.list.length===0?(0,N.jsx)(`div`,{className:V.empty,children:`You’re all caught up.`}):e.list.map(e=>(0,N.jsx)(Lt,{n:e},e.id))})]}):null}var zt={slot:`_slot_10ky5_2`,bg:`_bg_10ky5_6`,num:`_num_10ky5_15`},Bt=182,Vt=168,Ht=92,Ut=74,Wt={base:{flap:`#A09BA8`,glows:[{c:`#CFCDD4`,cx:156.62,cy:134.02,r:123.28,b:53.79},{c:`#FCFCFC`,cx:33.93,cy:.93,r:121.93,b:53.79,o:.8}]},common:{flap:`#73D3D3`,glows:[{c:`#73D3D3`,cx:137,cy:115,r:119,b:89.96},{c:`#B5FFF6`,cx:44,cy:32,r:68,b:50}]},uncommon:{flap:`#FF8362`,glows:[{c:`#FF8362`,cx:137,cy:115,r:119,b:81.65},{c:`#FFE0B2`,cx:29.47,cy:18.47,r:77.47,b:50}]},rare:{flap:`#34CE76`,glows:[{c:`#34CE76`,cx:137,cy:115,r:106,b:53.79},{c:`#73FFAF`,cx:32.48,cy:19.06,r:77.47,b:50}]},epic:{flap:`#438FFF`,glows:[{c:`#5C9EFF`,cx:136,cy:102,r:102,b:53.79},{c:`#4DEAFF`,cx:12.47,cy:21.47,r:77.47,b:50}]},legendary:{flap:`#A14BF3`,glows:[{c:`#B66CFF`,cx:121,cy:112,r:83,b:41.72},{c:`#E579FB`,cx:12.47,cy:21.47,r:77.47,b:50}]},mythic:{flap:`#FF4BED`,glows:[{c:`#FF4BED`,cx:121,cy:112,r:83,b:53.79},{c:`#FFA6C1`,cx:12.47,cy:21.47,r:77.47,b:53.79}]},exotic:{flap:`#9CD71E`,glows:[{c:`#CAFF73`,cx:121,cy:112,r:116,b:74.89},{c:`#CAFF73`,cx:12.47,cy:21.47,r:77.47,b:58.66}]},unique:{flap:`#FEA217`,glows:[{c:`#FFDD2C`,cx:70,cy:157,r:91,b:53.79},{c:`#FFAB2C`,cx:132.9,cy:39.9,r:53.9,b:53.79}]}},Gt=`M14.8164 12.709C64.4508 -0.703243 116.612 -1.5304 166.64 10.3027C176.559 12.6489 182.063 22.9775 179.27 32.6738L145.125 151.212C142.308 160.99 132.238 166.37 122.526 164.608C103.049 161.075 83.0735 161.392 63.7158 165.54C54.0636 167.609 43.8302 162.551 40.71 152.865L2.89062 35.4668C-0.202676 25.8636 4.97707 15.368 14.8164 12.709Z`,Kt=`M4.79456 34.854C2.02502 26.2568 6.68143 16.9787 15.3385 14.6393C64.652 1.31383 116.475 0.492713 166.179 12.2493C174.905 14.3132 179.848 23.4393 177.348 32.12L143.203 150.658C140.703 159.339 131.704 164.24 122.883 162.64C103.149 159.061 82.9097 159.381 63.2967 163.584C54.53 165.463 45.3831 160.849 42.6136 152.252L4.79456 34.854Z`,qt=`M47.9447 7.70117C43.9328 8.34457 40.4114 10.7359 38.638 14.3936L17.1322 58.75C15.343 62.4402 15.0466 66.6786 16.304 70.582L4.79428 34.8545C2.02478 26.2574 6.68134 16.9791 15.3382 14.6396C26.1034 11.7307 36.9885 9.41758 47.9447 7.70117Z`,Jt=`M17.1325 58.7501C15.3433 62.4403 15.047 66.6787 16.3044 70.5822L13.1836 60.8956L33.8238 24.3209L17.1325 58.7501Z`,Yt=`M11.0036 21.9181C10.6762 22.1695 10.615 22.639 10.867 22.9659L15.3604 26.5831L17.129 28.6697L15.533 31.4881L15.1114 35.3803C15.162 35.8414 15.6155 36.1457 16.0614 36.0179C16.4192 35.9153 16.6472 35.5652 16.5963 35.1964L17.0108 31.9443L19.1989 28.861L20.0563 33.9719C20.1331 34.4298 20.5915 34.7189 21.0379 34.5909C21.4127 34.4834 21.65 34.1151 21.5929 33.7294L20.6933 27.6476L19.6397 25.3561L21.2475 20.6279C21.4369 20.0711 20.9223 19.5309 20.357 19.6931C20.1239 19.7599 19.9394 19.9382 19.8647 20.1689L19.0229 22.5681C18.7079 23.4659 17.9771 24.1553 17.0625 24.4176C16.1661 24.6746 15.2008 24.4903 14.4621 23.921L12.0623 22.0715C11.8154 21.7316 11.3368 21.6622 11.0036 21.9181Z`;function Xt({thumbnail:e,rarity:t=`base`,number:n,width:r=174,rotate:i=0}){let a=(0,A.useId)().replace(/:/g,``),o=e,s=Wt[t]??Wt.base,c=i?`rotate(${-i} ${Ht} ${Ut})`:void 0,l={fontSize:Math.round(r*.19),transform:`translateX(-50%)${i?` rotate(${-i}deg)`:``}`};return(0,N.jsxs)(`div`,{className:zt.slot,style:{width:r,height:r*Vt/Bt,transform:i?`rotate(${i}deg)`:void 0},children:[(0,N.jsxs)(`svg`,{className:zt.bg,viewBox:`0 0 ${Bt} ${Vt}`,preserveAspectRatio:`none`,children:[(0,N.jsxs)(`defs`,{children:[s.glows.map((e,t)=>(0,N.jsx)(`filter`,{id:`blur-${a}-${t}`,x:`-120`,y:`-120`,width:`420`,height:`420`,filterUnits:`userSpaceOnUse`,colorInterpolationFilters:`sRGB`,children:(0,N.jsx)(`feGaussianBlur`,{stdDeviation:e.b})},t)),(0,N.jsx)(`clipPath`,{id:`clip-${a}`,children:(0,N.jsx)(`path`,{d:Kt})})]}),(0,N.jsx)(`path`,{d:Kt,fill:`#691FA9`}),(0,N.jsxs)(`g`,{clipPath:`url(#clip-${a})`,children:[s.glows.map((e,t)=>(0,N.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:e.r,fill:e.c,opacity:e.o??1,filter:`url(#blur-${a}-${t})`},t)),o&&(0,N.jsx)(`g`,{transform:c,children:(0,N.jsx)(`image`,{href:o,x:`37.9961`,y:`20`,width:`108`,height:`108`,preserveAspectRatio:`none`})}),(0,N.jsx)(`path`,{d:qt,fill:s.flap}),(0,N.jsx)(`path`,{d:Jt,fill:`black`,fillOpacity:`0.1`}),(0,N.jsx)(`path`,{d:Yt,fill:`#FCFCFC`}),(0,N.jsx)(`circle`,{cx:`16.2543`,cy:`21.5305`,r:`1.87704`,transform:`rotate(-16 16.2543 21.5305)`,fill:`#FCFCFC`})]}),(0,N.jsx)(`path`,{d:Gt,fill:`none`,stroke:`#f1eff5`,strokeWidth:`4`})]}),n!=null&&(0,N.jsx)(`span`,{className:zt.num,style:l,children:n})]})}var W={backdrop:`_backdrop_okd42_2`,wheel:`_wheel_okd42_12`,slotPos:`_slotPos_okd42_21`,slotHover:`_slotHover_okd42_27`,slotEmpty:`_slotEmpty_okd42_32`,center:`_center_okd42_38`,hoverName:`_hoverName_okd42_49`,title:`_title_okd42_55`,customise:`_customise_okd42_60`,hint:`_hint_okd42_77`,close:`_close_okd42_83`},Zt=215,Qt=152,$t=112;function en({emotes:e,onCustomise:t}){let[n,r]=(0,A.useState)(null);if((0,A.useEffect)(()=>{if(!e.open||t==null)return;let n=e=>{(e.key===`e`||e.key===`E`)&&(e.preventDefault(),t())};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e.open,t]),!e.open)return null;let i=Array.from({length:10},(t,n)=>{let r=(n+1)%10;return{k:n,num:r,deg:-90+n*36,emote:e.list.find(e=>e.slot===r)??null}}),a=n==null?null:e.list.find(e=>e.slot===n);return(0,N.jsx)(`div`,{className:W.backdrop,onClick:e.toggle,children:(0,N.jsxs)(`div`,{className:W.wheel,onClick:e=>e.stopPropagation(),children:[(0,N.jsx)(`button`,{type:`button`,className:W.close,"aria-label":`Close emotes`,onClick:e.toggle,children:`×`}),i.map(({num:t,deg:i,emote:a})=>{let o=i*Math.PI/180,s=Zt+Qt*Math.cos(o),c=Zt+Qt*Math.sin(o);return(0,N.jsx)(`div`,{role:`button`,"aria-label":`Emote slot ${t}${a?`: ${a.name}`:``}`,className:`${W.slotPos} ${n===t?W.slotHover:``} ${a?``:W.slotEmpty}`.trim(),style:{left:`${s}px`,top:`${c}px`},onMouseEnter:()=>a&&r(t),onMouseLeave:()=>r(e=>e===t?null:e),onClick:()=>a&&e.play(a.urn),children:(0,N.jsx)(Xt,{thumbnail:a?T(a.urn):void 0,rarity:a?.rarity??`base`,number:t,rotate:i+90,width:$t})},t)}),(0,N.jsxs)(`div`,{className:W.center,children:[(0,N.jsx)(`div`,{className:W.hoverName,children:a?.name??` `}),(0,N.jsx)(`div`,{className:W.title,children:`EMOTES`}),(0,N.jsx)(`button`,{type:`button`,className:W.customise,onClick:t,children:`Customise [E]`}),(0,N.jsxs)(`div`,{className:W.hint,children:[`Hold [B+num] to run an emote`,(0,N.jsx)(`br`,{}),`while the wheel is closed`]})]})]})})}var tn={root:`_root_2zlqk_5`,group:`_group_2zlqk_27`,divider:`_divider_2zlqk_35`},nn=[{kind:`profile`,icon:`profile`,label:`Profile`},{kind:`notifications`,icon:`notifications`,label:`Notifications`},{kind:`map`,icon:`map`,label:`Map`,shortcut:`M`},{kind:`places`,icon:`places`,label:`Places`,shortcut:`Z`},{kind:`communities`,icon:`communities`,label:`Communities`,shortcut:`O`},{kind:`backpack`,icon:`backpack`,label:`Backpack`,shortcut:`I`},{kind:`gallery`,icon:`gallery`,label:`Gallery`,shortcut:`G`},{kind:`settings`,icon:`settings`,label:`Settings`,shortcut:`P`},{kind:`divider`},{kind:`help`,icon:`help`,label:`Help & Support`}],rn=[{kind:`mic`,icon:`mic`,label:`Voice chat`},{kind:`emotes`,icon:`emotes`,label:`Emotes`,shortcut:`B`},{kind:`divider`},{kind:`friends`,icon:`friends`,label:`Friends`,shortcut:`L`},{kind:`chat`,icon:`chat`,label:`Chat`,shortcut:`T`}];function an(e,t,r,i){return e.kind===`divider`?(0,N.jsx)(`div`,{className:tn.divider},`d${t}`):e.kind===`chat`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,badge:r.chat.unread,active:r.chat.open,onClick:r.chat.toggle},`chat`):e.kind===`friends`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,badge:r.friends.received.length,active:r.friends.open,onClick:r.friends.toggle},`friends`):e.kind===`settings`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,active:r.settings.open,onClick:r.settings.toggle},`settings`):e.kind===`profile`?(0,N.jsx)(n,{icon:e.icon,label:e.label,active:r.profile.open,onClick:i??r.profile.toggle},`profile`):e.kind===`backpack`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,active:r.backpack.open,onClick:r.backpack.toggle},`backpack`):e.kind===`communities`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,active:r.communities.open,onClick:r.communities.toggle},`communities`):e.kind===`map`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,active:r.map.open,onClick:r.map.toggle},`map`):e.kind===`places`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,active:r.places.open,onClick:r.places.toggle},`places`):e.kind===`gallery`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,active:r.gallery.open,onClick:r.gallery.toggle},`gallery`):e.kind===`notifications`?(0,N.jsx)(n,{icon:e.icon,label:e.label,badge:r.notifications.unread,active:r.notifications.open,onClick:r.notifications.toggle},`notifications`):e.kind===`emotes`?(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,active:r.emotes.open,onClick:r.emotes.toggle},`emotes`):e.kind===`mic`?(0,N.jsx)(n,{icon:e.icon,label:e.label,active:r.mic.enabled,onClick:r.mic.toggle},`mic`):e.kind===`help`?(0,N.jsx)(n,{icon:e.icon,label:e.label,onClick:()=>window.open(`https://decentraland.org/help/`,`_blank`,`noopener`)},`help`):(0,N.jsx)(n,{icon:e.icon,label:e.label,shortcut:e.shortcut,onClick:()=>r.nav(e.action)},e.action)}function on({session:e,onViewProfile:t}){return(0,N.jsxs)(`nav`,{className:tn.root,"aria-label":`Main navigation`,children:[(0,N.jsx)(`div`,{className:tn.group,children:nn.map((n,r)=>an(n,r,e,t))}),(0,N.jsx)(`div`,{className:tn.group,children:rn.map((n,r)=>an(n,r,e,t))})]})}var G={root:`_root_1pc98_1`,reticle:`_reticle_1pc98_13`,reticleActive:`_reticleActive_1pc98_38`,hints:`_hints_1pc98_45`,hintsRadial:`_hintsRadial_1pc98_60`,hint:`_hint_1pc98_45`,hintReverse:`_hintReverse_1pc98_79`,hintDisabled:`_hintDisabled_1pc98_83`,hintText:`_hintText_1pc98_86`,mouse:`_mouse_1pc98_89`,cap:`_cap_1pc98_93`,proxTip:`_proxTip_1pc98_109`},sn=0,cn={1:`E`,2:`F`,4:`W`,5:`S`,6:`D`,7:`A`,8:`Space`,9:`Shift`,10:`1`,11:`2`,12:`3`,13:`4`};function ln(){return(0,N.jsxs)(`svg`,{className:G.mouse,width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M11.6746 11.8961V2.99524C11.6746 2.99524 4.33789 2.98667 4.33789 11.8961H11.6746Z`,fill:`#FF7439`}),(0,N.jsx)(`rect`,{x:`4.50781`,y:`2.99524`,width:`15`,height:`20`,rx:`7.5`,stroke:`#ECEBED`,strokeWidth:`2`}),(0,N.jsx)(`path`,{d:`M4.33789 11.9952H18.9999`,stroke:`#ECEBED`}),(0,N.jsx)(`path`,{d:`M7.20715 0.590018C4.26466 1.54992 2.11196 4.23323 1.19016 6.9471`,stroke:`#ECEBED`,strokeLinecap:`round`})]})}function un({button:e}){return e===sn?(0,N.jsx)(ln,{}):(0,N.jsx)(`span`,{className:G.cap,children:cn[e]??`?`})}var dn=14,fn=34,pn=[{x:dn,y:0,side:`r`},{x:-14,y:0,side:`l`},{x:0,y:-2*fn,side:`t`},{x:dn,y:fn,side:`r`},{x:-14,y:fn,side:`l`},{x:dn,y:-34,side:`r`},{x:-14,y:-34,side:`l`}];function mn(e){return e.side===`t`?{position:`absolute`,left:e.x,top:e.y,transform:`translate(-50%, -50%)`}:e.side===`l`?{position:`absolute`,left:e.x,top:e.y,transform:`translate(-100%, -50%)`}:{position:`absolute`,left:e.x,top:e.y,transform:`translateY(-50%)`}}var hn={camera:{Icon:p,text:`Get camera closer`},player:{Icon:f,text:`Get player closer`}};function gn({action:e,slot:t}){let n=t?.side===`l`,r=e.enabled?null:hn[e.tooFarReason??`camera`];return(0,N.jsxs)(`div`,{className:`${G.hint}${n?` ${G.hintReverse}`:``}${e.enabled?``:` ${G.hintDisabled}`}`,style:t?mn(t):void 0,children:[r?(0,N.jsx)(`span`,{className:G.mouse,"data-testid":`too-far-icon-${e.tooFarReason??`camera`}`,children:(0,N.jsx)(r.Icon,{size:22})}):(0,N.jsx)(un,{button:e.button}),(0,N.jsx)(`span`,{className:G.hintText,children:e.enabled?e.text:r?.text})]})}function _n({hover:e,locked:t,proximity:n}){let r=(0,A.useSyncExternalStore)(b,ue),[i,a]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=()=>a(document.pointerLockElement!=null);return e(),document.addEventListener(`pointerlockchange`,e),()=>document.removeEventListener(`pointerlockchange`,e)},[]);let o=t||i,s=e.length>0;return(0,A.useEffect)(()=>(ie(s&&!o),()=>ie(!1)),[s,o]),!o&&!s&&n.length===0?null:(0,N.jsxs)(`div`,{className:G.root,"aria-hidden":`true`,children:[o&&(0,N.jsx)(`div`,{"data-testid":`reticle`,className:`${G.reticle}${s?` ${G.reticleActive}`:``}`}),s&&(o?(0,N.jsx)(`div`,{className:G.hints,children:e.map((e,t)=>(0,N.jsx)(gn,{action:e},t))}):(0,N.jsx)(`div`,{className:G.hintsRadial,style:{left:r.x,top:r.y},children:e.slice(0,pn.length).map((e,t)=>(0,N.jsx)(gn,{action:e,slot:pn[t]},t))})),n.map(e=>(0,N.jsx)(`div`,{"data-testid":`proxtip-${e.id}`,className:G.proxTip,style:{left:`${e.x}px`,top:`${e.y}px`},children:e.actions.map((e,t)=>(0,N.jsxs)(`div`,{className:G.hint,children:[(0,N.jsx)(un,{button:e.button}),(0,N.jsx)(`span`,{className:G.hintText,children:e.text})]},t))},e.id))]})}var vn=i(),K={scrim:`_scrim_1ixs8_3`,modal:`_modal_1ixs8_14`,icon:`_icon_1ixs8_28`,prompt:`_prompt_1ixs8_38`,scene:`_scene_1ixs8_44`,additional:`_additional_1ixs8_47`,options:`_options_1ixs8_52`,option:`_option_1ixs8_52`,radio:`_radio_1ixs8_74`,radioOn:`_radioOn_1ixs8_87`,radioDot:`_radioDot_1ixs8_90`,input:`_input_1ixs8_97`,actions:`_actions_1ixs8_103`,deny:`_deny_1ixs8_109`},yn={MovePlayer:`move your avatar within the scene bounds`,ForceCamera:`temporarily change the camera view`,PlayEmote:`make your avatar perform an emote`,SetLocomotion:`temporarily modify your avatar's locomotion settings`,HideAvatarsNametags:`temporarily hide player avatars and/or nametags, and/or disables passports`,DisableVoice:`temporarily disable voice chat`,Teleport:`teleport you to a new location`,ChangeRealm:`move you to a new realm`,SpawnPortable:`spawn a portable experience`,KillPortables:`manage your active portable experiences`,Web3:`initiate a web3 transaction with your wallet`,CopyToClipboard:`copy text into the clipboard`,Fetch:`fetch data from a remote server`,Websocket:`open a web socket to communicate with a remote server`,OpenUrl:`open a url in your browser`},bn=[{value:`once`,label:`Once`},{value:`scene`,label:`Always for Scene`},{value:`realm`,label:`Always for Realm`},{value:`global`,label:`Always for Global`}];function xn(){return(0,N.jsxs)(`svg`,{width:`26`,height:`26`,viewBox:`0 0 24 24`,"aria-hidden":`true`,fill:`none`,children:[(0,N.jsx)(`rect`,{x:`4`,y:`10`,width:`16`,height:`11`,rx:`2`,fill:`currentColor`}),(0,N.jsx)(`path`,{d:`M8 10V7a4 4 0 0 1 8 0v3`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]})}function Sn({request:t,onResolve:n}){let[r,i]=(0,A.useState)(`once`),a=yn[t.ty]??`perform a restricted action`;return(0,A.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(e.preventDefault(),n(!1,`once`))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,vn.createPortal)((0,N.jsx)(`div`,{className:K.scrim,onClick:()=>n(!1,`once`),children:(0,N.jsxs)(`div`,{className:K.modal,role:`alertdialog`,"aria-modal":`true`,"aria-label":`Scene permission request`,onClick:e=>e.stopPropagation(),children:[(0,N.jsx)(`span`,{className:K.icon,children:(0,N.jsx)(xn,{})}),(0,N.jsxs)(`div`,{className:K.prompt,children:[`The scene `,(0,N.jsx)(`span`,{className:K.scene,children:t.sceneName||`A scene`}),` wants permission to `,a]}),t.additional?(0,N.jsx)(`div`,{className:K.additional,children:t.additional}):null,(0,N.jsx)(`div`,{className:K.options,role:`radiogroup`,"aria-label":`Apply this decision`,children:bn.map(e=>(0,N.jsxs)(`label`,{className:K.option,children:[(0,N.jsx)(`input`,{className:K.input,type:`radio`,name:`permission-level`,checked:r===e.value,onChange:()=>i(e.value)}),(0,N.jsx)(`span`,{className:`${K.radio} ${r===e.value?K.radioOn:``}`.trim(),children:r===e.value?(0,N.jsx)(`span`,{className:K.radioDot}):null}),e.label]},e.value))}),(0,N.jsxs)(`div`,{className:K.actions,children:[(0,N.jsx)(e,{variant:`primary`,onClick:()=>n(!0,r),children:`Allow`}),(0,N.jsx)(e,{variant:`ghost`,className:K.deny,onClick:()=>n(!1,r),children:`Deny`})]})]})}),document.body)}function Cn(e){let[t,n]=(0,A.useState)({page:0,engine:null,ms:0});return(0,A.useEffect)(()=>{if(!e)return;let t=0,r=0,i=0,a=null,o,s=performance.now(),c=s,l=0,u=()=>{let e=window;e===a||typeof e.__engineHeartbeat!=`function`||(o=e.__engineHeartbeat,e.__engineHeartbeat=function(...e){return i++,o?.apply(this,e)},a=e)},d=e=>{if(r++,l+=e-c,c=e,u(),e-s>=500){let t=(e-s)/1e3;n({page:Math.round(r/t),engine:typeof window.__nativeEngineFps==`number`?Math.round(window.__nativeEngineFps):a?Math.round(i/t):null,ms:Number((l/r).toFixed(1))}),r=0,i=0,l=0,s=e}t=requestAnimationFrame(d)};return t=requestAnimationFrame(d),()=>{cancelAnimationFrame(t),a&&o&&(a.__engineHeartbeat=o)}},[e]),t}var q={meter:`_meter_77eb9_1`,fps:`_fps_77eb9_21`,unit:`_unit_77eb9_25`,dim:`_dim_77eb9_31`,engine:`_engine_77eb9_34`,good:`_good_77eb9_39`,warn:`_warn_77eb9_42`,bad:`_bad_77eb9_45`};function wn(){let{page:e,engine:t,ms:n}=Cn(!0),r=e>=55?q.good:e>=30?q.warn:q.bad;return(0,N.jsxs)(`div`,{className:q.meter,"aria-hidden":`true`,children:[(0,N.jsxs)(`span`,{className:`${q.fps} ${r}`,children:[e,(0,N.jsx)(`span`,{className:q.unit,children:`fps`})]}),(0,N.jsxs)(`span`,{className:q.dim,children:[n,`ms`]}),t!=null&&(0,N.jsxs)(`span`,{className:q.dim,children:[`engine `,(0,N.jsx)(`b`,{className:q.engine,children:t})]})]})}var J={root:`_root_1m58s_1`,"fade-in":`_fade-in_1m58s_1`,leaving:`_leaving_1m58s_13`,"fade-out":`_fade-out_1m58s_1`,watermark:`_watermark_1m58s_18`,loading:`_loading_1m58s_38`,spinnerLogo:`_spinnerLogo_1m58s_44`,pulse:`_pulse_1m58s_1`,panel:`_panel_1m58s_52`,logo:`_logo_1m58s_60`,title:`_title_1m58s_66`,subtitle:`_subtitle_1m58s_75`,account:`_account_1m58s_83`,error:`_error_1m58s_90`,buttons:`_buttons_1m58s_96`,cta:`_cta_1m58s_105`,ctaSecondary:`_ctaSecondary_1m58s_106`,authHint:`_authHint_1m58s_135`,authCode:`_authCode_1m58s_142`,resetBox:`_resetBox_1m58s_151`,resetText:`_resetText_1m58s_160`,ctaDanger:`_ctaDanger_1m58s_167`,label:`_label_1m58s_173`,arrow:`_arrow_1m58s_181`,bootBar:`_bootBar_1m58s_188`,bootLabel:`_bootLabel_1m58s_198`,bootTrack:`_bootTrack_1m58s_205`,bootFill:`_bootFill_1m58s_212`,avatarWrap:`_avatarWrap_1m58s_220`,disc:`_disc_1m58s_233`,glow:`_glow_1m58s_249`,"glow-pulse":`_glow-pulse_1m58s_1`,avatar:`_avatar_1m58s_220`,"avatar-in":`_avatar-in_1m58s_1`,"avatar-float":`_avatar-float_1m58s_1`},Tn={download:`Downloading engine`,compile:`Compiling`,init:`Initializing`,workers:`Starting workers`,gpu:`Preparing graphics`};function En({flow:e}){if(e.engineReady)return null;let t=(e.loadStep==null?void 0:Tn[e.loadStep])??`Starting…`,n=Math.round(e.loadProgress);return(0,N.jsxs)(`div`,{className:J.bootBar,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":t,children:[(0,N.jsxs)(`div`,{className:J.bootLabel,children:[t,` · `,n,`%`]}),(0,N.jsx)(`div`,{className:J.bootTrack,children:(0,N.jsx)(`div`,{className:J.bootFill,style:{width:`${n}%`}})})]})}function Dn(e){return e.loadStep===`download`?`DOWNLOADING… ${Math.round(e.loadProgress)}%`:`STARTING…`}function On(){return(0,N.jsx)(`span`,{className:J.arrow,"aria-hidden":`true`,children:(0,N.jsxs)(`svg`,{viewBox:`0 0 28 28`,width:`22`,height:`22`,children:[(0,N.jsx)(`circle`,{cx:`14`,cy:`14`,r:`14`,fill:`#fff`}),(0,N.jsx)(`path`,{d:`M12.5 9l5 5-5 5M9 14h8`,stroke:`var(--brand)`,strokeWidth:`2.4`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`})]})})}function kn(e){let[t,n]=(0,A.useState)({});return(0,A.useEffect)(()=>{if(e==null||e===``){n({});return}let t=!1;return fetch(`https://peer.decentraland.org/lambdas/profiles/${e}`).then(e=>e.json()).then(e=>{let r=e.avatars?.[0];t||n({name:r?.name,body:r?.avatar?.snapshots?.body})}).catch(()=>void 0),()=>{t=!0}},[e]),t}function An({body:e}){let[t,n]=(0,A.useState)(!1);return t?null:(0,N.jsxs)(`div`,{className:J.avatarWrap,children:[(0,N.jsx)(`div`,{className:J.disc}),(0,N.jsx)(`div`,{className:J.glow}),(0,N.jsx)(`img`,{className:J.avatar,src:e,alt:``,draggable:!1,onError:()=>n(!0)})]})}var jn={"sign-in-or-guest":{title:`Discover a virtual social world`,subtitle:`shaped by its community of
5
+ creators & explorers.`},"reuse-login-or-new":{title:`Welcome back!`,subtitle:`Ready to explore?`}};function Mn({flow:e}){(0,A.useEffect)(()=>{S()},[]);let t=e.status===`reuse-login-or-new`,n=kn(t&&e.account!=null?e.account:void 0);return(0,N.jsx)(`div`,{className:J.root,children:e.status===`loading`?(0,N.jsx)(`div`,{className:J.loading,children:(0,N.jsx)(`div`,{className:J.spinnerLogo})}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:J.watermark}),(0,N.jsx)(Nn,{flow:e,name:n.name}),t&&n.body!=null&&(0,N.jsx)(An,{body:n.body}),(0,N.jsx)(En,{flow:e})]})})}function Nn({flow:t,name:n}){let r=t.status,i=jn[r],a=r===`reuse-login-or-new`&&n!=null&&n!==``?`Welcome back ${n}`:i.title,o=!t.engineReady;return(0,N.jsxs)(`div`,{className:J.panel,children:[(0,N.jsx)(`div`,{className:J.logo}),(0,N.jsx)(`h1`,{className:J.title,children:a}),i.subtitle&&(0,N.jsx)(`p`,{className:J.subtitle,children:i.subtitle}),t.error&&(0,N.jsx)(`p`,{className:J.error,children:t.error}),(0,N.jsxs)(`div`,{className:J.buttons,children:[t.authPending&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`p`,{className:J.authHint,children:t.authCode==null?`Opening the sign-in page in your browser…`:`Verify this code matches the one in the browser window we just opened:`}),t.authCode!=null&&(0,N.jsx)(`div`,{className:J.authCode,children:t.authCode}),(0,N.jsx)(e,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:t.cancelLogin,children:(0,N.jsx)(`span`,{className:J.label,children:`CANCEL`})})]}),r===`sign-in-or-guest`&&!t.authPending&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(e,{variant:`primary`,size:`lg`,className:J.cta,onClick:t.startWithAccount,disabled:t.busy,children:[(0,N.jsx)(`span`,{className:J.label,children:`START WITH ACCOUNT`}),(0,N.jsx)(On,{})]}),(0,N.jsx)(e,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:t.exploreAsGuest,disabled:t.busy||o,children:(0,N.jsx)(`span`,{className:J.label,children:o?Dn(t):`EXPLORE AS GUEST`})})]}),r===`reuse-login-or-new`&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(e,{variant:`primary`,size:`lg`,className:J.cta,onClick:t.jumpIn,disabled:t.busy||o,children:[(0,N.jsx)(`span`,{className:J.label,children:o?Dn(t):t.profileFetchFailed?`TRY AGAIN`:`JUMP INTO DECENTRALAND`}),!o&&(0,N.jsx)(On,{})]}),(0,N.jsx)(e,{variant:`secondary`,size:`lg`,className:J.ctaSecondary,onClick:t.useDifferentAccount,disabled:t.busy,children:(0,N.jsx)(`span`,{className:J.label,children:`USE A DIFFERENT ACCOUNT`})}),t.profileFetchFailed&&(0,N.jsxs)(`div`,{className:J.resetBox,children:[(0,N.jsx)(`p`,{className:J.resetText,children:`If the problem persists you can continue with a fresh default profile. This permanently replaces your account's current avatar and profile.`}),(0,N.jsx)(e,{variant:`secondary`,size:`lg`,className:`${J.ctaSecondary} ${J.ctaDanger}`,onClick:t.resetProfileAndJumpIn,disabled:t.busy||o,children:(0,N.jsx)(`span`,{className:J.label,children:`RESET PROFILE & JUMP IN`})})]})]})]})]})}var Y={root:`_root_1vhw7_1`,"fade-in":`_fade-in_1vhw7_1`,logo:`_logo_1vhw7_24`,title:`_title_1vhw7_30`,subtitle:`_subtitle_1vhw7_36`,track:`_track_1vhw7_44`,fill:`_fill_1vhw7_52`,indeterminate:`_indeterminate_1vhw7_59`,slide:`_slide_1vhw7_1`};function Pn({scene:e}){let t=(0,A.useRef)(0),n=e?.pendingAssets??null;n!=null&&n>t.current&&(t.current=n);let r=e!=null&&!e.realmConnected,i=n!=null&&t.current>0,a=i?1-n/t.current:0,o=r?`Reconnecting…`:e?.title?e.title:`Entering Decentraland`,s=r?`Reconnecting to the realm`:n!=null&&n>0?`Loading scene assets · ${n} remaining`:`Preparing your surroundings`;return(0,N.jsxs)(`div`,{className:Y.root,children:[(0,N.jsx)(`div`,{className:Y.logo}),(0,N.jsx)(`h2`,{className:Y.title,children:o}),(0,N.jsx)(`p`,{className:Y.subtitle,children:s}),(0,N.jsx)(`div`,{className:Y.track,children:(0,N.jsx)(`div`,{className:`${Y.fill}${i?``:` `+Y.indeterminate}`,style:i?{width:`${Math.round(a*100)}%`}:void 0})})]})}function Fn({onStay:t,onLeave:n}){return(0,N.jsx)(m,{title:`Leave Decentraland?`,onClose:t,closeButton:!1,dismissOnScrim:!1,width:420,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(e,{variant:`ghost`,onClick:t,children:`Stay`}),(0,N.jsx)(e,{variant:`primary`,onClick:n,children:`Leave`})]}),actionsEqual:!0,children:`You're about to exit the world and go back. You'll have to reconnect to return.`})}function In(e){let[t,n]=(0,A.useState)(!1),r=(0,A.useRef)(!1);return(0,A.useEffect)(()=>{if(!e)return;r.current=!1;let t=e=>{r.current||(e.preventDefault(),e.returnValue=``)},i=()=>{r.current||(window.history.pushState(null,``,window.location.href),n(!0))};return window.history.pushState(null,``,window.location.href),window.addEventListener(`beforeunload`,t),window.addEventListener(`popstate`,i),()=>{window.removeEventListener(`beforeunload`,t),window.removeEventListener(`popstate`,i)}},[e]),{confirming:t,stay:()=>n(!1),leave:()=>{n(!1),r.current=!0,window.history.go(-2)}}}var Ln=1080,Rn=.6,zn=1.3,Bn=new URLSearchParams(location.search).get(`native`)===`1`;function Vn(){(0,A.useEffect)(()=>{let e=-1,t=()=>{let t=window.__nativeUiHeight,n=typeof t==`number`&&t>0?t:window.innerHeight,r=Math.min(zn,Math.max(Rn,n/Ln));r!==e&&(e=r,document.documentElement.style.setProperty(`--ui-scale`,r.toFixed(3)))};t(),window.addEventListener(`resize`,t);let n=Bn?window.setInterval(t,500):0;return()=>{window.removeEventListener(`resize`,t),n&&window.clearInterval(n)}},[])}function Hn(e,t){let n=(0,A.useRef)(e),r=(0,A.useRef)(t);n.current=e,r.current=t,(0,A.useEffect)(()=>{let e=e=>{n.current(e)&&(e.preventDefault(),r.current())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[])}var Un={m:e=>e.map.toggle,z:e=>e.places.toggle,o:e=>e.communities.toggle,i:e=>e.backpack.toggle,g:e=>e.gallery.toggle,p:e=>e.settings.toggle,b:e=>e.emotes.toggle,l:e=>e.friends.toggle,t:e=>e.chat.toggle,enter:e=>e.chat.requestFocus};function Wn(e){let t=(0,A.useRef)(e);t.current=e,(0,A.useEffect)(()=>{let e=e=>{if(e.ctrlKey||e.metaKey||e.altKey||e.repeat)return;let n=e.target,r=n?.tagName;if(r===`INPUT`||r===`TEXTAREA`||n?.isContentEditable||window.__engineTextFocus)return;let i=t.current;if(i.phase!==`world`)return;let a=Un[e.key.toLowerCase()];a&&(e.preventDefault(),e.stopPropagation(),a(i)())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[])}var Gn=/Android|iPhone|iPad|iPod|webOS|BlackBerry|Opera Mini|IEMobile|Windows Phone/i;function Kn(){return/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function qn(){return typeof navigator>`u`?!1:Gn.test(navigator.userAgent)||Kn()}function Jn(){return typeof navigator>`u`?!0:/Chrome\//.test(navigator.userAgent)}function Yn(){return typeof document>`u`?!1:document.cookie.split(`;`).some(e=>e.trim().startsWith(`bypass_browser_check=`))}function Xn(){let e=navigator.userAgent;return/iPad|iPhone|iPod/.test(e)||Kn()?`ios`:/Android/i.test(e)?`android`:`other`}var Zn=5e3;async function Qn(){let e=navigator.gpu;if(e==null)return!1;let t;try{let n=await Promise.race([e.requestAdapter(),new Promise(e=>{t=setTimeout(()=>e(`timeout`),Zn)})]);return n===`timeout`?!0:n!=null}catch{return!1}finally{t!=null&&clearTimeout(t)}}var X={root:`_root_3vjgt_1`,card:`_card_3vjgt_13`,logo:`_logo_3vjgt_21`,title:`_title_3vjgt_26`,subtitle:`_subtitle_3vjgt_32`,buttons:`_buttons_3vjgt_38`,store:`_store_3vjgt_45`,steps:`_steps_3vjgt_66`,stepHint:`_stepHint_3vjgt_76`,flag:`_flag_3vjgt_82`,flagText:`_flagText_3vjgt_91`,copy:`_copy_3vjgt_102`,tryAnyway:`_tryAnyway_3vjgt_121`},$n=`https://testflight.apple.com/join/KF4r3jlU`,er=`https://play.google.com/store/apps/details?id=org.decentraland.godotexplorer`,tr=`https://www.google.com/chrome/`;function nr(){return(0,N.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z`})})}function rr(){return(0,N.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,N.jsx)(`path`,{d:`M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z`})})}function ir(){return(0,N.jsxs)(`svg`,{viewBox:`0 0 48 48`,fill:`none`,"aria-hidden":`true`,children:[(0,N.jsxs)(`defs`,{children:[(0,N.jsxs)(`linearGradient`,{id:`cg-a`,x1:`3.2173`,y1:`15`,x2:`44.7812`,y2:`15`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#d93025`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#ea4335`})]}),(0,N.jsxs)(`linearGradient`,{id:`cg-b`,x1:`20.7219`,y1:`47.6791`,x2:`41.5039`,y2:`11.6837`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#fcc934`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#fbbc04`})]}),(0,N.jsxs)(`linearGradient`,{id:`cg-c`,x1:`26.5981`,y1:`46.5015`,x2:`5.8161`,y2:`10.506`,gradientUnits:`userSpaceOnUse`,children:[(0,N.jsx)(`stop`,{offset:`0`,stopColor:`#1e8e3e`}),(0,N.jsx)(`stop`,{offset:`1`,stopColor:`#34a853`})]})]}),(0,N.jsx)(`circle`,{cx:`24`,cy:`23.9947`,r:`12`,fill:`#fff`}),(0,N.jsx)(`path`,{d:`M24,12H44.7812a23.9939,23.9939,0,0,0-41.5639.0029L13.6079,30l.0093-.0024A11.9852,11.9852,0,0,1,24,12Z`,fill:`url(#cg-a)`}),(0,N.jsx)(`circle`,{cx:`24`,cy:`24`,r:`9.5`,fill:`#1a73e8`}),(0,N.jsx)(`path`,{d:`M34.3913,30.0029,24.0007,48A23.994,23.994,0,0,0,44.78,12.0031H23.9989l-.0025.0093A11.985,11.985,0,0,1,34.3913,30.0029Z`,fill:`url(#cg-b)`}),(0,N.jsx)(`path`,{d:`M13.6086,30.0031,3.218,12.006A23.994,23.994,0,0,0,24.0025,48L34.3931,30.0029l-.0067-.0068a11.9852,11.9852,0,0,1-20.7778.007Z`,fill:`url(#cg-c)`})]})}function ar(){document.cookie=`bypass_browser_check=1;path=/;max-age=2592000`,location.reload()}function or({hint:e,target:t}){let[n,r]=(0,A.useState)(!1);return(0,A.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>r(!1),1200);return()=>clearTimeout(e)},[n]),(0,N.jsxs)(`li`,{children:[(0,N.jsx)(`span`,{className:X.stepHint,children:e}),(0,N.jsxs)(`div`,{className:X.flag,children:[(0,N.jsx)(`code`,{className:X.flagText,children:t}),(0,N.jsx)(`button`,{type:`button`,className:X.copy,onClick:()=>{navigator.clipboard?.writeText(t).then(()=>r(!0),()=>{})},title:`Copy`,"aria-label":`Copy`,children:n?(0,N.jsx)(u,{size:15}):(0,N.jsx)(d,{size:15})})]})]})}function sr(){return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsx)(s,{})})}function cr({reason:t=`mobile`}){if(t===`gpu`)return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:_(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Enable GPU acceleration`}),(0,N.jsxs)(`p`,{className:X.subtitle,children:[`Decentraland Web renders in 3D with `,(0,N.jsx)(`strong`,{children:`WebGPU`}),`, which needs a working GPU. Your browser has it turned off or can’t reach a supported GPU. In Chrome, paste each of these into a new tab (they can’t be opened by clicking), switch it on, then relaunch:`]}),(0,N.jsxs)(`ol`,{className:X.steps,children:[(0,N.jsx)(or,{hint:`Turn on “Use graphics acceleration when available”`,target:`chrome://settings/system`}),(0,N.jsx)(or,{hint:`Set “Unsafe WebGPU Support” to Enabled`,target:`chrome://flags/#enable-unsafe-webgpu`})]}),(0,N.jsx)(`button`,{type:`button`,className:X.tryAnyway,onClick:ar,children:`try anyway…`})]})});if(t===`browser`)return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:_(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Browser Not Supported`}),(0,N.jsxs)(`p`,{className:X.subtitle,children:[`Decentraland Web requires `,(0,N.jsx)(`strong`,{children:`Google Chrome`}),` on desktop to run.`]}),(0,N.jsx)(`div`,{className:X.buttons,children:(0,N.jsxs)(e,{variant:`secondary`,href:tr,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(ir,{}),(0,N.jsx)(`span`,{children:`Download Chrome`})]})}),(0,N.jsx)(`button`,{type:`button`,className:X.tryAnyway,onClick:ar,children:`try anyway…`})]})});let n=Xn(),r=n===`ios`||n===`other`,i=n===`android`||n===`other`;return(0,N.jsx)(`div`,{className:X.root,children:(0,N.jsxs)(`div`,{className:X.card,children:[(0,N.jsx)(`img`,{className:X.logo,src:_(`assets/logo.png`),alt:``,draggable:!1}),(0,N.jsx)(`h1`,{className:X.title,children:`Decentraland`}),(0,N.jsx)(`p`,{className:X.subtitle,children:`This experience isn’t available on mobile browsers. Download the app to explore:`}),(0,N.jsxs)(`div`,{className:X.buttons,children:[r&&(0,N.jsxs)(e,{variant:`secondary`,href:$n,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(nr,{}),(0,N.jsx)(`span`,{children:`Install from App Store`})]}),i&&(0,N.jsxs)(e,{variant:`secondary`,href:er,target:`_blank`,rel:`noopener`,className:X.store,children:[(0,N.jsx)(rr,{}),(0,N.jsx)(`span`,{children:`Install from Google Play`})]})]})]})})}var Z={fatalLayer:`_fatalLayer_1q3co_5`,head:`_head_1q3co_10`,title:`_title_1q3co_14`,subtitle:`_subtitle_1q3co_20`,btn:`_btn_1q3co_27`,detail:`_detail_1q3co_32`},lr={launch:{title:`Something went wrong`,subtitle:`The 3D engine couldn't start. Reloading often fixes it.`},runtime:{title:`The world crashed`,subtitle:`The 3D engine stopped unexpectedly.`},react:{title:`Something went wrong`,subtitle:`The app hit an unexpected error.`},realm:{title:`World not found`,subtitle:``}};function ur({error:t,onReload:n,onDismiss:r}){let{title:i,subtitle:a}=lr[t.source],o=t.source===`realm`;return(0,N.jsx)(m,{header:(0,N.jsxs)(`div`,{className:Z.head,children:[(0,N.jsx)(`h2`,{className:Z.title,children:i}),(0,N.jsx)(`p`,{className:Z.subtitle,children:o?t.message:a})]}),role:`alertdialog`,ariaLabel:i,onClose:r,dismissOnScrim:!!r,closeButton:!1,backdropClassName:Z.fatalLayer,actionsAlign:`center`,actions:o?(0,N.jsx)(e,{variant:`primary`,className:Z.btn,onClick:r,children:`OK`}):(0,N.jsxs)(N.Fragment,{children:[r&&(0,N.jsx)(e,{variant:`ghost`,className:Z.btn,onClick:r,children:`Dismiss`}),(0,N.jsx)(e,{variant:`primary`,className:Z.btn,onClick:n,children:`Reload`})]}),children:!o&&(0,N.jsx)(`pre`,{className:Z.detail,children:t.message})})}var dr=class extends A.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){console.error(`[react error boundary]`,e)}render(){let{error:e}=this.state;return e?(0,N.jsx)(ur,{error:{message:e.stack??e.message,source:`react`},onReload:()=>location.reload()}):this.props.children}},fr=`modulepreload`,pr=function(e){return`https://cdn.decentraland.org/@dcl-regenesislabs/bevy-explorer-web/0.1.0-29546729450.commit-8e8cd1a/`+e},mr={},hr=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=pr(t,n),t=s(t),t in mr)return;mr[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:fr,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},gr=(0,A.lazy)(()=>hr(()=>import(`./Showcase-eDD97p45.js`).then(e=>({default:e.Showcase})),__vite__mapDeps([0,1,2,3,4,5]))),Q=new URLSearchParams(location.search),$=Q.get(`mock`)===`1`?`mock`:Q.get(`native`)===`1`?`native`:`engine`,_r=Q.get(`showcase`)===`1`,vr=me().hideHud;function yr(){return $===`native`||Q.get(`nogate`)===`1`?null:qn()||Q.get(`gate`)===`1`?`mobile`:Q.get(`gate`)===`browser`?`browser`:Q.get(`gate`)===`gpu`?`gpu`:!Jn()&&!Yn()?`browser`:null}var br=yr();function xr(){Vn();let e=Sr(),t=Cr(br!=null||$===`mock`||$===`native`||_r);return br?(0,N.jsx)(cr,{reason:br}):t===`checking`?(0,N.jsx)(sr,{}):t===`blocked`?(0,N.jsx)(cr,{reason:`gpu`}):(0,N.jsxs)(dr,{children:[_r?(0,N.jsx)(A.Suspense,{fallback:null,children:(0,N.jsx)(gr,{})}):(0,N.jsx)(wr,{}),e&&(0,N.jsx)(wn,{})]})}function Sr(){let[e,t]=(0,A.useState)(Q.get(`fps`)===`1`);return Hn(e=>(e.ctrlKey||e.metaKey)&&e.shiftKey&&(e.key===`F`||e.key===`f`),()=>t(e=>!e)),e}function Cr(e){let[t,n]=(0,A.useState)(e?`ok`:`checking`);return(0,A.useEffect)(()=>{if(e)return;if(Q.get(`nogate`)===`1`||Yn()){n(`ok`);return}let t=!1;return Qn().then(e=>{t||n(e?`ok`:`blocked`)}),()=>{t=!0}},[e]),t}function wr(){let{rpc:e,createDriver:t}=(0,A.useMemo)(()=>{if($===`mock`)return Fe(),{rpc:null,createDriver:()=>new Ce};if($===`native`)return{rpc:null,createDriver:()=>new Ce};let e=new Ee;return{rpc:e,createDriver:()=>new Te(e)}},[]),n=se(t);Wn(n);let r=In(n.phase===`entering`||n.phase===`world`),[i,a]=(0,A.useState)(null),[o,s]=(0,A.useState)(`wearables`);(0,A.useEffect)(()=>{n.backpack.open||s(`wearables`)},[n.backpack.open]);let l=()=>{let e=n.profile.data;e&&E(e.address)},u=e=>{e===`settings`?n.settings.toggle():e===`backpack`?n.backpack.toggle():e===`communities`?n.communities.toggle():e===`map`?n.map.toggle():e===`places`?n.places.toggle():e===`gallery`?n.gallery.toggle():e===`profile`?l():e===`signout`&&n.logout()},d=n.settings.open||n.backpack.open||n.communities.open||n.map.open||n.places.open||n.gallery.open;return vr?(0,N.jsxs)(x,{value:n,children:[e&&(0,N.jsx)(O,{rpc:e}),n.fatalError&&(0,N.jsx)(ur,{error:n.fatalError,onReload:n.reload,onDismiss:n.fatalError.source===`runtime`||n.fatalError.source===`realm`?n.dismissFatal:void 0})]}):(0,N.jsxs)(x,{value:n,children:[e&&(0,N.jsx)(O,{rpc:e}),n.phase===`login`&&(0,N.jsx)(Mn,{flow:n.login}),n.phase===`picking`&&(0,N.jsx)(ce,{onPick:n.pickDestination}),n.phase===`entering`&&(0,N.jsx)(Pn,{scene:n.scene}),n.phase===`world`&&!n.menuOpen&&(0,N.jsxs)(N.Fragment,{children:[!d&&(0,N.jsx)(on,{session:n,onViewProfile:l}),!d&&(0,N.jsx)(_n,{hover:n.hover,locked:n.cursorLocked,proximity:n.proximity}),(0,N.jsx)(ft,{chat:n.chat,hidden:n.friends.open||d,me:n.profile.data,onTeleport:(e,t)=>n.map.teleport(e,t),onVisitWorld:e=>a(e)}),(0,N.jsx)(St,{friends:n.friends}),(0,N.jsx)(Ot,{settings:n.settings,profile:n.profile,onNavigate:u}),(0,N.jsx)(kt,{profile:n.profile}),(0,N.jsx)(Rt,{notifications:n.notifications}),(0,N.jsx)(en,{emotes:n.emotes,onCustomise:()=>{s(`emotes`),n.backpack.toggle()}}),(0,N.jsx)(w,{backpack:n.backpack,emotes:n.emotes,profile:n.profile,onNavigate:u,setEngineViewport:n.setEngineViewport,initialTab:o}),(0,N.jsx)(C,{communities:n.communities,profile:n.profile,onNavigate:u,onAddFriend:e=>n.friends.act(`request`,e),onOpenChat:()=>n.chat.toggle()}),(0,N.jsx)(ae,{map:n.map,profile:n.profile,onNavigate:u}),(0,N.jsx)(de,{places:n.places,profile:n.profile,onNavigate:u,onTeleport:(e,t)=>n.map.teleport(e,t),onVisitWorld:e=>n.map.changeRealm(e)}),(0,N.jsx)(fe,{gallery:n.gallery,profile:n.profile,onNavigate:u,onTeleport:(e,t)=>n.map.teleport(e,t),onViewProfile:e=>E(e.address)}),i&&(0,N.jsx)(pe,{worldName:i,onCancel:()=>a(null),onConfirm:()=>{n.map.changeRealm(i),a(null)}})]}),n.phase===`world`&&n.permissions.pending.length>0&&(0,N.jsx)(Sn,{request:n.permissions.pending[0],onResolve:(e,t)=>n.permissions.resolve(n.permissions.pending[0].id,e,t)},n.permissions.pending[0].id),r.confirming&&(0,N.jsx)(Fn,{onStay:r.stay,onLeave:r.leave}),n.fatalError&&(0,N.jsx)(ur,{error:n.fatalError,onReload:n.reload,onDismiss:n.fatalError.source===`runtime`||n.fatalError.source===`realm`?n.dismissFatal:void 0}),(0,N.jsx)(c,{})]})}var Tr=`coi_sw_reloaded`;function Er(){`serviceWorker`in navigator&&(location.pathname.endsWith(`/`)||history.replaceState(history.state,``,`${location.pathname}/${location.search}${location.hash}`),navigator.serviceWorker.register(new URL(`service_worker.js`,re)).then(e=>{if(navigator.serviceWorker.controller){sessionStorage.removeItem(Tr);return}let t=()=>{sessionStorage.getItem(Tr)?(sessionStorage.removeItem(Tr),console.error(`[coi] service worker failed to take control after reload`)):(sessionStorage.setItem(Tr,`true`),window.location.reload())};if(e.active){t();return}let n=e.installing??e.waiting;n?.addEventListener(`statechange`,()=>{n.state===`activated`&&t()})}).catch(e=>console.log(`[coi] service worker registration failed:`,e)))}function Dr(){let e=window.cef;if(!e?.emit||!e?.listen)return;let t=new BroadcastChannel(Se);t.onmessage=t=>{let n=t.data;n?.to===`scene`&&e.emit(n)},e.listen(`bridge`,e=>{try{t.postMessage(typeof e==`string`?JSON.parse(e):e)}catch{}});let n=e=>{let t=e;return!!t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable)};document.addEventListener(`focusin`,t=>{n(t.target)&&e.emit({to:`engine`,msg:{kind:`textFocus`,focused:!0}})},!0),document.addEventListener(`focusout`,()=>{setTimeout(()=>{n(document.activeElement)||e.emit({to:`engine`,msg:{kind:`textFocus`,focused:!1}})},0)},!0),e.listen(`engineFps`,e=>{window.__nativeEngineFps=Number(e)}),e.listen(`uiHeight`,e=>{window.__nativeUiHeight=Number(e),window.dispatchEvent(new Event(`resize`))}),e.listen(`engineTextFocus`,e=>{window.__engineTextFocus=e===`true`})}if(new URLSearchParams(location.search).get(`native`)===`1`){document.documentElement.style.background=`transparent`,document.body.style.background=`transparent`,window.addEventListener(`contextmenu`,e=>e.preventDefault()),Dr();try{Object.defineProperty(document,"visibilityState",{get:()=>`visible`,configurable:!0}),Object.defineProperty(document,"hidden",{get:()=>!1,configurable:!0}),document.dispatchEvent(new Event(`visibilitychange`))}catch{}}else Er();(0,xe.createRoot)(document.getElementById(`root`)).render((0,N.jsx)(A.StrictMode,{children:(0,N.jsx)(xr,{})}));export{ut as i,lt as n,st as r,Xt as t};