werewolf-judge-cdn 0.0.0-e15760ce → 0.0.0-e1b6edfb

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.
@@ -3,7 +3,7 @@ var __BUNDLE_START_TIME__=globalThis.nativePerformanceNow?nativePerformanceNow()
3
3
  !(function(e){e.$$require_external="undefined"!=typeof require?e=>require(e):()=>null})('undefined'!=typeof globalThis?globalThis:'undefined'!=typeof global?global:'undefined'!=typeof window?window:this);
4
4
  'undefined'!=typeof globalThis?globalThis:'undefined'!=typeof global?global:'undefined'!=typeof window&&window;
5
5
  !(function(r){let l=0,n=!0===r.RN$useAlwaysAvailableJSErrorHandling?r.RN$handleException:(r,l)=>{throw r};const t={setGlobalHandler(r){n=r},getGlobalHandler:()=>n,reportError(r){n&&n(r,!1)},reportFatalError(r){n&&n(r,!0)},applyWithGuard(r,n,e,a,o){try{return l++,r.apply(n,e)}catch(r){t.reportError(r)}finally{l--}return null},applyWithGuardIfNeeded:(r,l,n)=>t.inGuard()?r.apply(l,n):(t.applyWithGuard(r,l,n),null),inGuard:()=>!!l,guard(r,l,n){if('function'!=typeof r)return console.warn('A function must be passed to ErrorUtils.guard, got ',r),null;const e=l??r.name??'<generated guard>';return function(...l){return t.applyWithGuard(r,n??this,l,null,e)}}};r.ErrorUtils=t})('undefined'!=typeof globalThis?globalThis:'undefined'!=typeof global?global:'undefined'!=typeof window?window:this);
6
- __d(function(g,r,i,a,m,e,d){"use strict";r(d[0]);var t=r(d[1]);!(async function(){const n=t.registerRootComponent;{if(performance.mark('boot:start'),globalThis.__SKIP_APP)return;const t='https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/wasm/canvaskit.wasm.gz',n=!t.startsWith('__'),{version:s}=r(d[2]),{LoadSkiaWeb:o}=r(d[3]);await o(Object.assign({locateFile:t=>n?`https://cdn.npmmirror.com/packages/canvaskit-wasm/${s}/files/bin/full/${t}`:`https://unpkg.com/canvaskit-wasm@${s}/bin/full/${t}`},n&&{instantiateWasm:(n,s)=>((async()=>{const o=await fetch(t),c=Number(o.headers.get('Content-Length'))||0,p=new DecompressionStream('gzip'),l=o.body.getReader();let u=0;const f=new ReadableStream({async pull(t){const{done:n,value:s}=await l.read();n?t.close():(u+=s.byteLength,window.dispatchEvent(new CustomEvent('wasm-progress',{detail:{loaded:u,total:c}})),t.enqueue(s))}}).pipeThrough(p),w=await new Response(f).arrayBuffer(),{instance:_}=await WebAssembly.instantiate(w,n);s(_)})(),{})})),r(d[4])}performance.mark('app:import-start');const s=r(d[5]).default;performance.mark('app:import-end'),n(s),performance.mark('app:registered')})()},0,[1,2,111,112,117,118]);
6
+ __d(function(g,r,i,a,m,e,d){"use strict";r(d[0]);var t=r(d[1]);!(async function(){const n=t.registerRootComponent;{if(performance.mark('boot:start'),globalThis.__SKIP_APP)return;const t='https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/wasm/canvaskit.wasm.gz',n=!t.startsWith('__'),{version:s}=r(d[2]),{LoadSkiaWeb:o}=r(d[3]);await o(Object.assign({locateFile:t=>n?`https://cdn.npmmirror.com/packages/canvaskit-wasm/${s}/files/bin/full/${t}`:`https://unpkg.com/canvaskit-wasm@${s}/bin/full/${t}`},n&&{instantiateWasm:(n,s)=>((async()=>{const o=await fetch(t),c=Number(o.headers.get('Content-Length'))||0,p=new DecompressionStream('gzip'),l=o.body.getReader();let u=0;const f=new ReadableStream({async pull(t){const{done:n,value:s}=await l.read();n?t.close():(u+=s.byteLength,window.dispatchEvent(new CustomEvent('wasm-progress',{detail:{loaded:u,total:c}})),t.enqueue(s))}}).pipeThrough(p),w=await new Response(f).arrayBuffer(),{instance:_}=await WebAssembly.instantiate(w,n);s(_)})(),{})})),r(d[4])}performance.mark('app:import-start');const s=r(d[5]).default;performance.mark('app:import-end'),n(s),performance.mark('app:registered')})()},0,[1,2,111,112,117,118]);
7
7
  __d(function(g,r,i,a,m,e,d){},1,[]);
8
8
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"registerRootComponent",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(_e,"SharedRef",{enumerable:!0,get:function(){return u.SharedRef}}),r(d[0]);var e,t=r(d[1]),n=(e=t)&&e.__esModule?e:{default:e},u=r(d[2])},2,[3,18,90]);
9
9
  __d(function(g,r,i,a,m,e,d){"use strict";r(d[0]),r(d[1])},3,[4,8]);
@@ -161,7 +161,7 @@ __d(function(_g,_r,i,_a,_m,_e,_d){var e,t=(e='undefined'!=typeof document&&docum
161
161
  __d(function(g,r,i,a,m,e,d){},115,[]);
162
162
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WithSkiaWeb",{enumerable:!0,get:function(){return n}});var e,t=(e=r(d[0]))&&e.__esModule?e:{default:e};const n=({getComponent:e,fallback:n,opts:l,componentProps:o})=>{const u=(0,r(d[0]).useMemo)(()=>(0,r(d[0]).lazy)(async()=>(await(0,r(d[1]).LoadSkiaWeb)(l),e())),[]);return t.default.createElement(r(d[0]).Suspense,{fallback:null!=n?n:null},t.default.createElement(u,o))}},116,[36,113]);
163
163
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t}}),g.SkiaViewApi={views:{},deferedPictures:{},deferedOnSize:{},web:!0,registerView(t,s){this.deferedPictures[t]&&s.setPicture(this.deferedPictures[t]),this.views[t]=s},setJsiProperty(t,s,n){"picture"===s&&(this.views[`${t}`]?this.views[`${t}`].setPicture(n):this.deferedPictures[`${t}`]=n)},size(t){return this.views[`${t}`]?this.views[`${t}`].getSize():{width:0,height:0}},requestRedraw(t){this.views[`${t}`].redraw()},makeImageSnapshot(t,s){return this.views[`${t}`].makeImageSnapshot(s)},makeImageSnapshotAsync(t,s){return new Promise((n,h)=>{const u=this.views[`${t}`].makeImageSnapshot(s);u?n(u):h(new Error("Failed to make image snapshot"))})}};var t={}},117,[]);
164
- __d(function(g,_r,i,a,_m,_e,_d){"use strict";function e(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return S}});var t=e(_r(_d[0])),n=e(_r(_d[1])),r=_r(_d[2]),o=_r(_d[3]),s=_r(_d[4]),c=_r(_d[5]),d=_r(_d[6]),u=_r(_d[7]),l=_r(_d[8]);t.init({dsn:"https://d20e76c8c3cd8034dbb9b32f8576db10@o4510871644209152.ingest.us.sentry.io/4510871719378944",release:`werewolfjudge@${_r(_d[9]).APP_VERSION}`,enabled:!0,environment:"production",tracesSampleRate:.5,integrations:(0,_r(_d[10]).getSentryIntegrations)(),enableAutoSessionTracking:!0,enableLogs:!0}),n.preventAutoHideAsync(),n.setOptions({duration:400,fade:!0}),(function(){try{const e=performance.getEntriesByType('mark'),n=t=>e.find(e=>e.name===t)?.startTime,r=n('boot:start');if(null==r)return;const o=performance.getEntriesByType('resource'),s=o.find(e=>e.name.includes('canvaskit.wasm')),c=o.filter(e=>e.name.includes('.js')&&e.transferSize>5e4);t.startSpan({name:'web.boot',op:'boot',startTime:(performance.timeOrigin+r)/1e3},e=>{const r=[['app.import','app:import-start','app:import-end']];for(const[e,o,s]of r){const r=n(o),c=n(s);if(null!=r&&null!=c){t.startInactiveSpan({name:e,op:'boot',startTime:(performance.timeOrigin+r)/1e3}).end((performance.timeOrigin+c)/1e3)}}s&&(e.setAttribute('wasm.duration_ms',Math.round(s.duration)),e.setAttribute('wasm.transfer_kb',Math.round(s.transferSize/1024)),e.setAttribute('wasm.decoded_kb',Math.round(s.decodedBodySize/1024)));for(const e of c)t.addBreadcrumb({category:'boot.resource',message:e.name.split('/').pop()??e.name,level:'info',data:{durationMs:Math.round(e.duration),transferKB:Math.round(e.transferSize/1024),startMs:Math.round(e.startTime)}});const o=n('app:registered');null!=o&&e.end((performance.timeOrigin+o)/1e3)})}catch{}})(),setTimeout(function(){try{const e=performance.getEntriesByType('mark'),t=t=>e.find(e=>e.name===t)?.startTime,n=t('boot:start'),r=t('app:registered'),o=null!=n&&null!=r?r-n:0,s=performance.getEntriesByType('navigation'),c=s.length>0?Math.round(s[0].responseStart-s[0].startTime):0,d=performance.getEntriesByType('resource'),u=d.filter(e=>e.transferSize>1024||e.name.includes('.wasm')||e.name.includes('.js')).slice(0,50).map(e=>({name:e.name,duration:Math.round(e.duration),transferSize:Math.round(e.transferSize),decodedBodySize:Math.round(e.decodedBodySize),dns:Math.round(e.domainLookupEnd-e.domainLookupStart),tcp:Math.round(e.connectEnd-e.connectStart),tls:e.secureConnectionStart>0?Math.round(e.connectEnd-e.secureConnectionStart):0,ttfb:Math.round(e.responseStart-e.requestStart),download:Math.round(e.responseEnd-e.responseStart)}));if(0===u.length)return;const l=JSON.stringify({totalMs:Math.round(o),htmlTtfb:c,resources:u,ua:navigator.userAgent}),m="https://api.werewolfjudge.eu.org/telemetry/load-timing";navigator.sendBeacon?navigator.sendBeacon(m,l):fetch(m,{method:'POST',body:l,keepalive:!0,headers:{'Content-Type':'application/json'}})}catch{}},0);const m=_r(_d[11]).log.extend('App');function f(){const e=document.getElementById('splash-screen');if(!e)return;const t=document.getElementById('splash-pct'),n=e.querySelector('.progress-bar');n&&(n.style.width='100%'),t&&(t.textContent='100%');const r=document.documentElement.style.getPropertyValue('--theme-bg')||'#F2F2F7';document.documentElement.style.backgroundColor=r,document.body.style.backgroundColor=r,requestAnimationFrame(()=>{setTimeout(()=>{e.classList.add('hidden'),setTimeout(()=>e.remove(),300)},200)})}function p(){const e=(0,_r(_d[12]).c)(23),[t,n]=(0,_r(_d[13]).useState)(null),s=(0,_r(_d[14]).useGameFacade)();let l;e[0]!==s?(l=()=>{const e=s.getState();return null!==e&&e.status!==_r(_d[15]).GameStatus.Unseated&&e.status!==_r(_d[15]).GameStatus.Seated},e[0]=s,e[1]=l):l=e[1];const[m,f]=(0,_r(_d[13]).useState)(l);let p,S,j,v;e[2]!==s?(p=()=>s.addListener(e=>{const t=null!==e&&e.status!==_r(_d[15]).GameStatus.Unseated&&e.status!==_r(_d[15]).GameStatus.Seated;f(t)}),S=[s],e[2]=s,e[3]=p,e[4]=S):(p=e[3],S=e[4]),(0,_r(_d[13]).useEffect)(p,S),e[5]===Symbol.for("react.memo_cache_sentinel")?(j=()=>((0,_r(_d[16]).setAlertListener)(e=>{n(e)}),h),v=[],e[5]=j,e[6]=v):(j=e[5],v=e[6]),(0,_r(_d[13]).useEffect)(j,v);const{wechatLoginFailed:_}=(0,_r(_d[17]).useAuthContext)(),k=(0,d.useBootProgress)();let M,E;e[7]!==k.isReady?(M=()=>{k.isReady,0},E=[k.isReady],e[7]=k.isReady,e[8]=M,e[9]=E):(M=e[8],E=e[9]),(0,_r(_d[13]).useEffect)(M,E);const x=b;let A,B;e[10]===Symbol.for("react.memo_cache_sentinel")?(A=[],e[10]=A):A=e[10],(0,_r(_d[13]).useEffect)(y,A),e[11]===Symbol.for("react.memo_cache_sentinel")?(B=()=>{n(null)},e[11]=B):B=e[11];const T=B;if(_){let t;return e[12]===Symbol.for("react.memo_cache_sentinel")?(t=(0,_r(_d[18]).jsxs)(_r(_d[18]).Fragment,{children:[(0,_r(_d[18]).jsx)(_r(_d[19]).StatusBar,{style:"dark",backgroundColor:_r(_d[20]).colors.background}),(0,_r(_d[18]).jsx)(c.WxLoginFailedScreen,{})]}),e[12]=t):t=e[12],t}if(!k.isReady)return null;let C,P,w,O,F,z;return e[13]===Symbol.for("react.memo_cache_sentinel")?(P=(0,_r(_d[18]).jsx)(_r(_d[19]).StatusBar,{style:"dark",backgroundColor:_r(_d[20]).colors.background}),C=(0,_r(_d[18]).jsx)(u.AppNavigator,{onReady:x}),e[13]=C,e[14]=P):(C=e[13],P=e[14]),e[15]!==t?(w=t&&(0,_r(_d[18]).jsx)(_r(_d[21]).AlertModal,{visible:!0,title:t.title,message:t.message,buttons:t.buttons,input:t.input,onClose:T}),e[15]=t,e[16]=w):w=e[16],e[17]!==m?(O=(0,_r(_d[18]).jsx)(o.AIChatBubble,{triggerPulse:m}),e[17]=m,e[18]=O):O=e[18],e[19]===Symbol.for("react.memo_cache_sentinel")?(F=(0,_r(_d[18]).jsx)(r.Toaster,{theme:"light",richColors:!0,position:"bottom-center"}),e[19]=F):F=e[19],e[20]!==w||e[21]!==O?(z=(0,_r(_d[18]).jsxs)(_r(_d[18]).Fragment,{children:[P,C,w,O,F]}),e[20]=w,e[21]=O,e[22]=z):z=e[22],z}function y(){const e=document.querySelector("meta[name=\"theme-color\"]");e&&e.setAttribute("content",_r(_d[20]).colors.surface),document.getElementById("splash-screen")||(document.body.style.backgroundColor=_r(_d[20]).colors.background,document.documentElement.style.backgroundColor=_r(_d[20]).colors.background)}function b(){f(),(0,_r(_d[22]).signalAppReady)()}function h(){return(0,_r(_d[16]).setAlertListener)(null)}function S(){const e=(0,_r(_d[12]).c)(6);m.debug("render");const[t]=(0,_r(_d[13]).useState)(j),{services:n,facade:r}=t;let o,c,d;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,_r(_d[18]).jsx)(_r(_d[23]).ModalStackProvider,{children:(0,_r(_d[18]).jsx)(p,{})}),e[0]=o):o=e[0],e[1]!==r?(c=(0,_r(_d[18]).jsx)(_r(_d[14]).AuthProvider,{children:(0,_r(_d[18]).jsx)(_r(_d[14]).GameFacadeProvider,{facade:r,children:o})}),e[1]=r,e[2]=c):c=e[2],e[3]!==n||e[4]!==c?(d=(0,_r(_d[18]).jsx)(s.ErrorBoundary,{children:(0,_r(_d[18]).jsx)(_r(_d[24]).SafeAreaProvider,{children:(0,_r(_d[18]).jsx)(_r(_d[25]).QueryClientProvider,{client:_r(_d[26]).queryClient,children:(0,_r(_d[18]).jsx)(_r(_d[14]).ServiceProvider,{services:n,children:c})})})}),e[3]=n,e[4]=c,e[5]=d):d=e[5],d}function j(){return(0,l.createAllServices)()}},118,[119,598,599,1011,1117,1118,1124,1219,2249,1956,2247,1061,1092,36,1089,1904,1074,1090,700,2288,1098,2192,2291,1113,1006,1807,1944]);
164
+ __d(function(g,_r,i,a,_m,_e,_d){"use strict";function e(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return S}});var t=e(_r(_d[0])),n=e(_r(_d[1])),r=_r(_d[2]),o=_r(_d[3]),s=_r(_d[4]),c=_r(_d[5]),d=_r(_d[6]),u=_r(_d[7]),l=_r(_d[8]);t.init({dsn:"https://d20e76c8c3cd8034dbb9b32f8576db10@o4510871644209152.ingest.us.sentry.io/4510871719378944",release:`werewolfjudge@${_r(_d[9]).APP_VERSION}`,enabled:!0,environment:"production",tracesSampleRate:.5,integrations:(0,_r(_d[10]).getSentryIntegrations)(),sendDefaultPii:!0,enableAutoSessionTracking:!0,enableLogs:!0}),n.preventAutoHideAsync(),n.setOptions({duration:400,fade:!0}),(function(){try{const e=performance.getEntriesByType('mark'),n=t=>e.find(e=>e.name===t)?.startTime,r=n('boot:start');if(null==r)return;const o=performance.getEntriesByType('resource'),s=o.find(e=>e.name.includes('canvaskit.wasm')),c=o.filter(e=>e.name.includes('.js')&&e.transferSize>5e4);t.startSpan({name:'web.boot',op:'boot',startTime:(performance.timeOrigin+r)/1e3},e=>{const r=[['app.import','app:import-start','app:import-end']];for(const[e,o,s]of r){const r=n(o),c=n(s);if(null!=r&&null!=c){t.startInactiveSpan({name:e,op:'boot',startTime:(performance.timeOrigin+r)/1e3}).end((performance.timeOrigin+c)/1e3)}}s&&(e.setAttribute('wasm.duration_ms',Math.round(s.duration)),e.setAttribute('wasm.transfer_kb',Math.round(s.transferSize/1024)),e.setAttribute('wasm.decoded_kb',Math.round(s.decodedBodySize/1024)));for(const e of c)t.addBreadcrumb({category:'boot.resource',message:e.name.split('/').pop()??e.name,level:'info',data:{durationMs:Math.round(e.duration),transferKB:Math.round(e.transferSize/1024),startMs:Math.round(e.startTime)}});const o=n('app:registered');null!=o&&e.end((performance.timeOrigin+o)/1e3)})}catch{}})(),setTimeout(function(){try{const e=performance.getEntriesByType('mark'),t=t=>e.find(e=>e.name===t)?.startTime,n=t('boot:start'),r=t('app:registered'),o=null!=n&&null!=r?r-n:0,s=performance.getEntriesByType('navigation'),c=s.length>0?Math.round(s[0].responseStart-s[0].startTime):0,d=performance.getEntriesByType('resource'),u=d.filter(e=>e.transferSize>1024||e.name.includes('.wasm')||e.name.includes('.js')).slice(0,50).map(e=>({name:e.name,duration:Math.round(e.duration),transferSize:Math.round(e.transferSize),decodedBodySize:Math.round(e.decodedBodySize),dns:Math.round(e.domainLookupEnd-e.domainLookupStart),tcp:Math.round(e.connectEnd-e.connectStart),tls:e.secureConnectionStart>0?Math.round(e.connectEnd-e.secureConnectionStart):0,ttfb:Math.round(e.responseStart-e.requestStart),download:Math.round(e.responseEnd-e.responseStart)}));if(0===u.length)return;const l=JSON.stringify({totalMs:Math.round(o),htmlTtfb:c,resources:u,ua:navigator.userAgent}),m="https://api.werewolfjudge.eu.org/telemetry/load-timing";navigator.sendBeacon?navigator.sendBeacon(m,l):fetch(m,{method:'POST',body:l,keepalive:!0,headers:{'Content-Type':'application/json'}})}catch{}},0);const m=_r(_d[11]).log.extend('App');function f(){const e=document.getElementById('splash-screen');if(!e)return;const t=document.getElementById('splash-pct'),n=e.querySelector('.progress-bar');n&&(n.style.width='100%'),t&&(t.textContent='100%');const r=document.documentElement.style.getPropertyValue('--theme-bg')||'#F2F2F7';document.documentElement.style.backgroundColor=r,document.body.style.backgroundColor=r,requestAnimationFrame(()=>{setTimeout(()=>{e.classList.add('hidden'),setTimeout(()=>e.remove(),300)},200)})}function p(){const e=(0,_r(_d[12]).c)(23),[t,n]=(0,_r(_d[13]).useState)(null),s=(0,_r(_d[14]).useGameFacade)();let l;e[0]!==s?(l=()=>{const e=s.getState();return null!==e&&e.status!==_r(_d[15]).GameStatus.Unseated&&e.status!==_r(_d[15]).GameStatus.Seated},e[0]=s,e[1]=l):l=e[1];const[m,f]=(0,_r(_d[13]).useState)(l);let p,S,j,v;e[2]!==s?(p=()=>s.addListener(e=>{const t=null!==e&&e.status!==_r(_d[15]).GameStatus.Unseated&&e.status!==_r(_d[15]).GameStatus.Seated;f(t)}),S=[s],e[2]=s,e[3]=p,e[4]=S):(p=e[3],S=e[4]),(0,_r(_d[13]).useEffect)(p,S),e[5]===Symbol.for("react.memo_cache_sentinel")?(j=()=>((0,_r(_d[16]).setAlertListener)(e=>{n(e)}),h),v=[],e[5]=j,e[6]=v):(j=e[5],v=e[6]),(0,_r(_d[13]).useEffect)(j,v);const{wechatLoginFailed:_}=(0,_r(_d[17]).useAuthContext)(),k=(0,d.useBootProgress)();let M,E;e[7]!==k.isReady?(M=()=>{k.isReady,0},E=[k.isReady],e[7]=k.isReady,e[8]=M,e[9]=E):(M=e[8],E=e[9]),(0,_r(_d[13]).useEffect)(M,E);const x=b;let A,B;e[10]===Symbol.for("react.memo_cache_sentinel")?(A=[],e[10]=A):A=e[10],(0,_r(_d[13]).useEffect)(y,A),e[11]===Symbol.for("react.memo_cache_sentinel")?(B=()=>{n(null)},e[11]=B):B=e[11];const T=B;if(_){let t;return e[12]===Symbol.for("react.memo_cache_sentinel")?(t=(0,_r(_d[18]).jsxs)(_r(_d[18]).Fragment,{children:[(0,_r(_d[18]).jsx)(_r(_d[19]).StatusBar,{style:"dark",backgroundColor:_r(_d[20]).colors.background}),(0,_r(_d[18]).jsx)(c.WxLoginFailedScreen,{})]}),e[12]=t):t=e[12],t}if(!k.isReady)return null;let P,C,w,O,F,z;return e[13]===Symbol.for("react.memo_cache_sentinel")?(C=(0,_r(_d[18]).jsx)(_r(_d[19]).StatusBar,{style:"dark",backgroundColor:_r(_d[20]).colors.background}),P=(0,_r(_d[18]).jsx)(u.AppNavigator,{onReady:x}),e[13]=P,e[14]=C):(P=e[13],C=e[14]),e[15]!==t?(w=t&&(0,_r(_d[18]).jsx)(_r(_d[21]).AlertModal,{visible:!0,title:t.title,message:t.message,buttons:t.buttons,input:t.input,onClose:T}),e[15]=t,e[16]=w):w=e[16],e[17]!==m?(O=(0,_r(_d[18]).jsx)(o.AIChatBubble,{triggerPulse:m}),e[17]=m,e[18]=O):O=e[18],e[19]===Symbol.for("react.memo_cache_sentinel")?(F=(0,_r(_d[18]).jsx)(r.Toaster,{theme:"light",richColors:!0,position:"bottom-center"}),e[19]=F):F=e[19],e[20]!==w||e[21]!==O?(z=(0,_r(_d[18]).jsxs)(_r(_d[18]).Fragment,{children:[C,P,w,O,F]}),e[20]=w,e[21]=O,e[22]=z):z=e[22],z}function y(){const e=document.querySelector("meta[name=\"theme-color\"]");e&&e.setAttribute("content",_r(_d[20]).colors.surface),document.getElementById("splash-screen")||(document.body.style.backgroundColor=_r(_d[20]).colors.background,document.documentElement.style.backgroundColor=_r(_d[20]).colors.background)}function b(){f(),(0,_r(_d[22]).signalAppReady)()}function h(){return(0,_r(_d[16]).setAlertListener)(null)}function S(){const e=(0,_r(_d[12]).c)(6);m.debug("render");const[t]=(0,_r(_d[13]).useState)(j),{services:n,facade:r}=t;let o,c,d;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,_r(_d[18]).jsx)(_r(_d[23]).ModalStackProvider,{children:(0,_r(_d[18]).jsx)(p,{})}),e[0]=o):o=e[0],e[1]!==r?(c=(0,_r(_d[18]).jsx)(_r(_d[14]).AuthProvider,{children:(0,_r(_d[18]).jsx)(_r(_d[14]).GameFacadeProvider,{facade:r,children:o})}),e[1]=r,e[2]=c):c=e[2],e[3]!==n||e[4]!==c?(d=(0,_r(_d[18]).jsx)(s.ErrorBoundary,{children:(0,_r(_d[18]).jsx)(_r(_d[24]).SafeAreaProvider,{children:(0,_r(_d[18]).jsx)(_r(_d[25]).QueryClientProvider,{client:_r(_d[26]).queryClient,children:(0,_r(_d[18]).jsx)(_r(_d[14]).ServiceProvider,{services:n,children:c})})})}),e[3]=n,e[4]=c,e[5]=d):d=e[5],d}function j(){return(0,l.createAllServices)()}},118,[119,598,599,1011,1117,1118,1124,1219,2249,1956,2247,1061,1092,36,1089,1904,1074,1090,700,2288,1098,2192,2291,1113,1006,1807,1944]);
165
165
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"addBreadcrumb",{enumerable:!0,get:function(){return r(d[0]).addBreadcrumb}}),Object.defineProperty(e,"addIntegration",{enumerable:!0,get:function(){return r(d[0]).addIntegration}}),Object.defineProperty(e,"captureException",{enumerable:!0,get:function(){return r(d[0]).captureException}}),Object.defineProperty(e,"captureEvent",{enumerable:!0,get:function(){return r(d[0]).captureEvent}}),Object.defineProperty(e,"captureFeedback",{enumerable:!0,get:function(){return r(d[0]).captureFeedback}}),Object.defineProperty(e,"captureMessage",{enumerable:!0,get:function(){return r(d[0]).captureMessage}}),Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return r(d[0]).Scope}}),Object.defineProperty(e,"setContext",{enumerable:!0,get:function(){return r(d[0]).setContext}}),Object.defineProperty(e,"setExtra",{enumerable:!0,get:function(){return r(d[0]).setExtra}}),Object.defineProperty(e,"setExtras",{enumerable:!0,get:function(){return r(d[0]).setExtras}}),Object.defineProperty(e,"setTag",{enumerable:!0,get:function(){return r(d[0]).setTag}}),Object.defineProperty(e,"setTags",{enumerable:!0,get:function(){return r(d[0]).setTags}}),Object.defineProperty(e,"setUser",{enumerable:!0,get:function(){return r(d[0]).setUser}}),Object.defineProperty(e,"startInactiveSpan",{enumerable:!0,get:function(){return r(d[0]).startInactiveSpan}}),Object.defineProperty(e,"startSpan",{enumerable:!0,get:function(){return r(d[0]).startSpan}}),Object.defineProperty(e,"startSpanManual",{enumerable:!0,get:function(){return r(d[0]).startSpanManual}}),Object.defineProperty(e,"getActiveSpan",{enumerable:!0,get:function(){return r(d[0]).getActiveSpan}}),Object.defineProperty(e,"getRootSpan",{enumerable:!0,get:function(){return r(d[0]).getRootSpan}}),Object.defineProperty(e,"withActiveSpan",{enumerable:!0,get:function(){return r(d[0]).withActiveSpan}}),Object.defineProperty(e,"suppressTracing",{enumerable:!0,get:function(){return r(d[0]).suppressTracing}}),Object.defineProperty(e,"spanToJSON",{enumerable:!0,get:function(){return r(d[0]).spanToJSON}}),Object.defineProperty(e,"spanIsSampled",{enumerable:!0,get:function(){return r(d[0]).spanIsSampled}}),Object.defineProperty(e,"setMeasurement",{enumerable:!0,get:function(){return r(d[0]).setMeasurement}}),Object.defineProperty(e,"getCurrentScope",{enumerable:!0,get:function(){return r(d[0]).getCurrentScope}}),Object.defineProperty(e,"getGlobalScope",{enumerable:!0,get:function(){return r(d[0]).getGlobalScope}}),Object.defineProperty(e,"getIsolationScope",{enumerable:!0,get:function(){return r(d[0]).getIsolationScope}}),Object.defineProperty(e,"getClient",{enumerable:!0,get:function(){return r(d[0]).getClient}}),Object.defineProperty(e,"setCurrentClient",{enumerable:!0,get:function(){return r(d[0]).setCurrentClient}}),Object.defineProperty(e,"addEventProcessor",{enumerable:!0,get:function(){return r(d[0]).addEventProcessor}}),Object.defineProperty(e,"lastEventId",{enumerable:!0,get:function(){return r(d[0]).lastEventId}}),Object.defineProperty(e,"ErrorBoundary",{enumerable:!0,get:function(){return r(d[1]).ErrorBoundary}}),Object.defineProperty(e,"withErrorBoundary",{enumerable:!0,get:function(){return r(d[1]).withErrorBoundary}}),Object.defineProperty(e,"createReduxEnhancer",{enumerable:!0,get:function(){return r(d[1]).createReduxEnhancer}}),Object.defineProperty(e,"Profiler",{enumerable:!0,get:function(){return r(d[1]).Profiler}}),Object.defineProperty(e,"useProfiler",{enumerable:!0,get:function(){return r(d[1]).useProfiler}}),Object.defineProperty(e,"withProfiler",{enumerable:!0,get:function(){return r(d[1]).withProfiler}}),Object.defineProperty(e,"logger",{enumerable:!0,get:function(){return r(d[2]).logger}}),Object.defineProperty(e,"consoleLoggingIntegration",{enumerable:!0,get:function(){return r(d[2]).consoleLoggingIntegration}}),Object.defineProperty(e,"featureFlagsIntegration",{enumerable:!0,get:function(){return r(d[2]).featureFlagsIntegration}}),Object.defineProperty(e,"metrics",{enumerable:!0,get:function(){return r(d[2]).metrics}}),Object.defineProperty(e,"debugSymbolicatorIntegration",{enumerable:!0,get:function(){return r(d[3]).debugSymbolicatorIntegration}}),Object.defineProperty(e,"deviceContextIntegration",{enumerable:!0,get:function(){return r(d[3]).deviceContextIntegration}}),Object.defineProperty(e,"reactNativeErrorHandlersIntegration",{enumerable:!0,get:function(){return r(d[3]).reactNativeErrorHandlersIntegration}}),Object.defineProperty(e,"nativeLinkedErrorsIntegration",{enumerable:!0,get:function(){return r(d[3]).nativeLinkedErrorsIntegration}}),Object.defineProperty(e,"nativeReleaseIntegration",{enumerable:!0,get:function(){return r(d[3]).nativeReleaseIntegration}}),Object.defineProperty(e,"eventOriginIntegration",{enumerable:!0,get:function(){return r(d[3]).eventOriginIntegration}}),Object.defineProperty(e,"sdkInfoIntegration",{enumerable:!0,get:function(){return r(d[3]).sdkInfoIntegration}}),Object.defineProperty(e,"reactNativeInfoIntegration",{enumerable:!0,get:function(){return r(d[3]).reactNativeInfoIntegration}}),Object.defineProperty(e,"modulesLoaderIntegration",{enumerable:!0,get:function(){return r(d[3]).modulesLoaderIntegration}}),Object.defineProperty(e,"hermesProfilingIntegration",{enumerable:!0,get:function(){return r(d[3]).hermesProfilingIntegration}}),Object.defineProperty(e,"screenshotIntegration",{enumerable:!0,get:function(){return r(d[3]).screenshotIntegration}}),Object.defineProperty(e,"viewHierarchyIntegration",{enumerable:!0,get:function(){return r(d[3]).viewHierarchyIntegration}}),Object.defineProperty(e,"expoContextIntegration",{enumerable:!0,get:function(){return r(d[3]).expoContextIntegration}}),Object.defineProperty(e,"spotlightIntegration",{enumerable:!0,get:function(){return r(d[3]).spotlightIntegration}}),Object.defineProperty(e,"mobileReplayIntegration",{enumerable:!0,get:function(){return r(d[3]).mobileReplayIntegration}}),Object.defineProperty(e,"feedbackIntegration",{enumerable:!0,get:function(){return r(d[3]).feedbackIntegration}}),Object.defineProperty(e,"browserReplayIntegration",{enumerable:!0,get:function(){return r(d[3]).browserReplayIntegration}}),Object.defineProperty(e,"appStartIntegration",{enumerable:!0,get:function(){return r(d[3]).appStartIntegration}}),Object.defineProperty(e,"nativeFramesIntegration",{enumerable:!0,get:function(){return r(d[3]).nativeFramesIntegration}}),Object.defineProperty(e,"createNativeFramesIntegrations",{enumerable:!0,get:function(){return r(d[3]).createNativeFramesIntegrations}}),Object.defineProperty(e,"stallTrackingIntegration",{enumerable:!0,get:function(){return r(d[3]).stallTrackingIntegration}}),Object.defineProperty(e,"userInteractionIntegration",{enumerable:!0,get:function(){return r(d[3]).userInteractionIntegration}}),Object.defineProperty(e,"createReactNativeRewriteFrames",{enumerable:!0,get:function(){return r(d[3]).createReactNativeRewriteFrames}}),Object.defineProperty(e,"appRegistryIntegration",{enumerable:!0,get:function(){return r(d[3]).appRegistryIntegration}}),Object.defineProperty(e,"timeToDisplayIntegration",{enumerable:!0,get:function(){return r(d[3]).timeToDisplayIntegration}}),Object.defineProperty(e,"breadcrumbsIntegration",{enumerable:!0,get:function(){return r(d[3]).breadcrumbsIntegration}}),Object.defineProperty(e,"primitiveTagIntegration",{enumerable:!0,get:function(){return r(d[3]).primitiveTagIntegration}}),Object.defineProperty(e,"logEnricherIntegration",{enumerable:!0,get:function(){return r(d[3]).logEnricherIntegration}}),Object.defineProperty(e,"graphqlIntegration",{enumerable:!0,get:function(){return r(d[3]).graphqlIntegration}}),Object.defineProperty(e,"supabaseIntegration",{enumerable:!0,get:function(){return r(d[3]).supabaseIntegration}}),Object.defineProperty(e,"browserApiErrorsIntegration",{enumerable:!0,get:function(){return r(d[3]).browserApiErrorsIntegration}}),Object.defineProperty(e,"dedupeIntegration",{enumerable:!0,get:function(){return r(d[3]).dedupeIntegration}}),Object.defineProperty(e,"functionToStringIntegration",{enumerable:!0,get:function(){return r(d[3]).functionToStringIntegration}}),Object.defineProperty(e,"browserGlobalHandlersIntegration",{enumerable:!0,get:function(){return r(d[3]).browserGlobalHandlersIntegration}}),Object.defineProperty(e,"httpClientIntegration",{enumerable:!0,get:function(){return r(d[3]).httpClientIntegration}}),Object.defineProperty(e,"httpContextIntegration",{enumerable:!0,get:function(){return r(d[3]).httpContextIntegration}}),Object.defineProperty(e,"inboundFiltersIntegration",{enumerable:!0,get:function(){return r(d[3]).inboundFiltersIntegration}}),Object.defineProperty(e,"browserLinkedErrorsIntegration",{enumerable:!0,get:function(){return r(d[3]).browserLinkedErrorsIntegration}}),Object.defineProperty(e,"rewriteFramesIntegration",{enumerable:!0,get:function(){return r(d[3]).rewriteFramesIntegration}}),Object.defineProperty(e,"extraErrorDataIntegration",{enumerable:!0,get:function(){return r(d[3]).extraErrorDataIntegration}}),Object.defineProperty(e,"SDK_NAME",{enumerable:!0,get:function(){return r(d[4]).SDK_NAME}}),Object.defineProperty(e,"SDK_VERSION",{enumerable:!0,get:function(){return r(d[4]).SDK_VERSION}}),Object.defineProperty(e,"ReactNativeClient",{enumerable:!0,get:function(){return r(d[5]).ReactNativeClient}}),Object.defineProperty(e,"init",{enumerable:!0,get:function(){return r(d[6]).init}}),Object.defineProperty(e,"wrap",{enumerable:!0,get:function(){return r(d[6]).wrap}}),Object.defineProperty(e,"nativeCrash",{enumerable:!0,get:function(){return r(d[6]).nativeCrash}}),Object.defineProperty(e,"flush",{enumerable:!0,get:function(){return r(d[6]).flush}}),Object.defineProperty(e,"close",{enumerable:!0,get:function(){return r(d[6]).close}}),Object.defineProperty(e,"withScope",{enumerable:!0,get:function(){return r(d[6]).withScope}}),Object.defineProperty(e,"crashedLastRun",{enumerable:!0,get:function(){return r(d[6]).crashedLastRun}}),Object.defineProperty(e,"TouchEventBoundary",{enumerable:!0,get:function(){return r(d[7]).TouchEventBoundary}}),Object.defineProperty(e,"withTouchEventBoundary",{enumerable:!0,get:function(){return r(d[7]).withTouchEventBoundary}}),Object.defineProperty(e,"reactNativeTracingIntegration",{enumerable:!0,get:function(){return r(d[8]).reactNativeTracingIntegration}}),Object.defineProperty(e,"getCurrentReactNativeTracingIntegration",{enumerable:!0,get:function(){return r(d[8]).getCurrentReactNativeTracingIntegration}}),Object.defineProperty(e,"getReactNativeTracingIntegration",{enumerable:!0,get:function(){return r(d[8]).getReactNativeTracingIntegration}}),Object.defineProperty(e,"reactNavigationIntegration",{enumerable:!0,get:function(){return r(d[8]).reactNavigationIntegration}}),Object.defineProperty(e,"reactNativeNavigationIntegration",{enumerable:!0,get:function(){return r(d[8]).reactNativeNavigationIntegration}}),Object.defineProperty(e,"sentryTraceGesture",{enumerable:!0,get:function(){return r(d[8]).sentryTraceGesture}}),Object.defineProperty(e,"TimeToInitialDisplay",{enumerable:!0,get:function(){return r(d[8]).TimeToInitialDisplay}}),Object.defineProperty(e,"TimeToFullDisplay",{enumerable:!0,get:function(){return r(d[8]).TimeToFullDisplay}}),Object.defineProperty(e,"startTimeToInitialDisplaySpan",{enumerable:!0,get:function(){return r(d[8]).startTimeToInitialDisplaySpan}}),Object.defineProperty(e,"startTimeToFullDisplaySpan",{enumerable:!0,get:function(){return r(d[8]).startTimeToFullDisplaySpan}}),Object.defineProperty(e,"startIdleNavigationSpan",{enumerable:!0,get:function(){return r(d[8]).startIdleNavigationSpan}}),Object.defineProperty(e,"startIdleSpan",{enumerable:!0,get:function(){return r(d[8]).startIdleSpan}}),Object.defineProperty(e,"getDefaultIdleNavigationSpanOptions",{enumerable:!0,get:function(){return r(d[8]).getDefaultIdleNavigationSpanOptions}}),Object.defineProperty(e,"createTimeToFullDisplay",{enumerable:!0,get:function(){return r(d[8]).createTimeToFullDisplay}}),Object.defineProperty(e,"createTimeToInitialDisplay",{enumerable:!0,get:function(){return r(d[8]).createTimeToInitialDisplay}}),Object.defineProperty(e,"Mask",{enumerable:!0,get:function(){return r(d[9]).Mask}}),Object.defineProperty(e,"Unmask",{enumerable:!0,get:function(){return r(d[9]).Unmask}}),Object.defineProperty(e,"FeedbackButton",{enumerable:!0,get:function(){return r(d[10]).FeedbackButton}}),Object.defineProperty(e,"FeedbackWidget",{enumerable:!0,get:function(){return r(d[11]).FeedbackWidget}}),Object.defineProperty(e,"showFeedbackWidget",{enumerable:!0,get:function(){return r(d[12]).showFeedbackWidget}}),Object.defineProperty(e,"showFeedbackButton",{enumerable:!0,get:function(){return r(d[12]).showFeedbackButton}}),Object.defineProperty(e,"hideFeedbackButton",{enumerable:!0,get:function(){return r(d[12]).hideFeedbackButton}}),Object.defineProperty(e,"getDataFromUri",{enumerable:!0,get:function(){return r(d[13]).getDataFromUri}})},119,[120,258,259,353,394,440,445,484,452,597,584,592,581,363]);
166
166
  __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"registerSpanErrorInstrumentation",{enumerable:!0,get:function(){return r(_d[0]).registerSpanErrorInstrumentation}}),Object.defineProperty(_e,"getCapturedScopesOnSpan",{enumerable:!0,get:function(){return r(_d[1]).getCapturedScopesOnSpan}}),Object.defineProperty(_e,"TRACING_DEFAULTS",{enumerable:!0,get:function(){return r(_d[2]).TRACING_DEFAULTS}}),Object.defineProperty(_e,"startIdleSpan",{enumerable:!0,get:function(){return r(_d[2]).startIdleSpan}}),Object.defineProperty(_e,"SentrySpan",{enumerable:!0,get:function(){return r(_d[3]).SentrySpan}}),Object.defineProperty(_e,"SentryNonRecordingSpan",{enumerable:!0,get:function(){return r(_d[4]).SentryNonRecordingSpan}}),Object.defineProperty(_e,"SPAN_STATUS_ERROR",{enumerable:!0,get:function(){return r(_d[5]).SPAN_STATUS_ERROR}}),Object.defineProperty(_e,"SPAN_STATUS_OK",{enumerable:!0,get:function(){return r(_d[5]).SPAN_STATUS_OK}}),Object.defineProperty(_e,"getSpanStatusFromHttpCode",{enumerable:!0,get:function(){return r(_d[5]).getSpanStatusFromHttpCode}}),Object.defineProperty(_e,"setHttpStatus",{enumerable:!0,get:function(){return r(_d[5]).setHttpStatus}}),Object.defineProperty(_e,"continueTrace",{enumerable:!0,get:function(){return r(_d[6]).continueTrace}}),Object.defineProperty(_e,"startInactiveSpan",{enumerable:!0,get:function(){return r(_d[6]).startInactiveSpan}}),Object.defineProperty(_e,"startNewTrace",{enumerable:!0,get:function(){return r(_d[6]).startNewTrace}}),Object.defineProperty(_e,"startSpan",{enumerable:!0,get:function(){return r(_d[6]).startSpan}}),Object.defineProperty(_e,"startSpanManual",{enumerable:!0,get:function(){return r(_d[6]).startSpanManual}}),Object.defineProperty(_e,"suppressTracing",{enumerable:!0,get:function(){return r(_d[6]).suppressTracing}}),Object.defineProperty(_e,"withActiveSpan",{enumerable:!0,get:function(){return r(_d[6]).withActiveSpan}}),Object.defineProperty(_e,"getDynamicSamplingContextFromSpan",{enumerable:!0,get:function(){return r(_d[7]).getDynamicSamplingContextFromSpan}}),Object.defineProperty(_e,"spanToBaggageHeader",{enumerable:!0,get:function(){return r(_d[7]).spanToBaggageHeader}}),Object.defineProperty(_e,"setMeasurement",{enumerable:!0,get:function(){return r(_d[8]).setMeasurement}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_OP",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_OP}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_SENTRY_SOURCE",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_SENTRY_SOURCE}}),Object.defineProperty(_e,"SEMANTIC_ATTRIBUTE_URL_FULL",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_ATTRIBUTE_URL_FULL}}),Object.defineProperty(_e,"SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE",{enumerable:!0,get:function(){return r(_d[9]).SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE}}),Object.defineProperty(_e,"addEventProcessor",{enumerable:!0,get:function(){return r(_d[10]).addEventProcessor}}),Object.defineProperty(_e,"captureEvent",{enumerable:!0,get:function(){return r(_d[10]).captureEvent}}),Object.defineProperty(_e,"captureException",{enumerable:!0,get:function(){return r(_d[10]).captureException}}),Object.defineProperty(_e,"captureMessage",{enumerable:!0,get:function(){return r(_d[10]).captureMessage}}),Object.defineProperty(_e,"captureSession",{enumerable:!0,get:function(){return r(_d[10]).captureSession}}),Object.defineProperty(_e,"close",{enumerable:!0,get:function(){return r(_d[10]).close}}),Object.defineProperty(_e,"endSession",{enumerable:!0,get:function(){return r(_d[10]).endSession}}),Object.defineProperty(_e,"flush",{enumerable:!0,get:function(){return r(_d[10]).flush}}),Object.defineProperty(_e,"isEnabled",{enumerable:!0,get:function(){return r(_d[10]).isEnabled}}),Object.defineProperty(_e,"isInitialized",{enumerable:!0,get:function(){return r(_d[10]).isInitialized}}),Object.defineProperty(_e,"lastEventId",{enumerable:!0,get:function(){return r(_d[10]).lastEventId}}),Object.defineProperty(_e,"setContext",{enumerable:!0,get:function(){return r(_d[10]).setContext}}),Object.defineProperty(_e,"setExtra",{enumerable:!0,get:function(){return r(_d[10]).setExtra}}),Object.defineProperty(_e,"setExtras",{enumerable:!0,get:function(){return r(_d[10]).setExtras}}),Object.defineProperty(_e,"setTag",{enumerable:!0,get:function(){return r(_d[10]).setTag}}),Object.defineProperty(_e,"setTags",{enumerable:!0,get:function(){return r(_d[10]).setTags}}),Object.defineProperty(_e,"setUser",{enumerable:!0,get:function(){return r(_d[10]).setUser}}),Object.defineProperty(_e,"startSession",{enumerable:!0,get:function(){return r(_d[10]).startSession}}),Object.defineProperty(_e,"getClient",{enumerable:!0,get:function(){return r(_d[11]).getClient}}),Object.defineProperty(_e,"getCurrentScope",{enumerable:!0,get:function(){return r(_d[11]).getCurrentScope}}),Object.defineProperty(_e,"getGlobalScope",{enumerable:!0,get:function(){return r(_d[11]).getGlobalScope}}),Object.defineProperty(_e,"getIsolationScope",{enumerable:!0,get:function(){return r(_d[11]).getIsolationScope}}),Object.defineProperty(_e,"withIsolationScope",{enumerable:!0,get:function(){return r(_d[11]).withIsolationScope}}),Object.defineProperty(_e,"withScope",{enumerable:!0,get:function(){return r(_d[11]).withScope}}),Object.defineProperty(_e,"getMainCarrier",{enumerable:!0,get:function(){return r(_d[12]).getMainCarrier}}),Object.defineProperty(_e,"Scope",{enumerable:!0,get:function(){return r(_d[13]).Scope}}),Object.defineProperty(_e,"getReportDialogEndpoint",{enumerable:!0,get:function(){return r(_d[14]).getReportDialogEndpoint}}),Object.defineProperty(_e,"Client",{enumerable:!0,get:function(){return r(_d[15]).Client}}),Object.defineProperty(_e,"initAndBind",{enumerable:!0,get:function(){return r(_d[16]).initAndBind}}),Object.defineProperty(_e,"setCurrentClient",{enumerable:!0,get:function(){return r(_d[16]).setCurrentClient}}),Object.defineProperty(_e,"createTransport",{enumerable:!0,get:function(){return r(_d[17]).createTransport}}),Object.defineProperty(_e,"makeOfflineTransport",{enumerable:!0,get:function(){return r(_d[18]).makeOfflineTransport}}),Object.defineProperty(_e,"MULTIPLEXED_TRANSPORT_EXTRA_KEY",{enumerable:!0,get:function(){return r(_d[19]).MULTIPLEXED_TRANSPORT_EXTRA_KEY}}),Object.defineProperty(_e,"makeMultiplexedTransport",{enumerable:!0,get:function(){return r(_d[19]).makeMultiplexedTransport}}),Object.defineProperty(_e,"addIntegration",{enumerable:!0,get:function(){return r(_d[20]).addIntegration}}),Object.defineProperty(_e,"defineIntegration",{enumerable:!0,get:function(){return r(_d[20]).defineIntegration}}),Object.defineProperty(_e,"getIntegrationsToSetup",{enumerable:!0,get:function(){return r(_d[20]).getIntegrationsToSetup}}),Object.defineProperty(_e,"prepareEvent",{enumerable:!0,get:function(){return r(_d[21]).prepareEvent}}),Object.defineProperty(_e,"hasSpansEnabled",{enumerable:!0,get:function(){return r(_d[22]).hasSpansEnabled}}),Object.defineProperty(_e,"isSentryRequestUrl",{enumerable:!0,get:function(){return r(_d[23]).isSentryRequestUrl}}),Object.defineProperty(_e,"parameterize",{enumerable:!0,get:function(){return r(_d[24]).parameterize}}),Object.defineProperty(_e,"addAutoIpAddressToSession",{enumerable:!0,get:function(){return r(_d[25]).addAutoIpAddressToSession}}),Object.defineProperty(_e,"getActiveSpan",{enumerable:!0,get:function(){return r(_d[26]).getActiveSpan}}),Object.defineProperty(_e,"getRootSpan",{enumerable:!0,get:function(){return r(_d[26]).getRootSpan}}),Object.defineProperty(_e,"getSpanDescendants",{enumerable:!0,get:function(){return r(_d[26]).getSpanDescendants}}),Object.defineProperty(_e,"spanIsSampled",{enumerable:!0,get:function(){return r(_d[26]).spanIsSampled}}),Object.defineProperty(_e,"spanToJSON",{enumerable:!0,get:function(){return r(_d[26]).spanToJSON}}),Object.defineProperty(_e,"spanToTraceHeader",{enumerable:!0,get:function(){return r(_d[26]).spanToTraceHeader}}),Object.defineProperty(_e,"updateSpanName",{enumerable:!0,get:function(){return r(_d[26]).updateSpanName}}),Object.defineProperty(_e,"_INTERNAL_setSpanForScope",{enumerable:!0,get:function(){return r(_d[27])._setSpanForScope}}),Object.defineProperty(_e,"parseSampleRate",{enumerable:!0,get:function(){return r(_d[28]).parseSampleRate}}),Object.defineProperty(_e,"applySdkMetadata",{enumerable:!0,get:function(){return r(_d[29]).applySdkMetadata}}),Object.defineProperty(_e,"getTraceData",{enumerable:!0,get:function(){return r(_d[30]).getTraceData}}),Object.defineProperty(_e,"debounce",{enumerable:!0,get:function(){return r(_d[31]).debounce}}),Object.defineProperty(_e,"DEFAULT_ENVIRONMENT",{enumerable:!0,get:function(){return r(_d[32]).DEFAULT_ENVIRONMENT}}),Object.defineProperty(_e,"addBreadcrumb",{enumerable:!0,get:function(){return r(_d[33]).addBreadcrumb}}),Object.defineProperty(_e,"functionToStringIntegration",{enumerable:!0,get:function(){return r(_d[34]).functionToStringIntegration}}),Object.defineProperty(_e,"eventFiltersIntegration",{enumerable:!0,get:function(){return r(_d[35]).eventFiltersIntegration}}),Object.defineProperty(_e,"inboundFiltersIntegration",{enumerable:!0,get:function(){return r(_d[35]).inboundFiltersIntegration}}),Object.defineProperty(_e,"moduleMetadataIntegration",{enumerable:!0,get:function(){return r(_d[36]).moduleMetadataIntegration}}),Object.defineProperty(_e,"captureConsoleIntegration",{enumerable:!0,get:function(){return r(_d[37]).captureConsoleIntegration}}),Object.defineProperty(_e,"dedupeIntegration",{enumerable:!0,get:function(){return r(_d[38]).dedupeIntegration}}),Object.defineProperty(_e,"extraErrorDataIntegration",{enumerable:!0,get:function(){return r(_d[39]).extraErrorDataIntegration}}),Object.defineProperty(_e,"rewriteFramesIntegration",{enumerable:!0,get:function(){return r(_d[40]).rewriteFramesIntegration}}),Object.defineProperty(_e,"instrumentSupabaseClient",{enumerable:!0,get:function(){return r(_d[41]).instrumentSupabaseClient}}),Object.defineProperty(_e,"supabaseIntegration",{enumerable:!0,get:function(){return r(_d[41]).supabaseIntegration}}),Object.defineProperty(_e,"zodErrorsIntegration",{enumerable:!0,get:function(){return r(_d[42]).zodErrorsIntegration}}),Object.defineProperty(_e,"thirdPartyErrorFilterIntegration",{enumerable:!0,get:function(){return r(_d[43]).thirdPartyErrorFilterIntegration}}),Object.defineProperty(_e,"featureFlagsIntegration",{enumerable:!0,get:function(){return r(_d[44]).featureFlagsIntegration}}),Object.defineProperty(_e,"growthbookIntegration",{enumerable:!0,get:function(){return r(_d[45]).growthbookIntegration}}),Object.defineProperty(_e,"conversationIdIntegration",{enumerable:!0,get:function(){return r(_d[46]).conversationIdIntegration}}),Object.defineProperty(_e,"instrumentFetchRequest",{enumerable:!0,get:function(){return r(_d[47]).instrumentFetchRequest}}),Object.defineProperty(_e,"captureFeedback",{enumerable:!0,get:function(){return r(_d[48]).captureFeedback}}),Object.defineProperty(_e,"_INTERNAL_flushLogsBuffer",{enumerable:!0,get:function(){return r(_d[49])._INTERNAL_flushLogsBuffer}}),Object.defineProperty(_e,"consoleLoggingIntegration",{enumerable:!0,get:function(){return r(_d[50]).consoleLoggingIntegration}}),Object.defineProperty(_e,"_INTERNAL_flushMetricsBuffer",{enumerable:!0,get:function(){return r(_d[51])._INTERNAL_flushMetricsBuffer}}),Object.defineProperty(_e,"createConsolaReporter",{enumerable:!0,get:function(){return r(_d[52]).createConsolaReporter}}),Object.defineProperty(_e,"instrumentOpenAiClient",{enumerable:!0,get:function(){return r(_d[53]).instrumentOpenAiClient}}),Object.defineProperty(_e,"instrumentAnthropicAiClient",{enumerable:!0,get:function(){return r(_d[54]).instrumentAnthropicAiClient}}),Object.defineProperty(_e,"instrumentGoogleGenAIClient",{enumerable:!0,get:function(){return r(_d[55]).instrumentGoogleGenAIClient}}),Object.defineProperty(_e,"createLangChainCallbackHandler",{enumerable:!0,get:function(){return r(_d[56]).createLangChainCallbackHandler}}),Object.defineProperty(_e,"instrumentLangGraph",{enumerable:!0,get:function(){return r(_d[57]).instrumentLangGraph}}),Object.defineProperty(_e,"_INTERNAL_addFeatureFlagToActiveSpan",{enumerable:!0,get:function(){return r(_d[58])._INTERNAL_addFeatureFlagToActiveSpan}}),Object.defineProperty(_e,"_INTERNAL_copyFlagsFromScopeToEvent",{enumerable:!0,get:function(){return r(_d[58])._INTERNAL_copyFlagsFromScopeToEvent}}),Object.defineProperty(_e,"_INTERNAL_insertFlagToScope",{enumerable:!0,get:function(){return r(_d[58])._INTERNAL_insertFlagToScope}}),Object.defineProperty(_e,"applyAggregateErrorsToEvent",{enumerable:!0,get:function(){return r(_d[59]).applyAggregateErrorsToEvent}}),Object.defineProperty(_e,"getBreadcrumbLogLevelFromHttpStatusCode",{enumerable:!0,get:function(){return r(_d[60]).getBreadcrumbLogLevelFromHttpStatusCode}}),Object.defineProperty(_e,"getComponentName",{enumerable:!0,get:function(){return r(_d[61]).getComponentName}}),Object.defineProperty(_e,"getLocationHref",{enumerable:!0,get:function(){return r(_d[61]).getLocationHref}}),Object.defineProperty(_e,"htmlTreeAsString",{enumerable:!0,get:function(){return r(_d[61]).htmlTreeAsString}}),Object.defineProperty(_e,"dsnToString",{enumerable:!0,get:function(){return r(_d[62]).dsnToString}}),Object.defineProperty(_e,"makeDsn",{enumerable:!0,get:function(){return r(_d[62]).makeDsn}}),Object.defineProperty(_e,"SentryError",{enumerable:!0,get:function(){return r(_d[63]).SentryError}}),Object.defineProperty(_e,"GLOBAL_OBJ",{enumerable:!0,get:function(){return r(_d[64]).GLOBAL_OBJ}}),Object.defineProperty(_e,"addConsoleInstrumentationHandler",{enumerable:!0,get:function(){return r(_d[65]).addConsoleInstrumentationHandler}}),Object.defineProperty(_e,"addFetchEndInstrumentationHandler",{enumerable:!0,get:function(){return r(_d[66]).addFetchEndInstrumentationHandler}}),Object.defineProperty(_e,"addFetchInstrumentationHandler",{enumerable:!0,get:function(){return r(_d[66]).addFetchInstrumentationHandler}}),Object.defineProperty(_e,"addGlobalErrorInstrumentationHandler",{enumerable:!0,get:function(){return r(_d[67]).addGlobalErrorInstrumentationHandler}}),Object.defineProperty(_e,"addGlobalUnhandledRejectionInstrumentationHandler",{enumerable:!0,get:function(){return r(_d[68]).addGlobalUnhandledRejectionInstrumentationHandler}}),Object.defineProperty(_e,"addHandler",{enumerable:!0,get:function(){return r(_d[69]).addHandler}}),Object.defineProperty(_e,"maybeInstrument",{enumerable:!0,get:function(){return r(_d[69]).maybeInstrument}}),Object.defineProperty(_e,"triggerHandlers",{enumerable:!0,get:function(){return r(_d[69]).triggerHandlers}}),Object.defineProperty(_e,"isDOMError",{enumerable:!0,get:function(){return r(_d[70]).isDOMError}}),Object.defineProperty(_e,"isDOMException",{enumerable:!0,get:function(){return r(_d[70]).isDOMException}}),Object.defineProperty(_e,"isError",{enumerable:!0,get:function(){return r(_d[70]).isError}}),Object.defineProperty(_e,"isErrorEvent",{enumerable:!0,get:function(){return r(_d[70]).isErrorEvent}}),Object.defineProperty(_e,"isEvent",{enumerable:!0,get:function(){return r(_d[70]).isEvent}}),Object.defineProperty(_e,"isInstanceOf",{enumerable:!0,get:function(){return r(_d[70]).isInstanceOf}}),Object.defineProperty(_e,"isParameterizedString",{enumerable:!0,get:function(){return r(_d[70]).isParameterizedString}}),Object.defineProperty(_e,"isPlainObject",{enumerable:!0,get:function(){return r(_d[70]).isPlainObject}}),Object.defineProperty(_e,"isPrimitive",{enumerable:!0,get:function(){return r(_d[70]).isPrimitive}}),Object.defineProperty(_e,"isString",{enumerable:!0,get:function(){return r(_d[70]).isString}}),Object.defineProperty(_e,"isBrowser",{enumerable:!0,get:function(){return r(_d[71]).isBrowser}}),Object.defineProperty(_e,"consoleSandbox",{enumerable:!0,get:function(){return r(_d[72]).consoleSandbox}}),Object.defineProperty(_e,"debug",{enumerable:!0,get:function(){return r(_d[72]).debug}}),Object.defineProperty(_e,"addContextToFrame",{enumerable:!0,get:function(){return r(_d[73]).addContextToFrame}}),Object.defineProperty(_e,"addExceptionMechanism",{enumerable:!0,get:function(){return r(_d[73]).addExceptionMechanism}}),Object.defineProperty(_e,"addExceptionTypeValue",{enumerable:!0,get:function(){return r(_d[73]).addExceptionTypeValue}}),Object.defineProperty(_e,"getEventDescription",{enumerable:!0,get:function(){return r(_d[73]).getEventDescription}}),Object.defineProperty(_e,"uuid4",{enumerable:!0,get:function(){return r(_d[73]).uuid4}}),Object.defineProperty(_e,"normalize",{enumerable:!0,get:function(){return r(_d[74]).normalize}}),Object.defineProperty(_e,"normalizeToSize",{enumerable:!0,get:function(){return r(_d[74]).normalizeToSize}}),Object.defineProperty(_e,"addNonEnumerableProperty",{enumerable:!0,get:function(){return r(_d[75]).addNonEnumerableProperty}}),Object.defineProperty(_e,"dropUndefinedKeys",{enumerable:!0,get:function(){return r(_d[75]).dropUndefinedKeys}}),Object.defineProperty(_e,"extractExceptionKeysForMessage",{enumerable:!0,get:function(){return r(_d[75]).extractExceptionKeysForMessage}}),Object.defineProperty(_e,"fill",{enumerable:!0,get:function(){return r(_d[75]).fill}}),Object.defineProperty(_e,"getOriginalFunction",{enumerable:!0,get:function(){return r(_d[75]).getOriginalFunction}}),Object.defineProperty(_e,"markFunctionWrapped",{enumerable:!0,get:function(){return r(_d[75]).markFunctionWrapped}}),Object.defineProperty(_e,"makePromiseBuffer",{enumerable:!0,get:function(){return r(_d[76]).makePromiseBuffer}}),Object.defineProperty(_e,"severityLevelFromString",{enumerable:!0,get:function(){return r(_d[77]).severityLevelFromString}}),Object.defineProperty(_e,"UNKNOWN_FUNCTION",{enumerable:!0,get:function(){return r(_d[78]).UNKNOWN_FUNCTION}}),Object.defineProperty(_e,"createStackParser",{enumerable:!0,get:function(){return r(_d[78]).createStackParser}}),Object.defineProperty(_e,"getFunctionName",{enumerable:!0,get:function(){return r(_d[78]).getFunctionName}}),Object.defineProperty(_e,"stackParserFromStackParserOptions",{enumerable:!0,get:function(){return r(_d[78]).stackParserFromStackParserOptions}}),Object.defineProperty(_e,"safeJoin",{enumerable:!0,get:function(){return r(_d[79]).safeJoin}}),Object.defineProperty(_e,"stringMatchesSomePattern",{enumerable:!0,get:function(){return r(_d[79]).stringMatchesSomePattern}}),Object.defineProperty(_e,"isNativeFunction",{enumerable:!0,get:function(){return r(_d[80]).isNativeFunction}}),Object.defineProperty(_e,"supportsHistory",{enumerable:!0,get:function(){return r(_d[80]).supportsHistory}}),Object.defineProperty(_e,"supportsNativeFetch",{enumerable:!0,get:function(){return r(_d[80]).supportsNativeFetch}}),Object.defineProperty(_e,"supportsReportingObserver",{enumerable:!0,get:function(){return r(_d[80]).supportsReportingObserver}}),Object.defineProperty(_e,"resolvedSyncPromise",{enumerable:!0,get:function(){return r(_d[81]).resolvedSyncPromise}}),Object.defineProperty(_e,"browserPerformanceTimeOrigin",{enumerable:!0,get:function(){return r(_d[82]).browserPerformanceTimeOrigin}}),Object.defineProperty(_e,"dateTimestampInSeconds",{enumerable:!0,get:function(){return r(_d[82]).dateTimestampInSeconds}}),Object.defineProperty(_e,"timestampInSeconds",{enumerable:!0,get:function(){return r(_d[82]).timestampInSeconds}}),Object.defineProperty(_e,"propagationContextFromHeaders",{enumerable:!0,get:function(){return r(_d[83]).propagationContextFromHeaders}}),Object.defineProperty(_e,"getSDKSource",{enumerable:!0,get:function(){return r(_d[84]).getSDKSource}}),Object.defineProperty(_e,"createEnvelope",{enumerable:!0,get:function(){return r(_d[85]).createEnvelope}}),Object.defineProperty(_e,"createEventEnvelopeHeaders",{enumerable:!0,get:function(){return r(_d[85]).createEventEnvelopeHeaders}}),Object.defineProperty(_e,"forEachEnvelopeItem",{enumerable:!0,get:function(){return r(_d[85]).forEachEnvelopeItem}}),Object.defineProperty(_e,"getSdkMetadataForEnvelopeHeader",{enumerable:!0,get:function(){return r(_d[85]).getSdkMetadataForEnvelopeHeader}}),Object.defineProperty(_e,"parseEnvelope",{enumerable:!0,get:function(){return r(_d[85]).parseEnvelope}}),Object.defineProperty(_e,"serializeEnvelope",{enumerable:!0,get:function(){return r(_d[85]).serializeEnvelope}}),Object.defineProperty(_e,"isRateLimited",{enumerable:!0,get:function(){return r(_d[86]).isRateLimited}}),Object.defineProperty(_e,"updateRateLimits",{enumerable:!0,get:function(){return r(_d[86]).updateRateLimits}}),Object.defineProperty(_e,"parseStringToURLObject",{enumerable:!0,get:function(){return r(_d[87]).parseStringToURLObject}}),Object.defineProperty(_e,"parseUrl",{enumerable:!0,get:function(){return r(_d[87]).parseUrl}}),Object.defineProperty(_e,"stripDataUrlContent",{enumerable:!0,get:function(){return r(_d[87]).stripDataUrlContent}}),Object.defineProperty(_e,"stripUrlQueryAndFragment",{enumerable:!0,get:function(){return r(_d[87]).stripUrlQueryAndFragment}}),Object.defineProperty(_e,"_INTERNAL_enhanceErrorWithSentryInfo",{enumerable:!0,get:function(){return r(_d[88])._enhanceErrorWithSentryInfo}}),Object.defineProperty(_e,"generateSpanId",{enumerable:!0,get:function(){return r(_d[89]).generateSpanId}}),Object.defineProperty(_e,"generateTraceId",{enumerable:!0,get:function(){return r(_d[89]).generateTraceId}}),Object.defineProperty(_e,"SDK_VERSION",{enumerable:!0,get:function(){return r(_d[90]).SDK_VERSION}}),Object.defineProperty(_e,"getDebugImagesForResources",{enumerable:!0,get:function(){return r(_d[91]).getDebugImagesForResources}}),Object.defineProperty(_e,"logger",{enumerable:!0,get:function(){return t}}),Object.defineProperty(_e,"metrics",{enumerable:!0,get:function(){return n}});var t=e(r(_d[92])),n=e(r(_d[93]))},120,[121,123,155,161,157,143,167,158,163,142,170,151,128,146,176,177,192,179,193,194,188,171,156,195,197,198,122,147,139,199,200,201,159,202,203,204,205,207,210,211,212,214,215,216,217,219,220,221,222,181,223,186,225,226,233,237,241,244,218,247,248,131,140,249,124,208,250,152,154,153,130,252,127,133,166,125,178,209,136,135,251,174,141,137,254,165,180,196,255,132,129,175,256,257]);
167
167
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"registerSpanErrorInstrumentation",{enumerable:!0,get:function(){return n}});let t=!1;function n(){function n(){const t=(0,r(d[0]).getActiveSpan)(),n=t&&(0,r(d[0]).getRootSpan)(t);if(n){const t='internal_error';r(d[1]).DEBUG_BUILD&&r(d[2]).debug.log(`[Tracing] Root span: ${t} -> Global error occurred`),n.setStatus({code:r(d[3]).SPAN_STATUS_ERROR,message:t})}}t||(n.tag='sentry_tracingErrorCallback',t=!0,(0,r(d[4]).addGlobalErrorInstrumentationHandler)(n),(0,r(d[5]).addGlobalUnhandledRejectionInstrumentationHandler)(n))}},121,[122,126,127,143,152,154]);
@@ -1110,7 +1110,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
1110
1110
  __d(function(g,r,i,a,m,_e,d){"use strict";const e=["style","iconStyle","children"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return f}});var s=t(r(d[0])),n=t(r(d[1])),o=t(r(d[2])),l=t(r(d[3])),c=t(r(d[4]));const u=n.default.create({container:{flexDirection:'row',justifyContent:'flex-start',alignItems:'center',padding:8},touchable:{overflow:'hidden'},icon:{marginRight:10},text:{fontWeight:'600',backgroundColor:'transparent'}}),y='#007AFF',b=['ellipsizeMode','numberOfLines','textBreakStrategy','selectable','suppressHighlighting','allowFontScaling','adjustsFontSizeToFit','minimumFontScale'],p=['accessible','accessibilityLabel','accessibilityHint','accessibilityComponentType','accessibilityRole','accessibilityStates','accessibilityTraits','onFocus','onBlur','disabled','onPress','onPressIn','onPressOut','onLayout','onLongPress','nativeID','testID','delayPressIn','delayPressOut','delayLongPress','activeOpacity','underlayColor','selectionColor','onShowUnderlay','onHideUnderlay','hasTVPreferredFocus','tvParallaxProperties'];function f(t){return class extends r(d[5]).PureComponent{static defaultProps={backgroundColor:y,borderRadius:5,color:'white',size:20};render(){const n=this.props,{style:y,iconStyle:f,children:h}=n,P=(0,s.default)(n,e),j=(0,r(d[6]).pick)(P,b,'style','name','size','color'),k=(0,r(d[6]).pick)(P,p),x=(0,r(d[6]).omit)(P,Object.keys(j),Object.keys(k),'iconStyle','borderRadius','backgroundColor');j.style=f?[u.icon,f]:u.icon;const O=(0,r(d[6]).pick)(this.props,'color'),C=(0,r(d[6]).pick)(this.props,'backgroundColor','borderRadius');return(0,r(d[7]).jsx)(l.default,Object.assign({style:[u.touchable,C]},k,{children:(0,r(d[7]).jsxs)(c.default,Object.assign({style:[u.container,C,y]},x,{children:[(0,r(d[7]).jsx)(t,Object.assign({},j)),'string'==typeof h?(0,r(d[7]).jsx)(o.default,{style:[u.text,O],selectable:!1,children:h}):h]}))}))}}}},1041,[44,38,549,1042,459,36,1043,700]);
1111
1111
  __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return O}});var n=e(r(_d[0])),l=e(r(_d[1])),s=(function(e){if(e&&e.__esModule)return e;var n={};return e&&Object.keys(e).forEach(function(l){var s=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(n,l,s.get?s:{enumerable:!0,get:function(){return e[l]}})}),n.default=e,n})(r(_d[2])),t=e(r(_d[3])),o=e(r(_d[4])),u=e(r(_d[5])),d=e(r(_d[6])),c=["activeOpacity","children","delayPressIn","delayPressOut","delayLongPress","disabled","focusable","onHideUnderlay","onLongPress","onPress","onPressIn","onPressOut","onShowUnderlay","rejectResponderTermination","style","testOnly_pressed","underlayColor"];function y(e,n){return{child:{opacity:null!=e?e:.85},underlay:{backgroundColor:void 0===n?'black':n}}}function f(e){return null!=e.onPress||null!=e.onPressIn||null!=e.onPressOut||null!=e.onLongPress}function P(e,u){var P=e.activeOpacity,p=e.children,O=e.delayPressIn,h=e.delayPressOut,v=e.delayLongPress,_=e.disabled,j=e.focusable,L=e.onHideUnderlay,C=e.onLongPress,E=e.onPress,S=e.onPressIn,k=e.onPressOut,I=e.onShowUnderlay,w=e.rejectResponderTermination,M=e.style,R=e.testOnly_pressed,U=e.underlayColor,H=(0,l.default)(e,c),T=(0,r(_d[2]).useRef)(null),D=(0,t.default)(u,T),x=(0,r(_d[2]).useState)(!0===R?y(P,U):null),A=x[0],N=x[1],q=(0,r(_d[2]).useCallback)(()=>{f(e)&&(N(y(P,U)),null!=I&&I())},[P,I,e,U]),z=(0,r(_d[2]).useCallback)(()=>{!0!==R&&f(e)&&(N(null),null!=L&&L())},[L,e,R]),B=(0,r(_d[2]).useMemo)(()=>({cancelable:!w,disabled:_,delayLongPress:v,delayPressStart:O,delayPressEnd:h,onLongPress:C,onPress:E,onPressStart(e){q(),null!=S&&S(e)},onPressEnd(e){z(),null!=k&&k(e)}}),[v,O,h,_,C,E,S,k,w,q,z]),F=(0,o.default)(T,B),G=s.Children.only(p);return s.createElement(d.default,(0,n.default)({},H,F,{accessibilityDisabled:_,focusable:!_&&!1!==j,pointerEvents:_?'box-none':void 0,ref:D,style:[b.root,M,!_&&b.actionable,A&&A.underlay]}),s.cloneElement(G,{style:[G.props.style,A&&A.child]}))}var b=u.default.create({root:{userSelect:'none'},actionable:{cursor:'pointer',touchAction:'manipulation'}}),p=s.memo(s.forwardRef(P));p.displayName='TouchableHighlight';var O=p},1042,[23,44,36,472,586,38,459]);
1112
1112
  __d(function(g,r,i,a,m,e,d){m.exports={pick:(t,...c)=>c.flat().filter(c=>Object.prototype.hasOwnProperty.call(t,c)).reduce((c,o)=>(c[o]=t[o],c),{}),omit:(t,...c)=>{const o=new Set(c.flat());return Object.getOwnPropertyNames(t).filter(t=>!o.has(t)).reduce((c,o)=>(c[o]=t[o],c),{})}}},1043,[]);
1113
- __d(function(o,e,n,t,d,s,c){d.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/fonts/Ionicons.b4eb097d35f44ed943676fd56f6bdc51.ttf"},1044,[]);
1113
+ __d(function(o,e,n,t,d,s,c){d.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/fonts/Ionicons.b4eb097d35f44ed943676fd56f6bdc51.ttf"},1044,[]);
1114
1114
  __d(function(e,r,o,a,l,i,t){l.exports={accessibility:61696,"accessibility-outline":61697,"accessibility-sharp":61698,add:61699,"add-circle":61700,"add-circle-outline":61701,"add-circle-sharp":61702,"add-outline":61703,"add-sharp":61704,airplane:61705,"airplane-outline":61706,"airplane-sharp":61707,alarm:61708,"alarm-outline":61709,"alarm-sharp":61710,albums:61711,"albums-outline":61712,"albums-sharp":61713,alert:61714,"alert-circle":61715,"alert-circle-outline":61716,"alert-circle-sharp":61717,"alert-outline":61718,"alert-sharp":61719,"american-football":61720,"american-football-outline":61721,"american-football-sharp":61722,analytics:61723,"analytics-outline":61724,"analytics-sharp":61725,aperture:61726,"aperture-outline":61727,"aperture-sharp":61728,apps:61729,"apps-outline":61730,"apps-sharp":61731,archive:61732,"archive-outline":61733,"archive-sharp":61734,"arrow-back":61735,"arrow-back-circle":61736,"arrow-back-circle-outline":61737,"arrow-back-circle-sharp":61738,"arrow-back-outline":61739,"arrow-back-sharp":61740,"arrow-down":61741,"arrow-down-circle":61742,"arrow-down-circle-outline":61743,"arrow-down-circle-sharp":61744,"arrow-down-left-box":63034,"arrow-down-left-box-outline":63035,"arrow-down-left-box-sharp":63036,"arrow-down-outline":61745,"arrow-down-right-box":63037,"arrow-down-right-box-outline":63038,"arrow-down-right-box-sharp":63039,"arrow-down-sharp":61746,"arrow-forward":61747,"arrow-forward-circle":61748,"arrow-forward-circle-outline":61749,"arrow-forward-circle-sharp":61750,"arrow-forward-outline":61751,"arrow-forward-sharp":61752,"arrow-redo":61753,"arrow-redo-circle":61754,"arrow-redo-circle-outline":61755,"arrow-redo-circle-sharp":61756,"arrow-redo-outline":61757,"arrow-redo-sharp":61758,"arrow-undo":61759,"arrow-undo-circle":61760,"arrow-undo-circle-outline":61761,"arrow-undo-circle-sharp":61762,"arrow-undo-outline":61763,"arrow-undo-sharp":61764,"arrow-up":61765,"arrow-up-circle":61766,"arrow-up-circle-outline":61767,"arrow-up-circle-sharp":61768,"arrow-up-left-box":63040,"arrow-up-left-box-outline":63041,"arrow-up-left-box-sharp":63042,"arrow-up-outline":61769,"arrow-up-right-box":63043,"arrow-up-right-box-outline":63044,"arrow-up-right-box-sharp":63045,"arrow-up-sharp":61770,at:61771,"at-circle":61772,"at-circle-outline":61773,"at-circle-sharp":61774,"at-outline":61775,"at-sharp":61776,attach:61777,"attach-outline":61778,"attach-sharp":61779,backspace:61780,"backspace-outline":61781,"backspace-sharp":61782,bag:61783,"bag-add":61784,"bag-add-outline":61785,"bag-add-sharp":61786,"bag-check":61787,"bag-check-outline":61788,"bag-check-sharp":61789,"bag-handle":61790,"bag-handle-outline":61791,"bag-handle-sharp":61792,"bag-outline":61793,"bag-remove":61794,"bag-remove-outline":61795,"bag-remove-sharp":61796,"bag-sharp":61797,balloon:61798,"balloon-outline":61799,"balloon-sharp":61800,ban:61801,"ban-outline":61802,"ban-sharp":61803,bandage:61804,"bandage-outline":61805,"bandage-sharp":61806,"bar-chart":61807,"bar-chart-outline":61808,"bar-chart-sharp":61809,barbell:61810,"barbell-outline":61811,"barbell-sharp":61812,barcode:61813,"barcode-outline":61814,"barcode-sharp":61815,baseball:61816,"baseball-outline":61817,"baseball-sharp":61818,basket:61819,"basket-outline":61820,"basket-sharp":61821,basketball:61822,"basketball-outline":61823,"basketball-sharp":61824,"battery-charging":61825,"battery-charging-outline":61826,"battery-charging-sharp":61827,"battery-dead":61828,"battery-dead-outline":61829,"battery-dead-sharp":61830,"battery-full":61831,"battery-full-outline":61832,"battery-full-sharp":61833,"battery-half":61834,"battery-half-outline":61835,"battery-half-sharp":61836,beaker:61837,"beaker-outline":61838,"beaker-sharp":61839,bed:61840,"bed-outline":61841,"bed-sharp":61842,beer:61843,"beer-outline":61844,"beer-sharp":61845,bicycle:61846,"bicycle-outline":61847,"bicycle-sharp":61848,binoculars:63046,"binoculars-outline":63047,"binoculars-sharp":63048,bluetooth:61849,"bluetooth-outline":61850,"bluetooth-sharp":61851,boat:61852,"boat-outline":61853,"boat-sharp":61854,body:61855,"body-outline":61856,"body-sharp":61857,bonfire:61858,"bonfire-outline":61859,"bonfire-sharp":61860,book:61861,"book-outline":61862,"book-sharp":61863,bookmark:61864,"bookmark-outline":61865,"bookmark-sharp":61866,bookmarks:61867,"bookmarks-outline":61868,"bookmarks-sharp":61869,"bowling-ball":61870,"bowling-ball-outline":61871,"bowling-ball-sharp":61872,briefcase:61873,"briefcase-outline":61874,"briefcase-sharp":61875,browsers:61876,"browsers-outline":61877,"browsers-sharp":61878,brush:61879,"brush-outline":61880,"brush-sharp":61881,bug:61882,"bug-outline":61883,"bug-sharp":61884,build:61885,"build-outline":61886,"build-sharp":61887,bulb:61888,"bulb-outline":61889,"bulb-sharp":61890,bus:61891,"bus-outline":61892,"bus-sharp":61893,business:61894,"business-outline":61895,"business-sharp":61896,cafe:61897,"cafe-outline":61898,"cafe-sharp":61899,calculator:61900,"calculator-outline":61901,"calculator-sharp":61902,calendar:61903,"calendar-clear":61904,"calendar-clear-outline":61905,"calendar-clear-sharp":61906,"calendar-number":61907,"calendar-number-outline":61908,"calendar-number-sharp":61909,"calendar-outline":61910,"calendar-sharp":61911,call:61912,"call-outline":61913,"call-sharp":61914,camera:61915,"camera-outline":61916,"camera-reverse":61917,"camera-reverse-outline":61918,"camera-reverse-sharp":61919,"camera-sharp":61920,car:61921,"car-outline":61922,"car-sharp":61923,"car-sport":61924,"car-sport-outline":61925,"car-sport-sharp":61926,card:61927,"card-outline":61928,"card-sharp":61929,"caret-back":61930,"caret-back-circle":61931,"caret-back-circle-outline":61932,"caret-back-circle-sharp":61933,"caret-back-outline":61934,"caret-back-sharp":61935,"caret-down":61936,"caret-down-circle":61937,"caret-down-circle-outline":61938,"caret-down-circle-sharp":61939,"caret-down-outline":61940,"caret-down-sharp":61941,"caret-forward":61942,"caret-forward-circle":61943,"caret-forward-circle-outline":61944,"caret-forward-circle-sharp":61945,"caret-forward-outline":61946,"caret-forward-sharp":61947,"caret-up":61948,"caret-up-circle":61949,"caret-up-circle-outline":61950,"caret-up-circle-sharp":61951,"caret-up-outline":61952,"caret-up-sharp":61953,cart:61954,"cart-outline":61955,"cart-sharp":61956,cash:61957,"cash-outline":61958,"cash-sharp":61959,cellular:61960,"cellular-outline":61961,"cellular-sharp":61962,chatbox:61963,"chatbox-ellipses":61964,"chatbox-ellipses-outline":61965,"chatbox-ellipses-sharp":61966,"chatbox-outline":61967,"chatbox-sharp":61968,chatbubble:61969,"chatbubble-ellipses":61970,"chatbubble-ellipses-outline":61971,"chatbubble-ellipses-sharp":61972,"chatbubble-outline":61973,"chatbubble-sharp":61974,chatbubbles:61975,"chatbubbles-outline":61976,"chatbubbles-sharp":61977,checkbox:61978,"checkbox-outline":61979,"checkbox-sharp":61980,checkmark:61981,"checkmark-circle":61982,"checkmark-circle-outline":61983,"checkmark-circle-sharp":61984,"checkmark-done":61985,"checkmark-done-circle":61986,"checkmark-done-circle-outline":61987,"checkmark-done-circle-sharp":61988,"checkmark-done-outline":61989,"checkmark-done-sharp":61990,"checkmark-outline":61991,"checkmark-sharp":61992,"chevron-back":61993,"chevron-back-circle":61994,"chevron-back-circle-outline":61995,"chevron-back-circle-sharp":61996,"chevron-back-outline":61997,"chevron-back-sharp":61998,"chevron-collapse":61999,"chevron-collapse-outline":62e3,"chevron-collapse-sharp":62001,"chevron-down":62002,"chevron-down-circle":62003,"chevron-down-circle-outline":62004,"chevron-down-circle-sharp":62005,"chevron-down-outline":62006,"chevron-down-sharp":62007,"chevron-expand":62008,"chevron-expand-outline":62009,"chevron-expand-sharp":62010,"chevron-forward":62011,"chevron-forward-circle":62012,"chevron-forward-circle-outline":62013,"chevron-forward-circle-sharp":62014,"chevron-forward-outline":62015,"chevron-forward-sharp":62016,"chevron-up":62017,"chevron-up-circle":62018,"chevron-up-circle-outline":62019,"chevron-up-circle-sharp":62020,"chevron-up-outline":62021,"chevron-up-sharp":62022,clipboard:62023,"clipboard-outline":62024,"clipboard-sharp":62025,close:62026,"close-circle":62027,"close-circle-outline":62028,"close-circle-sharp":62029,"close-outline":62030,"close-sharp":62031,cloud:62032,"cloud-circle":62033,"cloud-circle-outline":62034,"cloud-circle-sharp":62035,"cloud-done":62036,"cloud-done-outline":62037,"cloud-done-sharp":62038,"cloud-download":62039,"cloud-download-outline":62040,"cloud-download-sharp":62041,"cloud-offline":62042,"cloud-offline-outline":62043,"cloud-offline-sharp":62044,"cloud-outline":62045,"cloud-sharp":62046,"cloud-upload":62047,"cloud-upload-outline":62048,"cloud-upload-sharp":62049,cloudy:62050,"cloudy-night":62051,"cloudy-night-outline":62052,"cloudy-night-sharp":62053,"cloudy-outline":62054,"cloudy-sharp":62055,code:62056,"code-download":62057,"code-download-outline":62058,"code-download-sharp":62059,"code-outline":62060,"code-sharp":62061,"code-slash":62062,"code-slash-outline":62063,"code-slash-sharp":62064,"code-working":62065,"code-working-outline":62066,"code-working-sharp":62067,cog:62068,"cog-outline":62069,"cog-sharp":62070,"color-fill":62071,"color-fill-outline":62072,"color-fill-sharp":62073,"color-filter":62074,"color-filter-outline":62075,"color-filter-sharp":62076,"color-palette":62077,"color-palette-outline":62078,"color-palette-sharp":62079,"color-wand":62080,"color-wand-outline":62081,"color-wand-sharp":62082,compass:62083,"compass-outline":62084,"compass-sharp":62085,construct:62086,"construct-outline":62087,"construct-sharp":62088,contract:62089,"contract-outline":62090,"contract-sharp":62091,contrast:62092,"contrast-outline":62093,"contrast-sharp":62094,copy:62095,"copy-outline":62096,"copy-sharp":62097,create:62098,"create-outline":62099,"create-sharp":62100,crop:62101,"crop-outline":62102,"crop-sharp":62103,cube:62104,"cube-outline":62105,"cube-sharp":62106,cut:62107,"cut-outline":62108,"cut-sharp":62109,desktop:62110,"desktop-outline":62111,"desktop-sharp":62112,diamond:62113,"diamond-outline":62114,"diamond-sharp":62115,dice:62116,"dice-outline":62117,"dice-sharp":62118,disc:62119,"disc-outline":62120,"disc-sharp":62121,document:62122,"document-attach":62123,"document-attach-outline":62124,"document-attach-sharp":62125,"document-lock":62126,"document-lock-outline":62127,"document-lock-sharp":62128,"document-outline":62129,"document-sharp":62130,"document-text":62131,"document-text-outline":62132,"document-text-sharp":62133,documents:62134,"documents-outline":62135,"documents-sharp":62136,download:62137,"download-outline":62138,"download-sharp":62139,duplicate:62140,"duplicate-outline":62141,"duplicate-sharp":62142,ear:62143,"ear-outline":62144,"ear-sharp":62145,earth:62146,"earth-outline":62147,"earth-sharp":62148,easel:62149,"easel-outline":62150,"easel-sharp":62151,egg:62152,"egg-outline":62153,"egg-sharp":62154,ellipse:62155,"ellipse-outline":62156,"ellipse-sharp":62157,"ellipsis-horizontal":62158,"ellipsis-horizontal-circle":62159,"ellipsis-horizontal-circle-outline":62160,"ellipsis-horizontal-circle-sharp":62161,"ellipsis-horizontal-outline":62162,"ellipsis-horizontal-sharp":62163,"ellipsis-vertical":62164,"ellipsis-vertical-circle":62165,"ellipsis-vertical-circle-outline":62166,"ellipsis-vertical-circle-sharp":62167,"ellipsis-vertical-outline":62168,"ellipsis-vertical-sharp":62169,enter:62170,"enter-outline":62171,"enter-sharp":62172,exit:62173,"exit-outline":62174,"exit-sharp":62175,expand:62176,"expand-outline":62177,"expand-sharp":62178,"extension-puzzle":62179,"extension-puzzle-outline":62180,"extension-puzzle-sharp":62181,eye:62182,"eye-off":62183,"eye-off-outline":62184,"eye-off-sharp":62185,"eye-outline":62186,"eye-sharp":62187,eyedrop:62188,"eyedrop-outline":62189,"eyedrop-sharp":62190,"fast-food":62191,"fast-food-outline":62192,"fast-food-sharp":62193,female:62194,"female-outline":62195,"female-sharp":62196,"file-tray":62197,"file-tray-full":62198,"file-tray-full-outline":62199,"file-tray-full-sharp":62200,"file-tray-outline":62201,"file-tray-sharp":62202,"file-tray-stacked":62203,"file-tray-stacked-outline":62204,"file-tray-stacked-sharp":62205,film:62206,"film-outline":62207,"film-sharp":62208,filter:62209,"filter-circle":62210,"filter-circle-outline":62211,"filter-circle-sharp":62212,"filter-outline":62213,"filter-sharp":62214,"finger-print":62215,"finger-print-outline":62216,"finger-print-sharp":62217,fish:62218,"fish-outline":62219,"fish-sharp":62220,fitness:62221,"fitness-outline":62222,"fitness-sharp":62223,flag:62224,"flag-outline":62225,"flag-sharp":62226,flame:62227,"flame-outline":62228,"flame-sharp":62229,flash:62230,"flash-off":62231,"flash-off-outline":62232,"flash-off-sharp":62233,"flash-outline":62234,"flash-sharp":62235,flashlight:62236,"flashlight-outline":62237,"flashlight-sharp":62238,flask:62239,"flask-outline":62240,"flask-sharp":62241,flower:62242,"flower-outline":62243,"flower-sharp":62244,folder:62245,"folder-open":62246,"folder-open-outline":62247,"folder-open-sharp":62248,"folder-outline":62249,"folder-sharp":62250,football:62251,"football-outline":62252,"football-sharp":62253,footsteps:62254,"footsteps-outline":62255,"footsteps-sharp":62256,funnel:62257,"funnel-outline":62258,"funnel-sharp":62259,"game-controller":62260,"game-controller-outline":62261,"game-controller-sharp":62262,gift:62263,"gift-outline":62264,"gift-sharp":62265,"git-branch":62266,"git-branch-outline":62267,"git-branch-sharp":62268,"git-commit":62269,"git-commit-outline":62270,"git-commit-sharp":62271,"git-compare":62272,"git-compare-outline":62273,"git-compare-sharp":62274,"git-merge":62275,"git-merge-outline":62276,"git-merge-sharp":62277,"git-network":62278,"git-network-outline":62279,"git-network-sharp":62280,"git-pull-request":62281,"git-pull-request-outline":62282,"git-pull-request-sharp":62283,glasses:62284,"glasses-outline":62285,"glasses-sharp":62286,globe:62287,"globe-outline":62288,"globe-sharp":62289,golf:62290,"golf-outline":62291,"golf-sharp":62292,grid:62293,"grid-outline":62294,"grid-sharp":62295,hammer:62296,"hammer-outline":62297,"hammer-sharp":62298,"hand-left":62299,"hand-left-outline":62300,"hand-left-sharp":62301,"hand-right":62302,"hand-right-outline":62303,"hand-right-sharp":62304,happy:62305,"happy-outline":62306,"happy-sharp":62307,"hardware-chip":62308,"hardware-chip-outline":62309,"hardware-chip-sharp":62310,headset:62311,"headset-outline":62312,"headset-sharp":62313,heart:62314,"heart-circle":62315,"heart-circle-outline":62316,"heart-circle-sharp":62317,"heart-dislike":62318,"heart-dislike-circle":62319,"heart-dislike-circle-outline":62320,"heart-dislike-circle-sharp":62321,"heart-dislike-outline":62322,"heart-dislike-sharp":62323,"heart-half":62324,"heart-half-outline":62325,"heart-half-sharp":62326,"heart-outline":62327,"heart-sharp":62328,help:62329,"help-buoy":62330,"help-buoy-outline":62331,"help-buoy-sharp":62332,"help-circle":62333,"help-circle-outline":62334,"help-circle-sharp":62335,"help-outline":62336,"help-sharp":62337,home:62338,"home-outline":62339,"home-sharp":62340,hourglass:62341,"hourglass-outline":62342,"hourglass-sharp":62343,"ice-cream":62344,"ice-cream-outline":62345,"ice-cream-sharp":62346,"id-card":62347,"id-card-outline":62348,"id-card-sharp":62349,image:62350,"image-outline":62351,"image-sharp":62352,images:62353,"images-outline":62354,"images-sharp":62355,infinite:62356,"infinite-outline":62357,"infinite-sharp":62358,information:62359,"information-circle":62360,"information-circle-outline":62361,"information-circle-sharp":62362,"information-outline":62363,"information-sharp":62364,"invert-mode":62365,"invert-mode-outline":62366,"invert-mode-sharp":62367,journal:62368,"journal-outline":62369,"journal-sharp":62370,key:62371,"key-outline":62372,"key-sharp":62373,keypad:62374,"keypad-outline":62375,"keypad-sharp":62376,language:62377,"language-outline":62378,"language-sharp":62379,laptop:62380,"laptop-outline":62381,"laptop-sharp":62382,layers:62383,"layers-outline":62384,"layers-sharp":62385,leaf:62386,"leaf-outline":62387,"leaf-sharp":62388,library:62389,"library-outline":62390,"library-sharp":62391,link:62392,"link-outline":62393,"link-sharp":62394,list:62395,"list-circle":62396,"list-circle-outline":62397,"list-circle-sharp":62398,"list-outline":62399,"list-sharp":62400,locate:62401,"locate-outline":62402,"locate-sharp":62403,location:62404,"location-outline":62405,"location-sharp":62406,"lock-closed":62407,"lock-closed-outline":62408,"lock-closed-sharp":62409,"lock-open":62410,"lock-open-outline":62411,"lock-open-sharp":62412,"log-in":62413,"log-in-outline":62414,"log-in-sharp":62415,"log-out":62416,"log-out-outline":62417,"log-out-sharp":62418,"logo-alipay":62419,"logo-amazon":62420,"logo-amplify":62421,"logo-android":62422,"logo-angular":62423,"logo-appflow":63049,"logo-apple":62424,"logo-apple-appstore":62425,"logo-apple-ar":62426,"logo-behance":62427,"logo-bitbucket":62428,"logo-bitcoin":62429,"logo-buffer":62430,"logo-capacitor":62431,"logo-chrome":62432,"logo-closed-captioning":62433,"logo-codepen":62434,"logo-css3":62435,"logo-designernews":62436,"logo-deviantart":62437,"logo-discord":62438,"logo-docker":62439,"logo-dribbble":62440,"logo-dropbox":62441,"logo-edge":62442,"logo-electron":62443,"logo-euro":62444,"logo-facebook":62445,"logo-figma":62446,"logo-firebase":62447,"logo-firefox":62448,"logo-flickr":62449,"logo-foursquare":62450,"logo-github":62451,"logo-gitlab":62452,"logo-google":62453,"logo-google-playstore":62454,"logo-hackernews":62455,"logo-html5":62456,"logo-instagram":62457,"logo-ionic":62458,"logo-ionitron":62459,"logo-javascript":62460,"logo-laravel":62461,"logo-linkedin":62462,"logo-markdown":62463,"logo-mastodon":62464,"logo-medium":62465,"logo-microsoft":62466,"logo-no-smoking":62467,"logo-nodejs":62468,"logo-npm":62469,"logo-octocat":62470,"logo-paypal":62471,"logo-pinterest":62472,"logo-playstation":62473,"logo-pwa":62474,"logo-python":62475,"logo-react":62476,"logo-reddit":62477,"logo-rss":62478,"logo-sass":62479,"logo-skype":62480,"logo-slack":62481,"logo-snapchat":62482,"logo-soundcloud":62483,"logo-stackoverflow":62484,"logo-steam":62485,"logo-stencil":62486,"logo-tableau":62487,"logo-threads":63052,"logo-tiktok":62488,"logo-trapeze":63050,"logo-tumblr":62489,"logo-tux":62490,"logo-twitch":62491,"logo-twitter":62492,"logo-usd":62493,"logo-venmo":62494,"logo-vercel":62495,"logo-vimeo":62496,"logo-vk":62497,"logo-vue":62498,"logo-web-component":62499,"logo-wechat":62500,"logo-whatsapp":62501,"logo-windows":62502,"logo-wordpress":62503,"logo-x":63051,"logo-xbox":62504,"logo-xing":62505,"logo-yahoo":62506,"logo-yen":62507,"logo-youtube":62508,magnet:62509,"magnet-outline":62510,"magnet-sharp":62511,mail:62512,"mail-open":62513,"mail-open-outline":62514,"mail-open-sharp":62515,"mail-outline":62516,"mail-sharp":62517,"mail-unread":62518,"mail-unread-outline":62519,"mail-unread-sharp":62520,male:62521,"male-female":62522,"male-female-outline":62523,"male-female-sharp":62524,"male-outline":62525,"male-sharp":62526,man:62527,"man-outline":62528,"man-sharp":62529,map:62530,"map-outline":62531,"map-sharp":62532,medal:62533,"medal-outline":62534,"medal-sharp":62535,medical:62536,"medical-outline":62537,"medical-sharp":62538,medkit:62539,"medkit-outline":62540,"medkit-sharp":62541,megaphone:62542,"megaphone-outline":62543,"megaphone-sharp":62544,menu:62545,"menu-outline":62546,"menu-sharp":62547,mic:62548,"mic-circle":62549,"mic-circle-outline":62550,"mic-circle-sharp":62551,"mic-off":62552,"mic-off-circle":62553,"mic-off-circle-outline":62554,"mic-off-circle-sharp":62555,"mic-off-outline":62556,"mic-off-sharp":62557,"mic-outline":62558,"mic-sharp":62559,moon:62560,"moon-outline":62561,"moon-sharp":62562,move:62563,"move-outline":62564,"move-sharp":62565,"musical-note":62566,"musical-note-outline":62567,"musical-note-sharp":62568,"musical-notes":62569,"musical-notes-outline":62570,"musical-notes-sharp":62571,navigate:62572,"navigate-circle":62573,"navigate-circle-outline":62574,"navigate-circle-sharp":62575,"navigate-outline":62576,"navigate-sharp":62577,newspaper:62578,"newspaper-outline":62579,"newspaper-sharp":62580,notifications:62581,"notifications-circle":62582,"notifications-circle-outline":62583,"notifications-circle-sharp":62584,"notifications-off":62585,"notifications-off-circle":62586,"notifications-off-circle-outline":62587,"notifications-off-circle-sharp":62588,"notifications-off-outline":62589,"notifications-off-sharp":62590,"notifications-outline":62591,"notifications-sharp":62592,nuclear:62593,"nuclear-outline":62594,"nuclear-sharp":62595,nutrition:62596,"nutrition-outline":62597,"nutrition-sharp":62598,open:62599,"open-outline":62600,"open-sharp":62601,options:62602,"options-outline":62603,"options-sharp":62604,"paper-plane":62605,"paper-plane-outline":62606,"paper-plane-sharp":62607,"partly-sunny":62608,"partly-sunny-outline":62609,"partly-sunny-sharp":62610,pause:62611,"pause-circle":62612,"pause-circle-outline":62613,"pause-circle-sharp":62614,"pause-outline":62615,"pause-sharp":62616,paw:62617,"paw-outline":62618,"paw-sharp":62619,pencil:62620,"pencil-outline":62621,"pencil-sharp":62622,people:62623,"people-circle":62624,"people-circle-outline":62625,"people-circle-sharp":62626,"people-outline":62627,"people-sharp":62628,person:62629,"person-add":62630,"person-add-outline":62631,"person-add-sharp":62632,"person-circle":62633,"person-circle-outline":62634,"person-circle-sharp":62635,"person-outline":62636,"person-remove":62637,"person-remove-outline":62638,"person-remove-sharp":62639,"person-sharp":62640,"phone-landscape":62641,"phone-landscape-outline":62642,"phone-landscape-sharp":62643,"phone-portrait":62644,"phone-portrait-outline":62645,"phone-portrait-sharp":62646,"pie-chart":62647,"pie-chart-outline":62648,"pie-chart-sharp":62649,pin:62650,"pin-outline":62651,"pin-sharp":62652,pint:62653,"pint-outline":62654,"pint-sharp":62655,pizza:62656,"pizza-outline":62657,"pizza-sharp":62658,planet:62659,"planet-outline":62660,"planet-sharp":62661,play:62662,"play-back":62663,"play-back-circle":62664,"play-back-circle-outline":62665,"play-back-circle-sharp":62666,"play-back-outline":62667,"play-back-sharp":62668,"play-circle":62669,"play-circle-outline":62670,"play-circle-sharp":62671,"play-forward":62672,"play-forward-circle":62673,"play-forward-circle-outline":62674,"play-forward-circle-sharp":62675,"play-forward-outline":62676,"play-forward-sharp":62677,"play-outline":62678,"play-sharp":62679,"play-skip-back":62680,"play-skip-back-circle":62681,"play-skip-back-circle-outline":62682,"play-skip-back-circle-sharp":62683,"play-skip-back-outline":62684,"play-skip-back-sharp":62685,"play-skip-forward":62686,"play-skip-forward-circle":62687,"play-skip-forward-circle-outline":62688,"play-skip-forward-circle-sharp":62689,"play-skip-forward-outline":62690,"play-skip-forward-sharp":62691,podium:62692,"podium-outline":62693,"podium-sharp":62694,power:62695,"power-outline":62696,"power-sharp":62697,pricetag:62698,"pricetag-outline":62699,"pricetag-sharp":62700,pricetags:62701,"pricetags-outline":62702,"pricetags-sharp":62703,print:62704,"print-outline":62705,"print-sharp":62706,prism:62707,"prism-outline":62708,"prism-sharp":62709,pulse:62710,"pulse-outline":62711,"pulse-sharp":62712,push:62713,"push-outline":62714,"push-sharp":62715,"qr-code":62716,"qr-code-outline":62717,"qr-code-sharp":62718,radio:62719,"radio-button-off":62720,"radio-button-off-outline":62721,"radio-button-off-sharp":62722,"radio-button-on":62723,"radio-button-on-outline":62724,"radio-button-on-sharp":62725,"radio-outline":62726,"radio-sharp":62727,rainy:62728,"rainy-outline":62729,"rainy-sharp":62730,reader:62731,"reader-outline":62732,"reader-sharp":62733,receipt:62734,"receipt-outline":62735,"receipt-sharp":62736,recording:62737,"recording-outline":62738,"recording-sharp":62739,refresh:62740,"refresh-circle":62741,"refresh-circle-outline":62742,"refresh-circle-sharp":62743,"refresh-outline":62744,"refresh-sharp":62745,reload:62746,"reload-circle":62747,"reload-circle-outline":62748,"reload-circle-sharp":62749,"reload-outline":62750,"reload-sharp":62751,remove:62752,"remove-circle":62753,"remove-circle-outline":62754,"remove-circle-sharp":62755,"remove-outline":62756,"remove-sharp":62757,"reorder-four":62758,"reorder-four-outline":62759,"reorder-four-sharp":62760,"reorder-three":62761,"reorder-three-outline":62762,"reorder-three-sharp":62763,"reorder-two":62764,"reorder-two-outline":62765,"reorder-two-sharp":62766,repeat:62767,"repeat-outline":62768,"repeat-sharp":62769,resize:62770,"resize-outline":62771,"resize-sharp":62772,restaurant:62773,"restaurant-outline":62774,"restaurant-sharp":62775,"return-down-back":62776,"return-down-back-outline":62777,"return-down-back-sharp":62778,"return-down-forward":62779,"return-down-forward-outline":62780,"return-down-forward-sharp":62781,"return-up-back":62782,"return-up-back-outline":62783,"return-up-back-sharp":62784,"return-up-forward":62785,"return-up-forward-outline":62786,"return-up-forward-sharp":62787,ribbon:62788,"ribbon-outline":62789,"ribbon-sharp":62790,rocket:62791,"rocket-outline":62792,"rocket-sharp":62793,rose:62794,"rose-outline":62795,"rose-sharp":62796,sad:62797,"sad-outline":62798,"sad-sharp":62799,save:62800,"save-outline":62801,"save-sharp":62802,scale:62803,"scale-outline":62804,"scale-sharp":62805,scan:62806,"scan-circle":62807,"scan-circle-outline":62808,"scan-circle-sharp":62809,"scan-outline":62810,"scan-sharp":62811,school:62812,"school-outline":62813,"school-sharp":62814,search:62815,"search-circle":62816,"search-circle-outline":62817,"search-circle-sharp":62818,"search-outline":62819,"search-sharp":62820,send:62821,"send-outline":62822,"send-sharp":62823,server:62824,"server-outline":62825,"server-sharp":62826,settings:62827,"settings-outline":62828,"settings-sharp":62829,shapes:62830,"shapes-outline":62831,"shapes-sharp":62832,share:62833,"share-outline":62834,"share-sharp":62835,"share-social":62836,"share-social-outline":62837,"share-social-sharp":62838,shield:62839,"shield-checkmark":62840,"shield-checkmark-outline":62841,"shield-checkmark-sharp":62842,"shield-half":62843,"shield-half-outline":62844,"shield-half-sharp":62845,"shield-outline":62846,"shield-sharp":62847,shirt:62848,"shirt-outline":62849,"shirt-sharp":62850,shuffle:62851,"shuffle-outline":62852,"shuffle-sharp":62853,skull:62854,"skull-outline":62855,"skull-sharp":62856,snow:62857,"snow-outline":62858,"snow-sharp":62859,sparkles:62860,"sparkles-outline":62861,"sparkles-sharp":62862,speedometer:62863,"speedometer-outline":62864,"speedometer-sharp":62865,square:62866,"square-outline":62867,"square-sharp":62868,star:62869,"star-half":62870,"star-half-outline":62871,"star-half-sharp":62872,"star-outline":62873,"star-sharp":62874,"stats-chart":62875,"stats-chart-outline":62876,"stats-chart-sharp":62877,stop:62878,"stop-circle":62879,"stop-circle-outline":62880,"stop-circle-sharp":62881,"stop-outline":62882,"stop-sharp":62883,stopwatch:62884,"stopwatch-outline":62885,"stopwatch-sharp":62886,storefront:62887,"storefront-outline":62888,"storefront-sharp":62889,subway:62890,"subway-outline":62891,"subway-sharp":62892,sunny:62893,"sunny-outline":62894,"sunny-sharp":62895,"swap-horizontal":62896,"swap-horizontal-outline":62897,"swap-horizontal-sharp":62898,"swap-vertical":62899,"swap-vertical-outline":62900,"swap-vertical-sharp":62901,sync:62902,"sync-circle":62903,"sync-circle-outline":62904,"sync-circle-sharp":62905,"sync-outline":62906,"sync-sharp":62907,"tablet-landscape":62908,"tablet-landscape-outline":62909,"tablet-landscape-sharp":62910,"tablet-portrait":62911,"tablet-portrait-outline":62912,"tablet-portrait-sharp":62913,telescope:62914,"telescope-outline":62915,"telescope-sharp":62916,tennisball:62917,"tennisball-outline":62918,"tennisball-sharp":62919,terminal:62920,"terminal-outline":62921,"terminal-sharp":62922,text:62923,"text-outline":62924,"text-sharp":62925,thermometer:62926,"thermometer-outline":62927,"thermometer-sharp":62928,"thumbs-down":62929,"thumbs-down-outline":62930,"thumbs-down-sharp":62931,"thumbs-up":62932,"thumbs-up-outline":62933,"thumbs-up-sharp":62934,thunderstorm:62935,"thunderstorm-outline":62936,"thunderstorm-sharp":62937,ticket:62938,"ticket-outline":62939,"ticket-sharp":62940,time:62941,"time-outline":62942,"time-sharp":62943,timer:62944,"timer-outline":62945,"timer-sharp":62946,today:62947,"today-outline":62948,"today-sharp":62949,toggle:62950,"toggle-outline":62951,"toggle-sharp":62952,"trail-sign":62953,"trail-sign-outline":62954,"trail-sign-sharp":62955,train:62956,"train-outline":62957,"train-sharp":62958,transgender:62959,"transgender-outline":62960,"transgender-sharp":62961,trash:62962,"trash-bin":62963,"trash-bin-outline":62964,"trash-bin-sharp":62965,"trash-outline":62966,"trash-sharp":62967,"trending-down":62968,"trending-down-outline":62969,"trending-down-sharp":62970,"trending-up":62971,"trending-up-outline":62972,"trending-up-sharp":62973,triangle:62974,"triangle-outline":62975,"triangle-sharp":62976,trophy:62977,"trophy-outline":62978,"trophy-sharp":62979,tv:62980,"tv-outline":62981,"tv-sharp":62982,umbrella:62983,"umbrella-outline":62984,"umbrella-sharp":62985,unlink:62986,"unlink-outline":62987,"unlink-sharp":62988,videocam:62989,"videocam-off":62990,"videocam-off-outline":62991,"videocam-off-sharp":62992,"videocam-outline":62993,"videocam-sharp":62994,"volume-high":62995,"volume-high-outline":62996,"volume-high-sharp":62997,"volume-low":62998,"volume-low-outline":62999,"volume-low-sharp":63e3,"volume-medium":63001,"volume-medium-outline":63002,"volume-medium-sharp":63003,"volume-mute":63004,"volume-mute-outline":63005,"volume-mute-sharp":63006,"volume-off":63007,"volume-off-outline":63008,"volume-off-sharp":63009,walk:63010,"walk-outline":63011,"walk-sharp":63012,wallet:63013,"wallet-outline":63014,"wallet-sharp":63015,warning:63016,"warning-outline":63017,"warning-sharp":63018,watch:63019,"watch-outline":63020,"watch-sharp":63021,water:63022,"water-outline":63023,"water-sharp":63024,wifi:63025,"wifi-outline":63026,"wifi-sharp":63027,wine:63028,"wine-outline":63029,"wine-sharp":63030,woman:63031,"woman-outline":63032,"woman-sharp":63033}},1045,[]);
1115
1115
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return n}});var e,t=(e=r(d[0]))&&e.__esModule?e:{default:e};function n(){var e=(0,r(d[1]).useState)(()=>t.default.get('window')),n=e[0],u=e[1];return(0,r(d[1]).useEffect)(()=>{function e(e){var t=e.window;null!=t&&u(t)}return t.default.addEventListener('change',e),u(t.default.get('window')),()=>{t.default.removeEventListener('change',e)}},[]),n}},1046,[498,36]);
1116
1116
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useAIChat=function(){const s=(0,r(d[1]).useGameFacade)(),[n,u]=(0,r(d[2]).useState)(!1),o=(0,r(d[3]).useBubbleDrag)((0,r(d[2]).useCallback)(()=>u(!0),[])),l=(0,r(d[4]).useKeyboardHeight)(),c=(0,t.useChatMessages)(s,n),h=c.sendWithDisplay;(0,r(d[2]).useEffect)(()=>((0,r(d[5]).setAIChatBridgeListener)(t=>{u(!0),setTimeout(()=>{h(t.fullText,t.displayText,t.maxTokens)},0)}),()=>(0,r(d[5]).setAIChatBridgeListener)(null)),[h]);const[S,T]=(0,r(d[2]).useState)([]),f=(0,r(d[2]).useRef)(!1);return(0,r(d[2]).useEffect)(()=>{if(n){const t=s.getState(),n=s.getMySeat();T((0,r(d[6]).generateQuickQuestions)(t,n))}},[n]),(0,r(d[2]).useEffect)(()=>{if(f.current&&!c.isStreaming){const t=s.getState(),n=s.getMySeat();T((0,r(d[6]).generateQuickQuestions)(t,n))}f.current=c.isStreaming},[c.isStreaming,c.messages,s]),{messages:c.messages,inputText:c.inputText,setInputText:c.setInputText,isLoading:c.isLoading,isStreaming:c.isStreaming,cooldownRemaining:c.cooldownRemaining,handleSend:c.handleSend,handleQuickQuestion:c.handleQuickQuestion,handleClearHistory:c.handleClearHistory,contextQuestions:S,isOpen:n,setIsOpen:u,position:o.position,scaleAnim:o.scaleAnim,handleTouchStart:o.handleTouchStart,handleTouchMove:o.handleTouchMove,handleTouchEnd:o.handleTouchEnd,handleBubblePress:o.handleBubblePress,keyboardHeight:l}};var t=r(d[0])},1047,[1048,1089,36,1095,1104,1105,1107]);
@@ -1140,7 +1140,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
1140
1140
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.formatSeat=function(t){return`${t+1}\u53f7`}},1071,[]);
1141
1141
  __d(function(g,_r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.setTokenProvider=function(n){t=n},e.setRefreshHandler=function(t){n=t},e.setOnAuthExpired=function(t){r=t},e.getCurrentToken=function(){return t?.()??null},e.fetchWithRetry=c,e.cfPost=async function(t,n,r){return _r(d[1]).cfFetchLog.debug('POST',{path:t}),u({method:'POST',path:t,body:n?JSON.stringify(n):void 0,headers:Object.assign({'Content-Type':'application/json'},r?.extraHeaders),timeoutMs:r?.timeoutMs??_r(d[0]).API_TIMEOUT_MS,noRetry:r?.noRetry,skipAuthIntercept:r?.skipAuthIntercept})},e.cfGet=async function(t,n){return _r(d[1]).cfFetchLog.debug('GET',{path:t}),u({method:'GET',path:t,headers:{},timeoutMs:_r(d[0]).API_TIMEOUT_MS,skipAuthIntercept:n?.skipAuthIntercept})},e.cfPut=async function(t,n){return _r(d[1]).cfFetchLog.debug('PUT',{path:t}),u({method:'PUT',path:t,body:n?JSON.stringify(n):void 0,headers:{'Content-Type':'application/json'},timeoutMs:_r(d[0]).API_TIMEOUT_MS})},e.cfUpload=async function(t,n,r){return _r(d[1]).cfFetchLog.debug('UPLOAD',{path:t}),u({method:'POST',path:t,body:n,headers:{},timeoutMs:r??_r(d[0]).API_TIMEOUT_MS})};let t=null,n=null,r=null;let o=null;async function s(){return!!n&&(o||(o=n().finally(()=>{o=null}),o))}async function c(t,n){for(let r=0;r<=_r(d[0]).FETCH_RETRY_COUNT;r++)try{return await fetch(t,n)}catch(t){if(!(t instanceof TypeError))throw t;if(n?.signal?.aborted)throw t;if(r===_r(d[0]).FETCH_RETRY_COUNT)throw t;const o=_r(d[0]).FETCH_RETRY_BASE_MS*2**r;_r(d[1]).cfFetchLog.debug('fetch network error, retrying',{attempt:r+1,delay:o,error:t.message}),await new Promise(t=>setTimeout(t,o))}throw new Error('fetchWithRetry: unreachable')}async function u(o){const u=`${_r(d[0]).API_BASE_URL}${o.path}`,f=o.noRetry?fetch:c,p=t=>f(u,{method:o.method,headers:t,body:o.body,signal:AbortSignal.timeout(o.timeoutMs)}),T=Object.assign({},o.headers),y=t?.();y&&(T.Authorization=`Bearer ${y}`);const l=await p(T);if(401===l.status&&!o.skipAuthIntercept&&n){_r(d[1]).cfFetchLog.debug('401 received, attempting refresh',{path:o.path});if(await s()){const n=Object.assign({},o.headers),r=t?.();r&&(n.Authorization=`Bearer ${r}`);return h(await p(n),o.path)}r?.()}return h(l,o.path)}async function h(t,n){const r=t.headers.get('content-type')??'';if(!r.includes('application/json')){if(!t.ok)throw _r(d[1]).cfFetchLog.warn('HTTP error (non-JSON)',{status:t.status,statusText:t.statusText,path:n}),Object.assign(new Error(`\u670d\u52a1\u7aef\u9519\u8bef (${t.status})`),{status:t.status,reason:'SERVER_ERROR'});throw _r(d[1]).cfFetchLog.warn('Non-JSON 200 response',{path:n,status:t.status,contentType:r}),Object.assign(new Error('\u54cd\u5e94\u683c\u5f0f\u5f02\u5e38'),{reason:'SERVER_ERROR'})}const o=await t.json();if(!t.ok){const r=o;throw _r(d[1]).cfFetchLog.warn('HTTP error',{status:t.status,path:n,error:r.error,reason:r.reason}),Object.assign(new Error(r.error??r.reason??`HTTP ${t.status}`),{status:t.status,reason:r.reason??'SERVER_ERROR',body:r})}return o}},1072,[1070,1061]);
1142
1142
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"showErrorAlert",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"showDismissAlert",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"showConfirmAlert",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"showDestructiveAlert",{enumerable:!0,get:function(){return s}});const t=(t,n)=>(0,r(d[0]).showAlert)(t,n??'\u8bf7\u7a0d\u540e\u91cd\u8bd5'),n=(t,n,o)=>(0,r(d[0]).showAlert)(t,n,[o?Object.assign({},r(d[0]).DISMISS_BUTTON,{onPress:o}):r(d[0]).DISMISS_BUTTON]),o=(t,n,o,s)=>(0,r(d[0]).showAlert)(t,n,[s?.onCancel?Object.assign({},r(d[0]).CANCEL_BUTTON,{onPress:s.onCancel}):r(d[0]).CANCEL_BUTTON,s?.confirmText?{text:s.confirmText,onPress:o}:(0,r(d[0]).confirmButton)(o)]),s=(t,n,o,s)=>(0,r(d[0]).showAlert)(t,n,[r(d[0]).CANCEL_BUTTON,{text:o,style:'destructive',onPress:s}])},1073,[1074]);
1143
- __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"DISMISS_BUTTON",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"CANCEL_BUTTON",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"confirmButton",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"setAlertBlocked",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"setAlertListener",{enumerable:!0,get:function(){return i}}),Object.defineProperty(e,"showAlert",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"showPrompt",{enumerable:!0,get:function(){return f}});const t={text:'\u77e5\u9053\u4e86',style:'default'},n={text:'\u53d6\u6d88',style:'cancel'},o=t=>({text:'\u786e\u5b9a',onPress:t});let l=null,u=!1;const s=t=>{u=t,t&&l?.(null)},i=t=>{l=t},c=(t,n,o)=>{if(u)return!1;const s=o||[{text:'\u786e\u5b9a'}];if(l)return l({title:t,message:n,buttons:s}),!0;if(s.length<=1)window.alert(n?`${t}\n\n${n}`:t),s[0]?.onPress?.();else if(2===s.length){window.confirm(n?`${t}\n\n${n}\n\n\u70b9\u51fb"\u786e\u5b9a"\u9009\u62e9: ${s[1].text}\n\u70b9\u51fb"\u53d6\u6d88"\u9009\u62e9: ${s[0].text}`:`${t}\n\n\u70b9\u51fb"\u786e\u5b9a"\u9009\u62e9: ${s[1].text}\n\u70b9\u51fb"\u53d6\u6d88"\u9009\u62e9: ${s[0].text}`)?s[1]?.onPress?.():s[0]?.onPress?.()}else{const o=s.map((t,n)=>`${n+1}. ${t.text}`).join('\n'),l=window.prompt(n?`${t}\n\n${n}\n\n\u8bf7\u8f93\u5165\u9009\u9879\u7f16\u53f7:\n${o}`:`${t}\n\n\u8bf7\u8f93\u5165\u9009\u9879\u7f16\u53f7:\n${o}`,'1');if(null!==l){const t=parseInt(l,10)-1;t>=0&&t<s.length&&s[t]?.onPress?.()}}return!0},f=(t,n)=>{const{message:o,placeholder:s,defaultValue:i="",onConfirm:c}=n;if(u)return!1;if(l)return l({title:t,message:o,buttons:[{text:'\u53d6\u6d88',style:'cancel'},{text:'\u786e\u5b9a',onPress:t=>c(t??i)}],input:{placeholder:s,defaultValue:i}}),!0;{const n=window.prompt(o?`${t}\n\n${o}`:t,i);null!==n&&c(n)}return!0}},1074,[]);
1143
+ __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"DISMISS_BUTTON",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"CANCEL_BUTTON",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"confirmButton",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"setAlertBlocked",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"setAlertListener",{enumerable:!0,get:function(){return i}}),Object.defineProperty(e,"getAlertGeneration",{enumerable:!0,get:function(){return f}}),Object.defineProperty(e,"showAlert",{enumerable:!0,get:function(){return b}}),Object.defineProperty(e,"showPrompt",{enumerable:!0,get:function(){return p}});const t={text:'\u77e5\u9053\u4e86',style:'default'},n={text:'\u53d6\u6d88',style:'cancel'},o=t=>({text:'\u786e\u5b9a',onPress:t});let l=null,u=!1;const s=t=>{u=t,t&&l?.(null)},i=t=>{l=t};let c=0;const f=()=>c,b=(t,n,o)=>{if(u)return!1;c++;const s=o||[{text:'\u786e\u5b9a'}];if(l)return l({title:t,message:n,buttons:s}),!0;if(s.length<=1)window.alert(n?`${t}\n\n${n}`:t),s[0]?.onPress?.();else if(2===s.length){window.confirm(n?`${t}\n\n${n}\n\n\u70b9\u51fb"\u786e\u5b9a"\u9009\u62e9: ${s[1].text}\n\u70b9\u51fb"\u53d6\u6d88"\u9009\u62e9: ${s[0].text}`:`${t}\n\n\u70b9\u51fb"\u786e\u5b9a"\u9009\u62e9: ${s[1].text}\n\u70b9\u51fb"\u53d6\u6d88"\u9009\u62e9: ${s[0].text}`)?s[1]?.onPress?.():s[0]?.onPress?.()}else{const o=s.map((t,n)=>`${n+1}. ${t.text}`).join('\n'),l=window.prompt(n?`${t}\n\n${n}\n\n\u8bf7\u8f93\u5165\u9009\u9879\u7f16\u53f7:\n${o}`:`${t}\n\n\u8bf7\u8f93\u5165\u9009\u9879\u7f16\u53f7:\n${o}`,'1');if(null!==l){const t=parseInt(l,10)-1;t>=0&&t<s.length&&s[t]?.onPress?.()}}return!0},p=(t,n)=>{const{message:o,placeholder:s,defaultValue:i="",onConfirm:c}=n;if(u)return!1;if(l)return l({title:t,message:o,buttons:[{text:'\u53d6\u6d88',style:'cancel'},{text:'\u786e\u5b9a',onPress:t=>c(t??i)}],input:{placeholder:s,defaultValue:i}}),!0;{const n=window.prompt(o?`${t}\n\n${o}`:t,i);null!==n&&c(n)}return!0}},1074,[]);
1144
1144
  __d(function(g,r,i,a,m,e,d){"use strict";function t(t){const n=new Uint8Array(Math.ceil(t/2));return globalThis.crypto.getRandomValues(n),Array.from(n).map(t=>t.toString(16).padStart(2,'0')).join('').slice(0,t)}Object.defineProperty(e,'__esModule',{value:!0}),e.randomHex=t,e.newRequestId=function(){if('function'==typeof globalThis.crypto?.randomUUID)return globalThis.crypto.randomUUID();return`${Date.now()}-${t(12)}`}},1075,[]);
1145
1145
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildPlayerContext=function(o,t){if(!o)return{inRoom:!1};const l={inRoom:!0,roomCode:o.roomCode,status:o.status,totalPlayers:Object.values(o.players).filter(Boolean).length};o.templateRoles&&o.templateRoles.length>0&&(l.boardRoleDetails=o.templateRoles.map(o=>{const t=r(d[0]).ROLE_SPECS[o];return{name:t?.displayName||o,description:t?.description||'\u65e0\u63cf\u8ff0'}}));if(null!=t){l.mySeat=t;const s=o.players[t];if(s?.role){l.myRole=s.role;const o=r(d[0]).ROLE_SPECS[s.role];l.myRoleName=o?.displayName||s.role}}return l}},1076,[1077]);
1146
1146
  __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"buildNightPlan",{enumerable:!0,get:function(){return r(d[0]).buildNightPlan}}),Object.defineProperty(e,"getAllRoleIds",{enumerable:!0,get:function(){return r(d[0]).getAllRoleIds}}),Object.defineProperty(e,"getRoleDisplayAs",{enumerable:!0,get:function(){return r(d[0]).getRoleDisplayAs}}),Object.defineProperty(e,"getRoleEmoji",{enumerable:!0,get:function(){return r(d[0]).getRoleEmoji}}),Object.defineProperty(e,"getRoleSpec",{enumerable:!0,get:function(){return r(d[0]).getRoleSpec}}),Object.defineProperty(e,"getRoleStructuredDescription",{enumerable:!0,get:function(){return r(d[0]).getRoleStructuredDescription}}),Object.defineProperty(e,"isValidRoleId",{enumerable:!0,get:function(){return r(d[0]).isValidRoleId}}),Object.defineProperty(e,"ROLE_SPECS",{enumerable:!0,get:function(){return r(d[0]).ROLE_SPECS}}),Object.defineProperty(e,"Faction",{enumerable:!0,get:function(){return r(d[1]).Faction}}),Object.defineProperty(e,"Team",{enumerable:!0,get:function(){return r(d[1]).Team}}),e.getRoleDisplayName=function(n){if(!(0,r(d[0]).isValidRoleId)(n))return t.warn('Unknown roleId',{roleId:n}),'\u672a\u77e5\u89d2\u8272';const o=(0,r(d[0]).getRoleSpec)(n);return o?.displayName??'\u672a\u77e5\u89d2\u8272'},e.isWolfRole=function(t){if(!(0,r(d[0]).isValidRoleId)(t))return!1;const n=(0,r(d[0]).getRoleSpec)(t);return n?.team===r(d[1]).Team.Wolf},e.canRoleSeeWolves=function(t){if(!(0,r(d[0]).isValidRoleId)(t))return!1;const n=(0,r(d[0]).getRoleSpec)(t);return n.recognition?.canSeeWolves??!1},e.doesRoleParticipateInWolfVote=function(t){if(!(0,r(d[0]).isValidRoleId)(t))return!1;const n=(0,r(d[0]).getRoleSpec)(t);return n.recognition?.participatesInWolfVote??!1},e.getWolfKillImmuneRoleIds=function(){return(0,r(d[0]).getAllRoleIds)().filter(t=>{const n=r(d[0]).ROLE_SPECS[t];return!0===n.immunities?.some(t=>'wolfAttack'===t.kind)})};const t=(0,r(d[2]).getEngineLogger)().extend('Role')},1077,[1078,1082,1087]);
@@ -1204,96 +1204,96 @@ __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule'
1204
1204
  __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"BUILTIN_AVATAR_PREFIX",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AVATAR_KEYS",{enumerable:!0,get:function(){return r(d[0]).AVATAR_IDS}}),Object.defineProperty(e,"HAND_DRAWN_KEYS",{enumerable:!0,get:function(){return r(d[0]).HAND_DRAWN_AVATAR_IDS}}),Object.defineProperty(e,"AVATAR_IMAGES",{enumerable:!0,get:function(){return n}}),e.getAvatarThumbByIndex=function(t){return A[t]},e.getHandDrawnThumb=function(t){return r(d[2]).AVATAR_THUMB_MAP[t]},e.getHandDrawnImage=function(t){return r(d[2]).AVATAR_IMAGE_MAP[t]},e.isBuiltinAvatarUrl=function(n){return n.startsWith(t)},e.getBuiltinAvatarId=u,e.getBuiltinAvatarImage=function(t){const A=u(t),i=r(d[0]).HAND_DRAWN_AVATAR_IDS.indexOf(A);return-1===i?null:n[i]},e.makeBuiltinAvatarUrl=function(n){return`${t}${n}`};const t='builtin://',n=r(d[1]).HAND_DRAWN_AVATAR_IDS.map(t=>r(d[2]).AVATAR_IMAGE_MAP[t]),A=r(d[1]).HAND_DRAWN_AVATAR_IDS.map(t=>r(d[2]).AVATAR_THUMB_MAP[t]);function u(n){return n.slice(t.length)}},1125,[1126,1126,1127]);
1205
1205
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AVATAR_IDS",{enumerable:!0,get:function(){return l}}),Object.defineProperty(e,"LEGENDARY_FRAME_IDS",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"FRAME_IDS",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"SEAT_FLAIR_IDS",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"NAME_STYLE_IDS",{enumerable:!0,get:function(){return p}}),Object.defineProperty(e,"ROLE_REVEAL_EFFECT_IDS",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"SEAT_ANIMATION_IDS",{enumerable:!0,get:function(){return E}}),Object.defineProperty(e,"HAND_DRAWN_AVATAR_IDS",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"FREE_AVATAR_IDS",{enumerable:!0,get:function(){return h}}),Object.defineProperty(e,"FREE_FRAME_IDS",{enumerable:!0,get:function(){return b}}),Object.defineProperty(e,"FREE_FLAIR_IDS",{enumerable:!0,get:function(){return f}}),Object.defineProperty(e,"FREE_NAME_STYLE_IDS",{enumerable:!0,get:function(){return y}}),Object.defineProperty(e,"FREE_ROLE_REVEAL_EFFECT_IDS",{enumerable:!0,get:function(){return R}}),Object.defineProperty(e,"FREE_SEAT_ANIMATION_IDS",{enumerable:!0,get:function(){return C}}),e.getItemRarity=function(n){return v[n]??G[n]??P[n]??k[n]??w[n]??A[n]??'common'},Object.defineProperty(e,"REWARD_POOL",{enumerable:!0,get:function(){return S}}),Object.defineProperty(e,"FREE_ITEM_COUNT",{enumerable:!0,get:function(){return T}}),Object.defineProperty(e,"TOTAL_UNLOCKABLE_COUNT",{enumerable:!0,get:function(){return I}}),Object.defineProperty(e,"REWARD_POOL_BY_ID",{enumerable:!0,get:function(){return B}}),Object.defineProperty(e,"SHARD_COSTS",{enumerable:!0,get:function(){return O}});const n=['avenger','awakenedGargoyle','bloodMoon','crow','cursedFox','cupid','dancer','darkWolfKing','dreamcatcher','drunkSeer','eclipseWolfQueen','gargoyle','graveyardKeeper','guard','hunter','idiot','knight','magician','maskedMan','masquerade','mirrorSeer','nightmare','piper','poisoner','psychic','pureWhite','seer','sequencePrince','shadow','silenceElder','slacker','spiritKnight','thief','treasureMaster','villager','votebanElder','warden','wildChild','witch','witcher','wolf','wolfKing','wolfQueen','wolfRobot','wolfWitch'],t=['genR001','genR002','genR003','genR004','genR005','genR006','genR007','genR008','genR009','genR010','genR011','genR012','genR013','genR014','genR015','genR016','genR017','genR018','genR019','genR020','genR021','genR022','genR023','genR024','genR025','genR026','genR027','genR028','genR029','genR030','genR031','genR032','genR033','genR034','genR035','genR036','genR037','genR038','genR039','genR040','genR041','genR042','genR043','genR044','genR045','genR046','genR047','genR048','genR049','genR050'],l=[...n,'genC001','genC002','genC003','genC004','genC005','genC006','genC007','genC008','genC009','genC010','genC011','genC012','genC013','genC014','genC015','genC016','genC017','genC018','genC019','genC020','genC021','genC022','genC023','genC024','genC025','genC026','genC027','genC028','genC029','genC030','genC031','genC032','genC033','genC034','genC035','genC036','genC037','genC038','genC039','genC040','genC041','genC042','genC043','genC044','genC045','genC046','genC047','genC048','genC049','genC050','genC051','genC052','genC053','genC054','genC055','genC056','genC057','genC058','genC059','genC060','genC061','genC062','genC063','genC064','genC065','genC066','genC067','genC068','genC069','genC070','genC071','genC072','genC073','genC074','genC075','genC076','genC077','genC078','genC079','genC080','genC081','genC082','genC083','genC084','genC085','genC086','genC087','genC088','genC089','genC090','genC091','genC092','genC093','genC094','genC095','genC096','genC097','genC098','genC099','genC100',...t],o=new Set(['stormBolt','dragonScale','starNebula','shadowWeave','celestialRing','obsidianEdge','pharaohGold','voidRift','coralReef','darkVine','sakuraDrift']),c=['ironForge','moonSilver','bloodThorn','runicSeal','boneGate','hellFire','frostCrystal','jadeSeal','emberAsh','nightShade','sunForge','crystalVein','wolfFang','serpentScale','thornCrown','mysticRune','wildBriar','venomGlass','starForge','duskIron','spectralEdge','wraithBone','viperCoil','moonGate','stormWeave','sandStone','ravenWing','frostForge','goldLeaf','spiritBark','nightBloom','flameThorn','oceanDeep','thunderForge','witchMark','lionCrest','sirenCall','ashWood','crystalThorn','stormBolt','dragonScale','starNebula','shadowWeave','celestialRing','obsidianEdge','pharaohGold','voidRift','coralReef','darkVine','sakuraDrift','roundRed','roundOrange','roundAmber','roundGreen','roundTeal','roundBlue','roundIndigo','roundPurple','roundPink','roundGray','squareRed','squareOrange','squareAmber','squareGreen','squareTeal','squareBlue','squareIndigo','squarePurple','squarePink','squareGray','octagonRed','octagonOrange','octagonAmber','octagonGreen','octagonTeal','octagonBlue','octagonIndigo','octagonPurple','octagonPink','octagonGray','dashRed','dashOrange','dashAmber','dashGreen','dashTeal','dashBlue','dashIndigo','dashPurple','dashPink','dashGray','doubleRed','doubleOrange','doubleAmber','doubleGreen','doubleTeal','doubleBlue','doubleIndigo','doublePurple','doublePink','doubleGray','diamondRed','diamondOrange','diamondAmber','diamondGreen','diamondTeal','diamondBlue','diamondIndigo','diamondPurple','diamondPink','diamondGray','scallopRed','scallopOrange','scallopAmber','scallopGreen','scallopTeal','scallopBlue','scallopIndigo','scallopPurple','scallopPink','scallopGray','crossRed','crossOrange','crossAmber','crossGreen','crossTeal','crossBlue','crossIndigo','crossPurple','crossPink','crossGray','notchRed','notchOrange','notchAmber','notchGreen','notchTeal','notchBlue','notchIndigo','notchPurple','notchPink','notchGray','bevelRed','bevelOrange','bevelAmber','bevelGreen','bevelTeal','bevelBlue','bevelIndigo','bevelPurple','bevelPink','bevelGray','inlayRed','inlayOrange','inlayAmber','inlayGreen','inlayTeal','inlayBlue','inlayIndigo','inlayPurple','inlayPink','inlayGray','gemRed','gemOrange','gemAmber','gemGreen','gemTeal','gemBlue','gemIndigo','gemPurple','gemPink','gemGray','filigreeRed','filigreeOrange','filigreeAmber','filigreeGreen','filigreeTeal','filigreeBlue','filigreeIndigo','filigreePurple','filigreePink','filigreeGray','chainRed','chainOrange','chainAmber','chainGreen','chainTeal','chainBlue','chainIndigo','chainPurple','chainPink','chainGray','grooveRed','grooveOrange','grooveAmber','grooveGreen','grooveTeal','grooveBlue','grooveIndigo','groovePurple','groovePink','grooveGray'],s=['emberGlow','frostAura','shadowMist','goldenShine','bloodMark','starlight','thunderBolt','sakura','lunarHalo','sonicWave','iceCrystal','phoenixFeather','ghostWisp','poisonBubble','windGust','snowfall','goldSpark','purpleMist','lightPillar','rainDrop','flowerBloom','firefly','forestLeaf','crystalShard','moonBeam','darkSmoke','solarFlare','nightGlow','oceanWave','thornVine','mistVeil','lavaBurst','starDust','arcticWind','thunderClap','sandStormFlair','venomDrip','auraBurst','dawnLight','eclipseRing','blazeTrail','coralGlow','willowWisp','jadeMist','obsidianPulse','amberDrop','silverStream','tidePool','mirageHeat','petalDance','stormSurge','ashCloud','lunarFrost','runeCircle','prismShard','fireRing','cometTail','magmaFloat','butterfly','shadowClaw','pulseRed','pulseOrange','pulseAmber','pulseGreen','pulseTeal','pulseBlue','pulseIndigo','pulsePurple','pulsePink','pulseGray','glowRed','glowOrange','glowAmber','glowGreen','glowTeal','glowBlue','glowIndigo','glowPurple','glowPink','glowGray','sparkleRed','sparkleOrange','sparkleAmber','sparkleGreen','sparkleTeal','sparkleBlue','sparkleIndigo','sparklePurple','sparklePink','sparkleGray','breatheRed','breatheOrange','breatheAmber','breatheGreen','breatheTeal','breatheBlue','breatheIndigo','breathePurple','breathePink','breatheGray','floatRed','floatOrange','floatAmber','floatGreen','floatTeal','floatBlue','floatIndigo','floatPurple','floatPink','floatGray','rippleRed','rippleOrange','rippleAmber','rippleGreen','rippleTeal','rippleBlue','rippleIndigo','ripplePurple','ripplePink','rippleGray','orbitRed','orbitOrange','orbitAmber','orbitGreen','orbitTeal','orbitBlue','orbitIndigo','orbitPurple','orbitPink','orbitGray','flickerRed','flickerOrange','flickerAmber','flickerGreen','flickerTeal','flickerBlue','flickerIndigo','flickerPurple','flickerPink','flickerGray','driftRed','driftOrange','driftAmber','driftGreen','driftTeal','driftBlue','driftIndigo','driftPurple','driftPink','driftGray','waveRed','waveOrange','waveAmber','waveGreen','waveTeal','waveBlue','waveIndigo','wavePurple','wavePink','waveGray','cascadeRed','cascadeOrange','cascadeAmber','cascadeGreen','cascadeTeal','cascadeBlue','cascadeIndigo','cascadePurple','cascadePink','cascadeGray','vortexRed','vortexOrange','vortexAmber','vortexGreen','vortexTeal','vortexBlue','vortexIndigo','vortexPurple','vortexPink','vortexGray','constellationRed','constellationOrange','constellationAmber','constellationGreen','constellationTeal','constellationBlue','constellationIndigo','constellationPurple','constellationPink','constellationGray','auroraRed','auroraOrange','auroraAmber','auroraGreen','auroraTeal','auroraBlue','auroraIndigo','auroraPurple','auroraPink','auroraGray','fireflyRed','fireflyOrange','fireflyAmber','fireflyGreen','fireflyTeal','fireflyBlue','fireflyIndigo','fireflyPurple','fireflyPink','fireflyGray'],p=['silverGleam','copperEmber','bloodMoonGlow','jadeShimmer','amethystGlow','indigoRadiance','twilightGradient','roseGold','frostVeil','amberFlare','moltenGoldPulse','frostBreath','venomShift','shadowPulse','crimsonTide','stormElectric','obsidianFlame','sapphireGlow','emeraldMist','rubyShimmer','topazRadiance','onyxPulse','opalBreeze','garnetFlare','turquoiseTide','pearlLuster','bronzeBlaze','ivoryFrost','platinumSheen','coralSunrise','lavenderDusk','cinnabarGlow','cobaltStorm','malachiteShift','tanzaniteDream','citrineWarm','moonlitSilver','sunsetEmber','auroraBoreal','midnightVelvet','desertGold','arcticCrystal','volcanicAsh','oceanBreeze','thunderGold','forestDew','phoenixRebirth','voidStar','dragonBreath','celestialDawn','plainCrimson','plainCoral','plainAmber','plainEmerald','plainTeal','plainAzure','plainIndigo','plainViolet','plainRose','plainSlate','softCrimson','softCoral','softAmber','softEmerald','softTeal','softAzure','softIndigo','softViolet','softRose','softSlate','mutedCrimson','mutedCoral','mutedAmber','mutedEmerald','mutedTeal','mutedAzure','mutedIndigo','mutedViolet','mutedRose','mutedSlate','warmCrimson','warmCoral','warmAmber','warmEmerald','warmTeal','warmAzure','warmIndigo','warmViolet','warmRose','warmSlate','coolCrimson','coolCoral','coolAmber','coolEmerald','coolTeal','coolAzure','coolIndigo','coolViolet','coolRose','coolSlate','lightCrimson','lightCoral','lightAmber','lightEmerald','lightTeal','lightAzure','lightIndigo','lightViolet','lightRose','lightSlate','dustyCrimson','dustyCoral','dustyAmber','dustyEmerald','dustyTeal','dustyAzure','dustyIndigo','dustyViolet','dustyRose','dustySlate','fadedCrimson','fadedCoral','fadedAmber','fadedEmerald','fadedTeal','fadedAzure','fadedIndigo','fadedViolet','fadedRose','fadedSlate','paleCrimson','paleCoral','paleAmber','paleEmerald','paleTeal','paleAzure','paleIndigo','paleViolet','paleRose','paleSlate','hazyCrimson','hazyCoral','hazyAmber','hazyEmerald','hazyTeal','hazyAzure','hazyIndigo','hazyViolet','hazyRose','hazySlate','shimmerCrimson','shimmerCoral','shimmerAmber','shimmerEmerald','shimmerTeal','shimmerAzure','shimmerIndigo','shimmerViolet','shimmerRose','shimmerSlate','radiantCrimson','radiantCoral','radiantAmber','radiantEmerald','radiantTeal','radiantAzure','radiantIndigo','radiantViolet','radiantRose','radiantSlate','brightCrimson','brightCoral','brightAmber','brightEmerald','brightTeal','brightAzure','brightIndigo','brightViolet','brightRose','brightSlate','vividCrimson','vividCoral','vividAmber','vividEmerald','vividTeal','vividAzure','vividIndigo','vividViolet','vividRose','vividSlate','lustrousCrimson','lustrousCoral','lustrousAmber','lustrousEmerald','lustrousTeal','lustrousAzure','lustrousIndigo','lustrousViolet','lustrousRose','lustrousSlate'],u=['roulette','roleHunt','scratch','tarot','gachaMachine','cardPick','sealBreak','chainShatter','fortuneWheel','meteorStrike','filmRewind','vortexCollapse'],E=['wolfClawEnter','moonriseEnter','bloodMistEnter','fireRebirthEnter','frostShatterEnter','shadowVortexEnter','runeActivateEnter','chainBreakEnter','poisonDripEnter','mirageFadeEnter','thunderStrikeEnter','crystalFormEnter','darkPortalEnter','phoenixAshEnter','ghostPhaseEnter','vineGrowEnter','starfallEnter','sandstormEnter','oceanSurgeEnter','lavaCrackEnter','prismRefractEnter','batSwarmEnter','clockworkEnter','inkSplashEnter','mirrorCrackEnter','gravityWellEnter','sonicBoomEnter','petalStormEnter','shadowStepEnter','emberTrailEnter','auroraWaveEnter','voidTearEnter','serpentCoilEnter','stormEyeEnter','duskFadeEnter','mysticSealEnter','witchFireEnter','crowFlockEnter','tombRiseEnter','spiritChainEnter','wolfKingEntry','witchBrew','seerVision','hunterShot','guardShield','nightFall','dawnBreak','bloodMoonRise','spiritSummon','cardReveal','fadeRedEnter','fadeOrangeEnter','fadeAmberEnter','fadeGreenEnter','fadeTealEnter','fadeBlueEnter','fadeIndigoEnter','fadePurpleEnter','fadePinkEnter','fadeGrayEnter','slideUpRedEnter','slideUpOrangeEnter','slideUpAmberEnter','slideUpGreenEnter','slideUpTealEnter','slideUpBlueEnter','slideUpIndigoEnter','slideUpPurpleEnter','slideUpPinkEnter','slideUpGrayEnter','slideDownRedEnter','slideDownOrangeEnter','slideDownAmberEnter','slideDownGreenEnter','slideDownTealEnter','slideDownBlueEnter','slideDownIndigoEnter','slideDownPurpleEnter','slideDownPinkEnter','slideDownGrayEnter','zoomInRedEnter','zoomInOrangeEnter','zoomInAmberEnter','zoomInGreenEnter','zoomInTealEnter','zoomInBlueEnter','zoomInIndigoEnter','zoomInPurpleEnter','zoomInPinkEnter','zoomInGrayEnter','zoomOutRedEnter','zoomOutOrangeEnter','zoomOutAmberEnter','zoomOutGreenEnter','zoomOutTealEnter','zoomOutBlueEnter','zoomOutIndigoEnter','zoomOutPurpleEnter','zoomOutPinkEnter','zoomOutGrayEnter','spinRedEnter','spinOrangeEnter','spinAmberEnter','spinGreenEnter','spinTealEnter','spinBlueEnter','spinIndigoEnter','spinPurpleEnter','spinPinkEnter','spinGrayEnter','bounceRedEnter','bounceOrangeEnter','bounceAmberEnter','bounceGreenEnter','bounceTealEnter','bounceBlueEnter','bounceIndigoEnter','bouncePurpleEnter','bouncePinkEnter','bounceGrayEnter','flipRedEnter','flipOrangeEnter','flipAmberEnter','flipGreenEnter','flipTealEnter','flipBlueEnter','flipIndigoEnter','flipPurpleEnter','flipPinkEnter','flipGrayEnter','blurRedEnter','blurOrangeEnter','blurAmberEnter','blurGreenEnter','blurTealEnter','blurBlueEnter','blurIndigoEnter','blurPurpleEnter','blurPinkEnter','blurGrayEnter','popRedEnter','popOrangeEnter','popAmberEnter','popGreenEnter','popTealEnter','popBlueEnter','popIndigoEnter','popPurpleEnter','popPinkEnter','popGrayEnter','spiralRedEnter','spiralOrangeEnter','spiralAmberEnter','spiralGreenEnter','spiralTealEnter','spiralBlueEnter','spiralIndigoEnter','spiralPurpleEnter','spiralPinkEnter','spiralGrayEnter','shatterRedEnter','shatterOrangeEnter','shatterAmberEnter','shatterGreenEnter','shatterTealEnter','shatterBlueEnter','shatterIndigoEnter','shatterPurpleEnter','shatterPinkEnter','shatterGrayEnter','portalRedEnter','portalOrangeEnter','portalAmberEnter','portalGreenEnter','portalTealEnter','portalBlueEnter','portalIndigoEnter','portalPurpleEnter','portalPinkEnter','portalGrayEnter','lightningRedEnter','lightningOrangeEnter','lightningAmberEnter','lightningGreenEnter','lightningTealEnter','lightningBlueEnter','lightningIndigoEnter','lightningPurpleEnter','lightningPinkEnter','lightningGrayEnter','bloomRedEnter','bloomOrangeEnter','bloomAmberEnter','bloomGreenEnter','bloomTealEnter','bloomBlueEnter','bloomIndigoEnter','bloomPurpleEnter','bloomPinkEnter','bloomGrayEnter'],h=new Set,b=new Set,f=new Set,y=new Set,R=new Set,C=new Set,v=Object.assign({darkWolfKing:'legendary',nightmare:'legendary',masquerade:'legendary',wolfKing:'legendary',wolfQueen:'legendary',bloodMoon:'legendary',spiritKnight:'legendary',awakenedGargoyle:'legendary',eclipseWolfQueen:'legendary',witch:'legendary',seer:'legendary',hunter:'epic',guard:'epic',knight:'epic',magician:'epic',piper:'epic',poisoner:'epic',gargoyle:'epic',dreamcatcher:'epic',avenger:'epic',mirrorSeer:'epic',psychic:'epic',cursedFox:'epic',sequencePrince:'epic',witcher:'epic',wolfWitch:'epic',crow:'epic',cupid:'epic',dancer:'epic',drunkSeer:'epic',graveyardKeeper:'epic',idiot:'epic',maskedMan:'epic',pureWhite:'epic',shadow:'epic',silenceElder:'epic',slacker:'epic',thief:'epic',treasureMaster:'epic',villager:'epic',votebanElder:'epic',warden:'epic',wildChild:'epic',wolf:'epic',wolfRobot:'epic'},Object.fromEntries(t.map(n=>[n,'rare']))),G={starNebula:'legendary',celestialRing:'legendary',dragonScale:'legendary',stormBolt:'legendary',shadowWeave:'legendary',obsidianEdge:'legendary',pharaohGold:'legendary',voidRift:'legendary',coralReef:'legendary',darkVine:'legendary',sakuraDrift:'legendary',ironForge:'epic',moonSilver:'epic',bloodThorn:'epic',runicSeal:'epic',boneGate:'epic',frostCrystal:'epic',emberAsh:'epic',jadeSeal:'epic',hellFire:'epic',nightShade:'epic',sunForge:'epic',crystalVein:'epic',wolfFang:'epic',serpentScale:'epic',thornCrown:'epic',mysticRune:'epic',wildBriar:'epic',venomGlass:'epic',starForge:'epic',duskIron:'epic',spectralEdge:'epic',wraithBone:'epic',viperCoil:'epic',moonGate:'epic',stormWeave:'epic',sandStone:'epic',ravenWing:'epic',frostForge:'epic',goldLeaf:'epic',spiritBark:'epic',nightBloom:'epic',flameThorn:'epic',oceanDeep:'epic',thunderForge:'epic',witchMark:'epic',lionCrest:'epic',sirenCall:'epic',ashWood:'epic',crystalThorn:'epic',inlayRed:'rare',inlayOrange:'rare',inlayAmber:'rare',inlayGreen:'rare',inlayTeal:'rare',inlayBlue:'rare',inlayIndigo:'rare',inlayPurple:'rare',inlayPink:'rare',inlayGray:'rare',gemRed:'rare',gemOrange:'rare',gemAmber:'rare',gemGreen:'rare',gemTeal:'rare',gemBlue:'rare',gemIndigo:'rare',gemPurple:'rare',gemPink:'rare',gemGray:'rare',filigreeRed:'rare',filigreeOrange:'rare',filigreeAmber:'rare',filigreeGreen:'rare',filigreeTeal:'rare',filigreeBlue:'rare',filigreeIndigo:'rare',filigreePurple:'rare',filigreePink:'rare',filigreeGray:'rare',chainRed:'rare',chainOrange:'rare',chainAmber:'rare',chainGreen:'rare',chainTeal:'rare',chainBlue:'rare',chainIndigo:'rare',chainPurple:'rare',chainPink:'rare',chainGray:'rare',grooveRed:'rare',grooveOrange:'rare',grooveAmber:'rare',grooveGreen:'rare',grooveTeal:'rare',grooveBlue:'rare',grooveIndigo:'rare',groovePurple:'rare',groovePink:'rare',grooveGray:'rare'},P={runeCircle:'legendary',prismShard:'legendary',fireRing:'legendary',cometTail:'legendary',magmaFloat:'legendary',butterfly:'legendary',shadowClaw:'legendary',emberGlow:'epic',frostAura:'epic',shadowMist:'epic',goldenShine:'epic',bloodMark:'epic',starlight:'epic',thunderBolt:'epic',sakura:'epic',lunarHalo:'epic',sonicWave:'epic',iceCrystal:'epic',phoenixFeather:'epic',ghostWisp:'epic',poisonBubble:'epic',windGust:'epic',snowfall:'epic',goldSpark:'epic',purpleMist:'epic',lightPillar:'epic',rainDrop:'epic',flowerBloom:'epic',firefly:'epic',forestLeaf:'epic',crystalShard:'epic',moonBeam:'epic',darkSmoke:'epic',solarFlare:'epic',nightGlow:'epic',oceanWave:'epic',thornVine:'epic',mistVeil:'epic',lavaBurst:'epic',starDust:'epic',arcticWind:'epic',thunderClap:'epic',sandStormFlair:'epic',venomDrip:'epic',auraBurst:'epic',dawnLight:'epic',eclipseRing:'epic',blazeTrail:'epic',coralGlow:'epic',willowWisp:'epic',jadeMist:'epic',obsidianPulse:'epic',amberDrop:'epic',silverStream:'epic',tidePool:'epic',mirageHeat:'epic',petalDance:'epic',stormSurge:'epic',ashCloud:'epic',lunarFrost:'epic',cascadeRed:'rare',cascadeOrange:'rare',cascadeAmber:'rare',cascadeGreen:'rare',cascadeTeal:'rare',cascadeBlue:'rare',cascadeIndigo:'rare',cascadePurple:'rare',cascadePink:'rare',cascadeGray:'rare',vortexRed:'rare',vortexOrange:'rare',vortexAmber:'rare',vortexGreen:'rare',vortexTeal:'rare',vortexBlue:'rare',vortexIndigo:'rare',vortexPurple:'rare',vortexPink:'rare',vortexGray:'rare',constellationRed:'rare',constellationOrange:'rare',constellationAmber:'rare',constellationGreen:'rare',constellationTeal:'rare',constellationBlue:'rare',constellationIndigo:'rare',constellationPurple:'rare',constellationPink:'rare',constellationGray:'rare',auroraRed:'rare',auroraOrange:'rare',auroraAmber:'rare',auroraGreen:'rare',auroraTeal:'rare',auroraBlue:'rare',auroraIndigo:'rare',auroraPurple:'rare',auroraPink:'rare',auroraGray:'rare',fireflyRed:'rare',fireflyOrange:'rare',fireflyAmber:'rare',fireflyGreen:'rare',fireflyTeal:'rare',fireflyBlue:'rare',fireflyIndigo:'rare',fireflyPurple:'rare',fireflyPink:'rare',fireflyGray:'rare'},w={roleHunt:'legendary',sealBreak:'legendary',chainShatter:'legendary',tarot:'legendary',fortuneWheel:'legendary',scratch:'legendary',roulette:'epic',vortexCollapse:'epic',gachaMachine:'epic',meteorStrike:'epic',filmRewind:'epic',cardPick:'epic'},k={celestialDawn:'legendary',voidStar:'legendary',phoenixRebirth:'legendary',dragonBreath:'legendary',silverGleam:'epic',copperEmber:'epic',bloodMoonGlow:'epic',jadeShimmer:'epic',amethystGlow:'epic',indigoRadiance:'epic',twilightGradient:'epic',roseGold:'epic',frostVeil:'epic',amberFlare:'epic',stormElectric:'epic',moltenGoldPulse:'epic',frostBreath:'epic',venomShift:'epic',shadowPulse:'epic',crimsonTide:'epic',obsidianFlame:'epic',sapphireGlow:'epic',emeraldMist:'epic',rubyShimmer:'epic',topazRadiance:'epic',onyxPulse:'epic',opalBreeze:'epic',garnetFlare:'epic',turquoiseTide:'epic',pearlLuster:'epic',bronzeBlaze:'epic',ivoryFrost:'epic',platinumSheen:'epic',coralSunrise:'epic',lavenderDusk:'epic',cinnabarGlow:'epic',cobaltStorm:'epic',malachiteShift:'epic',tanzaniteDream:'epic',citrineWarm:'epic',moonlitSilver:'epic',sunsetEmber:'epic',auroraBoreal:'epic',midnightVelvet:'epic',desertGold:'epic',arcticCrystal:'epic',volcanicAsh:'epic',oceanBreeze:'epic',thunderGold:'epic',forestDew:'epic',shimmerCrimson:'rare',shimmerCoral:'rare',shimmerAmber:'rare',shimmerEmerald:'rare',shimmerTeal:'rare',shimmerAzure:'rare',shimmerIndigo:'rare',shimmerViolet:'rare',shimmerRose:'rare',shimmerSlate:'rare',radiantCrimson:'rare',radiantCoral:'rare',radiantAmber:'rare',radiantEmerald:'rare',radiantTeal:'rare',radiantAzure:'rare',radiantIndigo:'rare',radiantViolet:'rare',radiantRose:'rare',radiantSlate:'rare',brightCrimson:'rare',brightCoral:'rare',brightAmber:'rare',brightEmerald:'rare',brightTeal:'rare',brightAzure:'rare',brightIndigo:'rare',brightViolet:'rare',brightRose:'rare',brightSlate:'rare',vividCrimson:'rare',vividCoral:'rare',vividAmber:'rare',vividEmerald:'rare',vividTeal:'rare',vividAzure:'rare',vividIndigo:'rare',vividViolet:'rare',vividRose:'rare',vividSlate:'rare',lustrousCrimson:'rare',lustrousCoral:'rare',lustrousAmber:'rare',lustrousEmerald:'rare',lustrousTeal:'rare',lustrousAzure:'rare',lustrousIndigo:'rare',lustrousViolet:'rare',lustrousRose:'rare',lustrousSlate:'rare'},A={wolfKingEntry:'legendary',witchBrew:'legendary',seerVision:'legendary',hunterShot:'legendary',guardShield:'legendary',nightFall:'legendary',dawnBreak:'legendary',bloodMoonRise:'legendary',spiritSummon:'legendary',cardReveal:'legendary',wolfClawEnter:'epic',moonriseEnter:'epic',bloodMistEnter:'epic',fireRebirthEnter:'epic',frostShatterEnter:'epic',shadowVortexEnter:'epic',runeActivateEnter:'epic',chainBreakEnter:'epic',poisonDripEnter:'epic',mirageFadeEnter:'epic',thunderStrikeEnter:'epic',crystalFormEnter:'epic',darkPortalEnter:'epic',phoenixAshEnter:'epic',ghostPhaseEnter:'epic',vineGrowEnter:'epic',starfallEnter:'epic',sandstormEnter:'epic',oceanSurgeEnter:'epic',lavaCrackEnter:'epic',prismRefractEnter:'epic',batSwarmEnter:'epic',clockworkEnter:'epic',inkSplashEnter:'epic',mirrorCrackEnter:'epic',gravityWellEnter:'epic',sonicBoomEnter:'epic',petalStormEnter:'epic',shadowStepEnter:'epic',emberTrailEnter:'epic',auroraWaveEnter:'epic',voidTearEnter:'epic',serpentCoilEnter:'epic',stormEyeEnter:'epic',duskFadeEnter:'epic',mysticSealEnter:'epic',witchFireEnter:'epic',crowFlockEnter:'epic',tombRiseEnter:'epic',spiritChainEnter:'epic',spiralRedEnter:'rare',spiralOrangeEnter:'rare',spiralAmberEnter:'rare',spiralGreenEnter:'rare',spiralTealEnter:'rare',spiralBlueEnter:'rare',spiralIndigoEnter:'rare',spiralPurpleEnter:'rare',spiralPinkEnter:'rare',spiralGrayEnter:'rare',shatterRedEnter:'rare',shatterOrangeEnter:'rare',shatterAmberEnter:'rare',shatterGreenEnter:'rare',shatterTealEnter:'rare',shatterBlueEnter:'rare',shatterIndigoEnter:'rare',shatterPurpleEnter:'rare',shatterPinkEnter:'rare',shatterGrayEnter:'rare',portalRedEnter:'rare',portalOrangeEnter:'rare',portalAmberEnter:'rare',portalGreenEnter:'rare',portalTealEnter:'rare',portalBlueEnter:'rare',portalIndigoEnter:'rare',portalPurpleEnter:'rare',portalPinkEnter:'rare',portalGrayEnter:'rare',lightningRedEnter:'rare',lightningOrangeEnter:'rare',lightningAmberEnter:'rare',lightningGreenEnter:'rare',lightningTealEnter:'rare',lightningBlueEnter:'rare',lightningIndigoEnter:'rare',lightningPurpleEnter:'rare',lightningPinkEnter:'rare',lightningGrayEnter:'rare',bloomRedEnter:'rare',bloomOrangeEnter:'rare',bloomAmberEnter:'rare',bloomGreenEnter:'rare',bloomTealEnter:'rare',bloomBlueEnter:'rare',bloomIndigoEnter:'rare',bloomPurpleEnter:'rare',bloomPinkEnter:'rare',bloomGrayEnter:'rare'};const S=[...l.filter(n=>!h.has(n)).map(n=>({type:'avatar',id:n,rarity:v[n]??'common'})),...c.filter(n=>!b.has(n)).map(n=>({type:'frame',id:n,rarity:G[n]??'common'})),...s.filter(n=>!f.has(n)).map(n=>({type:'seatFlair',id:n,rarity:P[n]??'common'})),...p.filter(n=>!y.has(n)).map(n=>({type:'nameStyle',id:n,rarity:k[n]??'common'})),...u.filter(n=>!R.has(n)).map(n=>({type:'roleRevealEffect',id:n,rarity:w[n]??'legendary'})),...E.filter(n=>!C.has(n)).map(n=>({type:'seatAnimation',id:n,rarity:A[n]??'common'}))],T=h.size+b.size+f.size+y.size+R.size+C.size,I=S.length+T,B=new Map(S.map(n=>[n.id,n])),O={common:30,rare:90,epic:300,legendary:1200}},1126,[]);
1206
1206
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AVATAR_IMAGE_MAP",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(_e,"AVATAR_THUMB_MAP",{enumerable:!0,get:function(){return ze}});var t=e(r(d[0])),l=e(r(d[1])),u=e(r(d[2])),f=e(r(d[3])),n=e(r(d[4])),o=e(r(d[5])),c=e(r(d[6])),s=e(r(d[7])),h=e(r(d[8])),w=e(r(d[9])),p=e(r(d[10])),k=e(r(d[11])),M=e(r(d[12])),b=e(r(d[13])),y=e(r(d[14])),v=e(r(d[15])),_=e(r(d[16])),A=e(r(d[17])),K=e(r(d[18])),W=e(r(d[19])),P=e(r(d[20])),E=e(r(d[21])),q=e(r(d[22])),Q=e(r(d[23])),R=e(r(d[24])),S=e(r(d[25])),j=e(r(d[26])),G=e(r(d[27])),O=e(r(d[28])),T=e(r(d[29])),x=e(r(d[30])),C=e(r(d[31])),F=e(r(d[32])),V=e(r(d[33])),B=e(r(d[34])),H=e(r(d[35])),I=e(r(d[36])),U=e(r(d[37])),z=e(r(d[38])),D=e(r(d[39])),J=e(r(d[40])),L=e(r(d[41])),N=e(r(d[42])),X=e(r(d[43])),Y=e(r(d[44])),Z=e(r(d[45])),$=e(r(d[46])),ee=e(r(d[47])),ae=e(r(d[48])),te=e(r(d[49])),de=e(r(d[50])),le=e(r(d[51])),ue=e(r(d[52])),fe=e(r(d[53])),re=e(r(d[54])),ie=e(r(d[55])),ne=e(r(d[56])),oe=e(r(d[57])),ce=e(r(d[58])),se=e(r(d[59])),ge=e(r(d[60])),he=e(r(d[61])),we=e(r(d[62])),pe=e(r(d[63])),me=e(r(d[64])),ke=e(r(d[65])),Me=e(r(d[66])),be=e(r(d[67])),ye=e(r(d[68])),ve=e(r(d[69])),Ae=e(r(d[70])),Ke=e(r(d[71])),We=e(r(d[72])),Pe=e(r(d[73])),Ee=e(r(d[74])),qe=e(r(d[75])),Qe=e(r(d[76])),Re=e(r(d[77])),Se=e(r(d[78])),je=e(r(d[79])),Ge=e(r(d[80])),Oe=e(r(d[81])),Te=e(r(d[82])),xe=e(r(d[83])),Ce=e(r(d[84])),Fe=e(r(d[85])),Ve=e(r(d[86])),Be=e(r(d[87])),He=e(r(d[88])),Ie=e(r(d[89]));const Ue={avenger:t.default,awakenedGargoyle:l.default,bloodMoon:u.default,crow:f.default,cursedFox:o.default,cupid:n.default,dancer:c.default,darkWolfKing:s.default,dreamcatcher:h.default,drunkSeer:w.default,eclipseWolfQueen:p.default,gargoyle:k.default,graveyardKeeper:M.default,guard:b.default,hunter:y.default,idiot:v.default,knight:_.default,magician:A.default,maskedMan:K.default,masquerade:W.default,mirrorSeer:P.default,nightmare:E.default,piper:q.default,poisoner:Q.default,psychic:R.default,pureWhite:S.default,seer:j.default,sequencePrince:G.default,shadow:O.default,silenceElder:T.default,slacker:x.default,spiritKnight:C.default,thief:F.default,treasureMaster:V.default,villager:B.default,votebanElder:H.default,warden:I.default,wildChild:U.default,witch:z.default,witcher:D.default,wolf:J.default,wolfKing:L.default,wolfQueen:N.default,wolfRobot:X.default,wolfWitch:Y.default},ze={avenger:Z.default,awakenedGargoyle:$.default,bloodMoon:ee.default,crow:ae.default,cursedFox:de.default,cupid:te.default,dancer:le.default,darkWolfKing:ue.default,dreamcatcher:fe.default,drunkSeer:re.default,eclipseWolfQueen:ie.default,gargoyle:ne.default,graveyardKeeper:oe.default,guard:ce.default,hunter:se.default,idiot:ge.default,knight:he.default,magician:we.default,maskedMan:pe.default,masquerade:me.default,mirrorSeer:ke.default,nightmare:Me.default,piper:be.default,poisoner:ye.default,psychic:ve.default,pureWhite:Ae.default,seer:Ke.default,sequencePrince:We.default,shadow:Pe.default,silenceElder:Ee.default,slacker:qe.default,spiritKnight:Qe.default,thief:Re.default,treasureMaster:Se.default,villager:je.default,votebanElder:Ge.default,warden:Oe.default,wildChild:Te.default,witch:xe.default,witcher:Ce.default,wolf:Fe.default,wolfKing:Ve.default,wolfQueen:Be.default,wolfRobot:He.default,wolfWitch:Ie.default}},1127,[1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217]);
1207
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/avenger.09e69ad1178046d465363272ed855077.webp",width:512,height:512,toString(){return this.uri}}},1128,[]);
1208
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/awakenedGargoyle.b2d0a49bcee1b0c02d95bdc941077e0a.webp",width:512,height:512,toString(){return this.uri}}},1129,[]);
1209
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/bloodMoon.77cd6f299bf0f2008640f13900903c65.webp",width:512,height:512,toString(){return this.uri}}},1130,[]);
1210
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/crow.9b9febd7b6f5927813aee5567d5251e6.webp",width:512,height:512,toString(){return this.uri}}},1131,[]);
1211
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/cupid.80e5baac186297b6104ce00dece2f137.webp",width:512,height:512,toString(){return this.uri}}},1132,[]);
1212
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/cursedFox.31ff50657737cf2718a04594061d6c60.webp",width:512,height:512,toString(){return this.uri}}},1133,[]);
1213
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/dancer.0828d7f4b74a0668b6af2bc1ad282437.webp",width:512,height:512,toString(){return this.uri}}},1134,[]);
1214
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/darkWolfKing.2b36af105466e13c03c33233eaa27641.webp",width:512,height:512,toString(){return this.uri}}},1135,[]);
1215
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/dreamcatcher.c4ad8a1aafa6b1a2f2520cc915e9f59a.webp",width:512,height:512,toString(){return this.uri}}},1136,[]);
1216
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/drunkSeer.3565b36c0bdb48743a34045d9a6fc1c6.webp",width:512,height:512,toString(){return this.uri}}},1137,[]);
1217
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/eclipseWolfQueen.3a00e892b9ae6f84d90a7b8c30ea080b.webp",width:512,height:512,toString(){return this.uri}}},1138,[]);
1218
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/gargoyle.ba73f1f69cf62305fcbb3d3fc864319d.webp",width:512,height:512,toString(){return this.uri}}},1139,[]);
1219
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/graveyardKeeper.3593617e1e291e66491adacc5845aa18.webp",width:512,height:512,toString(){return this.uri}}},1140,[]);
1220
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/guard.096273d8bf2a6333ccecf13e468d80c5.webp",width:512,height:512,toString(){return this.uri}}},1141,[]);
1221
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/hunter.ae4081df7a762aaa4b4826f3a55f00ef.webp",width:512,height:512,toString(){return this.uri}}},1142,[]);
1222
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/idiot.634dde5f212b4e9c273e58131efc5f8e.webp",width:512,height:512,toString(){return this.uri}}},1143,[]);
1223
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/knight.3f7ddbe23b24b301fc4eca4536378236.webp",width:512,height:512,toString(){return this.uri}}},1144,[]);
1224
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/magician.09d3cafe30259c1ab76aed2135b9d329.webp",width:512,height:512,toString(){return this.uri}}},1145,[]);
1225
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/maskedMan.da646b941bccb412af9c86e40d19e664.webp",width:512,height:512,toString(){return this.uri}}},1146,[]);
1226
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/masquerade.6550c85348530b916ae5ac8c63bf054c.webp",width:512,height:512,toString(){return this.uri}}},1147,[]);
1227
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/mirrorSeer.8f3619195895eb8347bb22b00ca0aaa3.webp",width:512,height:512,toString(){return this.uri}}},1148,[]);
1228
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/nightmare.d51a5a379b15b0d3f15d2a3afd9f2976.webp",width:512,height:512,toString(){return this.uri}}},1149,[]);
1229
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/piper.02d1e16456863cca1c533d8989b2a770.webp",width:512,height:512,toString(){return this.uri}}},1150,[]);
1230
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/poisoner.1f2bd2dc89a392590b7f8ba56351d4a1.webp",width:512,height:512,toString(){return this.uri}}},1151,[]);
1231
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/psychic.c3d712fdc260b3605e9243b8250824fd.webp",width:512,height:512,toString(){return this.uri}}},1152,[]);
1232
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/pureWhite.08f11711d653fd5cd381c28470f3acf4.webp",width:512,height:512,toString(){return this.uri}}},1153,[]);
1233
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/seer.cdfdaf752ff5ac0ae0f1f2df53b5efef.webp",width:512,height:512,toString(){return this.uri}}},1154,[]);
1234
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/sequencePrince.347303935434eb0b55176cf09b96e938.webp",width:512,height:512,toString(){return this.uri}}},1155,[]);
1235
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/shadow.98fa966e218f8d244dd0108d62ebc9d3.webp",width:512,height:512,toString(){return this.uri}}},1156,[]);
1236
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/silenceElder.e4f2d77c57df1793a6a9ad6e3aad30ca.webp",width:512,height:512,toString(){return this.uri}}},1157,[]);
1237
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/slacker.272ab4019c5ab1180492fb6f8f823317.webp",width:512,height:512,toString(){return this.uri}}},1158,[]);
1238
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/spiritKnight.1f774fb2146781ae0ad4a1b144cd2212.webp",width:512,height:512,toString(){return this.uri}}},1159,[]);
1239
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/thief.ed81589f347246a9e6ddbce6cd8b4c61.webp",width:512,height:512,toString(){return this.uri}}},1160,[]);
1240
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/treasureMaster.cd7576c4bc9ee5862a4dc43e8ffd4e12.webp",width:512,height:512,toString(){return this.uri}}},1161,[]);
1241
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/villager.2cbac3b716583c11c3206f5c3539f4b5.webp",width:512,height:512,toString(){return this.uri}}},1162,[]);
1242
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/votebanElder.6b37ced7af7d68c9ea951cba9e0a4433.webp",width:512,height:512,toString(){return this.uri}}},1163,[]);
1243
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/warden.2c240941a76b508f33b597bcbde4ebd5.webp",width:512,height:512,toString(){return this.uri}}},1164,[]);
1244
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/wildChild.fd167c05732529aa0017f9ed65cc5675.webp",width:512,height:512,toString(){return this.uri}}},1165,[]);
1245
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/witch.abc51a2eead0b750dfc0a6e93d984a83.webp",width:512,height:512,toString(){return this.uri}}},1166,[]);
1246
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/witcher.abb235ea736e1e483ce7828dc953d32a.webp",width:512,height:512,toString(){return this.uri}}},1167,[]);
1247
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/wolf.0480e577229882c4b481cb843510a7fa.webp",width:512,height:512,toString(){return this.uri}}},1168,[]);
1248
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/wolfKing.277a07ac2035f299f47dfd8846420d5f.webp",width:512,height:512,toString(){return this.uri}}},1169,[]);
1249
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/wolfQueen.253c75d352e53abbf3bf79cd27bd4147.webp",width:512,height:512,toString(){return this.uri}}},1170,[]);
1250
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/wolfRobot.36dc60491c24746cec35384eb7c27fcb.webp",width:512,height:512,toString(){return this.uri}}},1171,[]);
1251
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/web/wolfWitch.83b1519e5848d49d176b0e81331f3abb.webp",width:512,height:512,toString(){return this.uri}}},1172,[]);
1252
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_avenger.b6bf6f6fc9337f178dbb39571340c13d.webp",width:128,height:128,toString(){return this.uri}}},1173,[]);
1253
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_awakenedGargoyle.30cbaa9ffaa3648ebbaa2524325776a7.webp",width:128,height:128,toString(){return this.uri}}},1174,[]);
1254
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_bloodMoon.2d0adbd50d7af57852f452434895462f.webp",width:128,height:128,toString(){return this.uri}}},1175,[]);
1255
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_crow.a21cc4ad182a2fa1fe60240cb2642f2d.webp",width:128,height:128,toString(){return this.uri}}},1176,[]);
1256
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_cupid.17e3f4a35b8def1956b7786957b6c3b4.webp",width:128,height:128,toString(){return this.uri}}},1177,[]);
1257
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_cursedFox.ffe80142afe446c68ee81b9b5a0b14cd.webp",width:128,height:128,toString(){return this.uri}}},1178,[]);
1258
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_dancer.e83a3e2b608869bda6c4cd653a6edda1.webp",width:128,height:128,toString(){return this.uri}}},1179,[]);
1259
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_darkWolfKing.c2b719cab02de799848a11ea1cc14d52.webp",width:128,height:128,toString(){return this.uri}}},1180,[]);
1260
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_dreamcatcher.5e05de4d00aab12f5de2e75acce5e777.webp",width:128,height:128,toString(){return this.uri}}},1181,[]);
1261
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_drunkSeer.118606a3ec16d97a8d573d8b907b809f.webp",width:128,height:128,toString(){return this.uri}}},1182,[]);
1262
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_eclipseWolfQueen.74b58c9798074d9fae29c7e618cde32b.webp",width:128,height:128,toString(){return this.uri}}},1183,[]);
1263
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_gargoyle.5ebe771fca3d1776d163bc5f55207bb7.webp",width:128,height:128,toString(){return this.uri}}},1184,[]);
1264
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_graveyardKeeper.22d37c685f6b98803f375a1f5801b10c.webp",width:128,height:128,toString(){return this.uri}}},1185,[]);
1265
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_guard.3f76bd97a4a77a3fc4d2f1ed754745ea.webp",width:128,height:128,toString(){return this.uri}}},1186,[]);
1266
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_hunter.280e3e8c7d539ad08f640fb27a313ef3.webp",width:128,height:128,toString(){return this.uri}}},1187,[]);
1267
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_idiot.e2660b30f663eee5fb2148a3148be3e3.webp",width:128,height:128,toString(){return this.uri}}},1188,[]);
1268
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_knight.07581e9df46aae3e2161f73c5716ed08.webp",width:128,height:128,toString(){return this.uri}}},1189,[]);
1269
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_magician.6692ac54ca3c4e692351322c1e22cf4f.webp",width:128,height:128,toString(){return this.uri}}},1190,[]);
1270
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_maskedMan.def71e77e53bf1bc2953f2a0dcf7a5bf.webp",width:128,height:128,toString(){return this.uri}}},1191,[]);
1271
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_masquerade.dd1d1ca826a0cc514a4a1403a589233b.webp",width:128,height:128,toString(){return this.uri}}},1192,[]);
1272
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_mirrorSeer.480a066d0beb345d22a411b06fa279c6.webp",width:128,height:128,toString(){return this.uri}}},1193,[]);
1273
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_nightmare.5cc7ebc224b34302b5279f11b7591783.webp",width:128,height:128,toString(){return this.uri}}},1194,[]);
1274
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_piper.6d4ff556fda9334bcb6860a765643a22.webp",width:128,height:128,toString(){return this.uri}}},1195,[]);
1275
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_poisoner.9769442848b66bca863732eb009f9415.webp",width:128,height:128,toString(){return this.uri}}},1196,[]);
1276
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_psychic.b6aebca78feae55bf7375fbf429dbfc3.webp",width:128,height:128,toString(){return this.uri}}},1197,[]);
1277
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_pureWhite.0fa87ecf3df0f0452ce96b99b1e805fe.webp",width:128,height:128,toString(){return this.uri}}},1198,[]);
1278
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_seer.528eac81366d61a4b17370a840b58ffe.webp",width:128,height:128,toString(){return this.uri}}},1199,[]);
1279
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_sequencePrince.b48ef29561fdd9b4bcd5f4b9b6a2886c.webp",width:128,height:128,toString(){return this.uri}}},1200,[]);
1280
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_shadow.a624d5c98892c6242a25d54736be04c7.webp",width:128,height:128,toString(){return this.uri}}},1201,[]);
1281
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_silenceElder.72c7043ae4dc6dc305944e33e7dc6a2d.webp",width:128,height:128,toString(){return this.uri}}},1202,[]);
1282
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_slacker.e4bb2f640bfc059e07240b8435304395.webp",width:128,height:128,toString(){return this.uri}}},1203,[]);
1283
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_spiritKnight.f8086e47264d0bf8389db1e4aa269110.webp",width:128,height:128,toString(){return this.uri}}},1204,[]);
1284
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_thief.731f15c707f56a125e4ff0f1bb4bea96.webp",width:128,height:128,toString(){return this.uri}}},1205,[]);
1285
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_treasureMaster.76d5dd6535c06fe756945ce2ae9605e1.webp",width:128,height:128,toString(){return this.uri}}},1206,[]);
1286
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_villager.2c9e292b256434507cb93791c47e425a.webp",width:128,height:128,toString(){return this.uri}}},1207,[]);
1287
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_votebanElder.6bc960962a14073046ea867b203e2c0e.webp",width:128,height:128,toString(){return this.uri}}},1208,[]);
1288
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_warden.0a56f5b2be83c6a63658685ce3e155e7.webp",width:128,height:128,toString(){return this.uri}}},1209,[]);
1289
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_wildChild.4ea6cbd0cd5cb25e654d177743bab76d.webp",width:128,height:128,toString(){return this.uri}}},1210,[]);
1290
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_witch.5913aa0a90aeafd2b856b09551934af1.webp",width:128,height:128,toString(){return this.uri}}},1211,[]);
1291
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_witcher.52ec5a56bb09994a3bff71911e0d785d.webp",width:128,height:128,toString(){return this.uri}}},1212,[]);
1292
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_wolf.e51e1d1140adb5a10b1ff0740baf1642.webp",width:128,height:128,toString(){return this.uri}}},1213,[]);
1293
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_wolfKing.50e006b6488e7c72858e4e1c8429b605.webp",width:128,height:128,toString(){return this.uri}}},1214,[]);
1294
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_wolfQueen.ea5ec940eed3536e4fb690c469dea42a.webp",width:128,height:128,toString(){return this.uri}}},1215,[]);
1295
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_wolfRobot.b20d02549883e9d470946693d24e1dcc.webp",width:128,height:128,toString(){return this.uri}}},1216,[]);
1296
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/badges/web/role_wolfWitch.df1af7731cc021c47c4a68812f5feaa9.webp",width:128,height:128,toString(){return this.uri}}},1217,[]);
1207
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/avenger.09e69ad1178046d465363272ed855077.webp",width:512,height:512,toString(){return this.uri}}},1128,[]);
1208
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/awakenedGargoyle.b2d0a49bcee1b0c02d95bdc941077e0a.webp",width:512,height:512,toString(){return this.uri}}},1129,[]);
1209
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/bloodMoon.77cd6f299bf0f2008640f13900903c65.webp",width:512,height:512,toString(){return this.uri}}},1130,[]);
1210
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/crow.9b9febd7b6f5927813aee5567d5251e6.webp",width:512,height:512,toString(){return this.uri}}},1131,[]);
1211
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/cupid.80e5baac186297b6104ce00dece2f137.webp",width:512,height:512,toString(){return this.uri}}},1132,[]);
1212
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/cursedFox.31ff50657737cf2718a04594061d6c60.webp",width:512,height:512,toString(){return this.uri}}},1133,[]);
1213
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/dancer.0828d7f4b74a0668b6af2bc1ad282437.webp",width:512,height:512,toString(){return this.uri}}},1134,[]);
1214
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/darkWolfKing.2b36af105466e13c03c33233eaa27641.webp",width:512,height:512,toString(){return this.uri}}},1135,[]);
1215
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/dreamcatcher.c4ad8a1aafa6b1a2f2520cc915e9f59a.webp",width:512,height:512,toString(){return this.uri}}},1136,[]);
1216
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/drunkSeer.3565b36c0bdb48743a34045d9a6fc1c6.webp",width:512,height:512,toString(){return this.uri}}},1137,[]);
1217
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/eclipseWolfQueen.3a00e892b9ae6f84d90a7b8c30ea080b.webp",width:512,height:512,toString(){return this.uri}}},1138,[]);
1218
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/gargoyle.ba73f1f69cf62305fcbb3d3fc864319d.webp",width:512,height:512,toString(){return this.uri}}},1139,[]);
1219
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/graveyardKeeper.3593617e1e291e66491adacc5845aa18.webp",width:512,height:512,toString(){return this.uri}}},1140,[]);
1220
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/guard.096273d8bf2a6333ccecf13e468d80c5.webp",width:512,height:512,toString(){return this.uri}}},1141,[]);
1221
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/hunter.ae4081df7a762aaa4b4826f3a55f00ef.webp",width:512,height:512,toString(){return this.uri}}},1142,[]);
1222
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/idiot.634dde5f212b4e9c273e58131efc5f8e.webp",width:512,height:512,toString(){return this.uri}}},1143,[]);
1223
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/knight.3f7ddbe23b24b301fc4eca4536378236.webp",width:512,height:512,toString(){return this.uri}}},1144,[]);
1224
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/magician.09d3cafe30259c1ab76aed2135b9d329.webp",width:512,height:512,toString(){return this.uri}}},1145,[]);
1225
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/maskedMan.da646b941bccb412af9c86e40d19e664.webp",width:512,height:512,toString(){return this.uri}}},1146,[]);
1226
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/masquerade.6550c85348530b916ae5ac8c63bf054c.webp",width:512,height:512,toString(){return this.uri}}},1147,[]);
1227
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/mirrorSeer.8f3619195895eb8347bb22b00ca0aaa3.webp",width:512,height:512,toString(){return this.uri}}},1148,[]);
1228
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/nightmare.d51a5a379b15b0d3f15d2a3afd9f2976.webp",width:512,height:512,toString(){return this.uri}}},1149,[]);
1229
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/piper.02d1e16456863cca1c533d8989b2a770.webp",width:512,height:512,toString(){return this.uri}}},1150,[]);
1230
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/poisoner.1f2bd2dc89a392590b7f8ba56351d4a1.webp",width:512,height:512,toString(){return this.uri}}},1151,[]);
1231
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/psychic.c3d712fdc260b3605e9243b8250824fd.webp",width:512,height:512,toString(){return this.uri}}},1152,[]);
1232
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/pureWhite.08f11711d653fd5cd381c28470f3acf4.webp",width:512,height:512,toString(){return this.uri}}},1153,[]);
1233
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/seer.cdfdaf752ff5ac0ae0f1f2df53b5efef.webp",width:512,height:512,toString(){return this.uri}}},1154,[]);
1234
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/sequencePrince.347303935434eb0b55176cf09b96e938.webp",width:512,height:512,toString(){return this.uri}}},1155,[]);
1235
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/shadow.98fa966e218f8d244dd0108d62ebc9d3.webp",width:512,height:512,toString(){return this.uri}}},1156,[]);
1236
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/silenceElder.e4f2d77c57df1793a6a9ad6e3aad30ca.webp",width:512,height:512,toString(){return this.uri}}},1157,[]);
1237
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/slacker.272ab4019c5ab1180492fb6f8f823317.webp",width:512,height:512,toString(){return this.uri}}},1158,[]);
1238
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/spiritKnight.1f774fb2146781ae0ad4a1b144cd2212.webp",width:512,height:512,toString(){return this.uri}}},1159,[]);
1239
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/thief.ed81589f347246a9e6ddbce6cd8b4c61.webp",width:512,height:512,toString(){return this.uri}}},1160,[]);
1240
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/treasureMaster.cd7576c4bc9ee5862a4dc43e8ffd4e12.webp",width:512,height:512,toString(){return this.uri}}},1161,[]);
1241
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/villager.2cbac3b716583c11c3206f5c3539f4b5.webp",width:512,height:512,toString(){return this.uri}}},1162,[]);
1242
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/votebanElder.6b37ced7af7d68c9ea951cba9e0a4433.webp",width:512,height:512,toString(){return this.uri}}},1163,[]);
1243
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/warden.2c240941a76b508f33b597bcbde4ebd5.webp",width:512,height:512,toString(){return this.uri}}},1164,[]);
1244
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/wildChild.fd167c05732529aa0017f9ed65cc5675.webp",width:512,height:512,toString(){return this.uri}}},1165,[]);
1245
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/witch.abc51a2eead0b750dfc0a6e93d984a83.webp",width:512,height:512,toString(){return this.uri}}},1166,[]);
1246
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/witcher.abb235ea736e1e483ce7828dc953d32a.webp",width:512,height:512,toString(){return this.uri}}},1167,[]);
1247
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/wolf.0480e577229882c4b481cb843510a7fa.webp",width:512,height:512,toString(){return this.uri}}},1168,[]);
1248
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/wolfKing.277a07ac2035f299f47dfd8846420d5f.webp",width:512,height:512,toString(){return this.uri}}},1169,[]);
1249
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/wolfQueen.253c75d352e53abbf3bf79cd27bd4147.webp",width:512,height:512,toString(){return this.uri}}},1170,[]);
1250
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/wolfRobot.36dc60491c24746cec35384eb7c27fcb.webp",width:512,height:512,toString(){return this.uri}}},1171,[]);
1251
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/web/wolfWitch.83b1519e5848d49d176b0e81331f3abb.webp",width:512,height:512,toString(){return this.uri}}},1172,[]);
1252
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_avenger.b6bf6f6fc9337f178dbb39571340c13d.webp",width:128,height:128,toString(){return this.uri}}},1173,[]);
1253
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_awakenedGargoyle.30cbaa9ffaa3648ebbaa2524325776a7.webp",width:128,height:128,toString(){return this.uri}}},1174,[]);
1254
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_bloodMoon.2d0adbd50d7af57852f452434895462f.webp",width:128,height:128,toString(){return this.uri}}},1175,[]);
1255
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_crow.a21cc4ad182a2fa1fe60240cb2642f2d.webp",width:128,height:128,toString(){return this.uri}}},1176,[]);
1256
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_cupid.17e3f4a35b8def1956b7786957b6c3b4.webp",width:128,height:128,toString(){return this.uri}}},1177,[]);
1257
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_cursedFox.ffe80142afe446c68ee81b9b5a0b14cd.webp",width:128,height:128,toString(){return this.uri}}},1178,[]);
1258
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_dancer.e83a3e2b608869bda6c4cd653a6edda1.webp",width:128,height:128,toString(){return this.uri}}},1179,[]);
1259
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_darkWolfKing.c2b719cab02de799848a11ea1cc14d52.webp",width:128,height:128,toString(){return this.uri}}},1180,[]);
1260
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_dreamcatcher.5e05de4d00aab12f5de2e75acce5e777.webp",width:128,height:128,toString(){return this.uri}}},1181,[]);
1261
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_drunkSeer.118606a3ec16d97a8d573d8b907b809f.webp",width:128,height:128,toString(){return this.uri}}},1182,[]);
1262
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_eclipseWolfQueen.74b58c9798074d9fae29c7e618cde32b.webp",width:128,height:128,toString(){return this.uri}}},1183,[]);
1263
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_gargoyle.5ebe771fca3d1776d163bc5f55207bb7.webp",width:128,height:128,toString(){return this.uri}}},1184,[]);
1264
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_graveyardKeeper.22d37c685f6b98803f375a1f5801b10c.webp",width:128,height:128,toString(){return this.uri}}},1185,[]);
1265
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_guard.3f76bd97a4a77a3fc4d2f1ed754745ea.webp",width:128,height:128,toString(){return this.uri}}},1186,[]);
1266
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_hunter.280e3e8c7d539ad08f640fb27a313ef3.webp",width:128,height:128,toString(){return this.uri}}},1187,[]);
1267
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_idiot.e2660b30f663eee5fb2148a3148be3e3.webp",width:128,height:128,toString(){return this.uri}}},1188,[]);
1268
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_knight.07581e9df46aae3e2161f73c5716ed08.webp",width:128,height:128,toString(){return this.uri}}},1189,[]);
1269
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_magician.6692ac54ca3c4e692351322c1e22cf4f.webp",width:128,height:128,toString(){return this.uri}}},1190,[]);
1270
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_maskedMan.def71e77e53bf1bc2953f2a0dcf7a5bf.webp",width:128,height:128,toString(){return this.uri}}},1191,[]);
1271
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_masquerade.dd1d1ca826a0cc514a4a1403a589233b.webp",width:128,height:128,toString(){return this.uri}}},1192,[]);
1272
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_mirrorSeer.480a066d0beb345d22a411b06fa279c6.webp",width:128,height:128,toString(){return this.uri}}},1193,[]);
1273
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_nightmare.5cc7ebc224b34302b5279f11b7591783.webp",width:128,height:128,toString(){return this.uri}}},1194,[]);
1274
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_piper.6d4ff556fda9334bcb6860a765643a22.webp",width:128,height:128,toString(){return this.uri}}},1195,[]);
1275
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_poisoner.9769442848b66bca863732eb009f9415.webp",width:128,height:128,toString(){return this.uri}}},1196,[]);
1276
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_psychic.b6aebca78feae55bf7375fbf429dbfc3.webp",width:128,height:128,toString(){return this.uri}}},1197,[]);
1277
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_pureWhite.0fa87ecf3df0f0452ce96b99b1e805fe.webp",width:128,height:128,toString(){return this.uri}}},1198,[]);
1278
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_seer.528eac81366d61a4b17370a840b58ffe.webp",width:128,height:128,toString(){return this.uri}}},1199,[]);
1279
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_sequencePrince.b48ef29561fdd9b4bcd5f4b9b6a2886c.webp",width:128,height:128,toString(){return this.uri}}},1200,[]);
1280
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_shadow.a624d5c98892c6242a25d54736be04c7.webp",width:128,height:128,toString(){return this.uri}}},1201,[]);
1281
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_silenceElder.72c7043ae4dc6dc305944e33e7dc6a2d.webp",width:128,height:128,toString(){return this.uri}}},1202,[]);
1282
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_slacker.e4bb2f640bfc059e07240b8435304395.webp",width:128,height:128,toString(){return this.uri}}},1203,[]);
1283
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_spiritKnight.f8086e47264d0bf8389db1e4aa269110.webp",width:128,height:128,toString(){return this.uri}}},1204,[]);
1284
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_thief.731f15c707f56a125e4ff0f1bb4bea96.webp",width:128,height:128,toString(){return this.uri}}},1205,[]);
1285
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_treasureMaster.76d5dd6535c06fe756945ce2ae9605e1.webp",width:128,height:128,toString(){return this.uri}}},1206,[]);
1286
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_villager.2c9e292b256434507cb93791c47e425a.webp",width:128,height:128,toString(){return this.uri}}},1207,[]);
1287
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_votebanElder.6bc960962a14073046ea867b203e2c0e.webp",width:128,height:128,toString(){return this.uri}}},1208,[]);
1288
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_warden.0a56f5b2be83c6a63658685ce3e155e7.webp",width:128,height:128,toString(){return this.uri}}},1209,[]);
1289
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_wildChild.4ea6cbd0cd5cb25e654d177743bab76d.webp",width:128,height:128,toString(){return this.uri}}},1210,[]);
1290
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_witch.5913aa0a90aeafd2b856b09551934af1.webp",width:128,height:128,toString(){return this.uri}}},1211,[]);
1291
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_witcher.52ec5a56bb09994a3bff71911e0d785d.webp",width:128,height:128,toString(){return this.uri}}},1212,[]);
1292
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_wolf.e51e1d1140adb5a10b1ff0740baf1642.webp",width:128,height:128,toString(){return this.uri}}},1213,[]);
1293
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_wolfKing.50e006b6488e7c72858e4e1c8429b605.webp",width:128,height:128,toString(){return this.uri}}},1214,[]);
1294
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_wolfQueen.ea5ec940eed3536e4fb690c469dea42a.webp",width:128,height:128,toString(){return this.uri}}},1215,[]);
1295
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_wolfRobot.b20d02549883e9d470946693d24e1dcc.webp",width:128,height:128,toString(){return this.uri}}},1216,[]);
1296
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/badges/web/role_wolfWitch.df1af7731cc021c47c4a68812f5feaa9.webp",width:128,height:128,toString(){return this.uri}}},1217,[]);
1297
1297
  __d(function(_g,_r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.isGeneratedAvatar=function(e){return e.startsWith(r)||e.startsWith(s)},Object.defineProperty(_e,"GeneratedAvatar",{enumerable:!0,get:function(){return B}});var e,t=(e=_r(d[0]))&&e.__esModule?e:{default:e};const r='genC',s='genR',n=90,o=36,l=[['#264653','#2A9D8F','#E9C46A','#F4A261','#E76F51'],['#606C38','#283618','#FEFAE0','#DDA15E','#BC6C25'],['#003049','#D62828','#F77F00','#FCBF49','#EAE2B7'],['#0B132B','#1C2541','#3A506B','#5BC0BE','#6FFFE9'],['#8ECAE6','#219EBC','#023047','#FFB703','#FB8500'],['#2B2D42','#8D99AE','#EDF2F4','#EF233C','#D90429'],['#F72585','#7209B7','#3A0CA3','#4361EE','#4CC9F0'],['#390099','#9E0059','#FF0054','#FF5400','#FFBD00'],['#5F0F40','#9A031E','#FB8B24','#E36414','#0F4C5C'],['#10002B','#240046','#3C096C','#7B2CBF','#C77DFF'],['#007F5F','#2B9348','#55A630','#80B918','#AACC00'],['#0A0908','#22333B','#EAE0D5','#C6AC8F','#5E503F']],i=[['#FC5C65','#FD9644','#FED330','#26DE81','#2BCBBA'],['#45AAF2','#4B7BEC','#A55EEA','#778CA3','#D1D8E0'],['#F78FB3','#CF6A87','#786FA6','#574B90','#303952'],['#E77F67','#F5CD79','#546DE5','#C44569','#F8A5C2'],['#63CDDA','#3DC1D3','#E15F41','#F3A683','#F7D794'],['#6C5CE7','#A29BFE','#FD79A8','#E84393','#00CEC9'],['#55E6C1','#58B19F','#B8E994','#78E08F','#38ADA9'],['#FC427B','#F97F51','#25CCF7','#EAB543','#55E6C1']];function c(e){let t=0;for(let r=0;r<e.length;r++){t=(t<<5)-t+e.codePointAt(r)|0}return Math.abs(t)}function h(e,t,r){const s=e%t;return r&&Math.floor(e/Math.pow(10,r)%10)%2==0?-s:s}function F(e,t){return Math.floor(e/Math.pow(10,t)%10)%2==0}function C(e,t,r){return t[e%r]}function f(e){const t=e.startsWith('#')?e.slice(1):e;return(299*parseInt(t.substring(0,2),16)+587*parseInt(t.substring(2,4),16)+114*parseInt(t.substring(4,6),16))/1e3>=128?'#000000':'#FFFFFF'}function u(e,t){const r=c(e),s=t.length,n=Array.from({length:5},(e,n)=>C(r+n,t,s));return[n[0],n[1],n[1],n[2],n[2],n[3],n[3],n[0],n[4]]}function p(e,t){const r=c(e),s=t.length,n=C(r,t,s),o=h(r,10,1),l=o<5?o+4:o,i=h(r,10,2),u=i<5?i+4:i;return{wrapperColor:n,faceColor:f(n),backgroundColor:C(r+13,t,s),wrapperTranslateX:l,wrapperTranslateY:u,wrapperRotate:h(r,360),wrapperScale:1+h(r,3)/10,isMouthOpen:F(r,2),isCircle:F(r,1),eyeSpread:h(r,5),mouthSpread:h(r,3),faceRotate:h(r,10,3),faceTranslateX:l>6?l/2:h(r,8,1),faceTranslateY:u>6?u/2:h(r,7,2)}}function A(e,t){return t[c(e)%t.length]}const E=(0,_r(d[1]).memo)(e=>{const r=(0,_r(d[2]).c)(34),{seed:s,size:o}=e;let i;if(r[0]!==s){i=u(s,A(s,l)),r[0]=s,r[1]=i}else i=r[1];const c=i;let h,F,C,f,p,E,x,B,g,j,M,w;return r[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,_r(d[3]).jsx)(_r(d[0]).Mask,{id:"ringMask",maskUnits:"userSpaceOnUse",x:0,y:0,width:n,height:n,children:(0,_r(d[3]).jsx)(_r(d[0]).Rect,{width:n,height:n,rx:180,fill:"#FFFFFF"})}),r[2]=h):h=r[2],r[3]!==c[0]?(F=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M0 0h90v45H0z",fill:c[0]}),r[3]=c[0],r[4]=F):F=r[4],r[5]!==c[1]?(C=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M0 45h90v45H0z",fill:c[1]}),r[5]=c[1],r[6]=C):C=r[6],r[7]!==c[2]?(f=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M83 45a38 38 0 00-76 0h76z",fill:c[2]}),r[7]=c[2],r[8]=f):f=r[8],r[9]!==c[3]?(p=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M83 45a38 38 0 01-76 0h76z",fill:c[3]}),r[9]=c[3],r[10]=p):p=r[10],r[11]!==c[4]?(E=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M77 45a32 32 0 10-64 0h64z",fill:c[4]}),r[11]=c[4],r[12]=E):E=r[12],r[13]!==c[5]?(x=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M77 45a32 32 0 11-64 0h64z",fill:c[5]}),r[13]=c[5],r[14]=x):x=r[14],r[15]!==c[6]?(B=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M71 45a26 26 0 00-52 0h52z",fill:c[6]}),r[15]=c[6],r[16]=B):B=r[16],r[17]!==c[7]?(g=(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:"M71 45a26 26 0 01-52 0h52z",fill:c[7]}),r[17]=c[7],r[18]=g):g=r[18],r[19]!==c[8]?(j=(0,_r(d[3]).jsx)(_r(d[0]).Circle,{cx:45,cy:45,r:23,fill:c[8]}),r[19]=c[8],r[20]=j):j=r[20],r[21]!==g||r[22]!==j||r[23]!==F||r[24]!==C||r[25]!==f||r[26]!==p||r[27]!==E||r[28]!==x||r[29]!==B?(M=(0,_r(d[3]).jsxs)(_r(d[0]).G,{mask:"url(#ringMask)",children:[F,C,f,p,E,x,B,g,j]}),r[21]=g,r[22]=j,r[23]=F,r[24]=C,r[25]=f,r[26]=p,r[27]=E,r[28]=x,r[29]=B,r[30]=M):M=r[30],r[31]!==o||r[32]!==M?(w=(0,_r(d[3]).jsxs)(t.default,{viewBox:"0 0 90 90",width:o,height:o,children:[h,M]}),r[31]=o,r[32]=M,r[33]=w):w=r[33],w});E.displayName='RingAvatar';const x=(0,_r(d[1]).memo)(e=>{const r=(0,_r(d[2]).c)(31),{seed:s,size:n}=e;let l;if(r[0]!==s){l=p(s,A(s,i)),r[0]=s,r[1]=l}else l=r[1];const c=l;let h,F;r[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,_r(d[3]).jsx)(_r(d[0]).Mask,{id:"beamMask",maskUnits:"userSpaceOnUse",x:0,y:0,width:o,height:o,children:(0,_r(d[3]).jsx)(_r(d[0]).Rect,{width:o,height:o,rx:72,fill:"#FFFFFF"})}),r[2]=h):h=r[2],r[3]!==c.backgroundColor?(F=(0,_r(d[3]).jsx)(_r(d[0]).Rect,{width:o,height:o,fill:c.backgroundColor}),r[3]=c.backgroundColor,r[4]=F):F=r[4];const C=`translate(${c.wrapperTranslateX} ${c.wrapperTranslateY}) rotate(${c.wrapperRotate} 18 18) scale(${c.wrapperScale})`,f=c.isCircle?o:6;let u;r[5]!==c.wrapperColor||r[6]!==C||r[7]!==f?(u=(0,_r(d[3]).jsx)(_r(d[0]).Rect,{x:0,y:0,width:o,height:o,transform:C,fill:c.wrapperColor,rx:f}),r[5]=c.wrapperColor,r[6]=C,r[7]=f,r[8]=u):u=r[8];const E=`translate(${c.faceTranslateX} ${c.faceTranslateY}) rotate(${c.faceRotate} 18 18)`;let x;r[9]!==c.faceColor||r[10]!==c.isMouthOpen||r[11]!==c.mouthSpread?(x=c.isMouthOpen?(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:`M15 ${19+c.mouthSpread}c2 1 4 1 6 0`,stroke:c.faceColor,fill:"none",strokeLinecap:"round"}):(0,_r(d[3]).jsx)(_r(d[0]).Path,{d:`M13,${19+c.mouthSpread} a1,0.75 0 0,0 10,0`,fill:c.faceColor}),r[9]=c.faceColor,r[10]=c.isMouthOpen,r[11]=c.mouthSpread,r[12]=x):x=r[12];const B=14-c.eyeSpread;let g;r[13]!==c.faceColor||r[14]!==B?(g=(0,_r(d[3]).jsx)(_r(d[0]).Rect,{x:B,y:14,width:1.5,height:2,rx:1,stroke:"none",fill:c.faceColor}),r[13]=c.faceColor,r[14]=B,r[15]=g):g=r[15];const j=20+c.eyeSpread;let M,w,D,k;return r[16]!==c.faceColor||r[17]!==j?(M=(0,_r(d[3]).jsx)(_r(d[0]).Rect,{x:j,y:14,width:1.5,height:2,rx:1,stroke:"none",fill:c.faceColor}),r[16]=c.faceColor,r[17]=j,r[18]=M):M=r[18],r[19]!==g||r[20]!==M||r[21]!==E||r[22]!==x?(w=(0,_r(d[3]).jsxs)(_r(d[0]).G,{transform:E,children:[x,g,M]}),r[19]=g,r[20]=M,r[21]=E,r[22]=x,r[23]=w):w=r[23],r[24]!==w||r[25]!==F||r[26]!==u?(D=(0,_r(d[3]).jsxs)(_r(d[0]).G,{mask:"url(#beamMask)",children:[F,u,w]}),r[24]=w,r[25]=F,r[26]=u,r[27]=D):D=r[27],r[28]!==n||r[29]!==D?(k=(0,_r(d[3]).jsxs)(t.default,{viewBox:"0 0 36 36",width:n,height:n,children:[h,D]}),r[28]=n,r[29]=D,r[30]=k):k=r[30],k});x.displayName='BeamAvatar';const B=(0,_r(d[1]).memo)(e=>{const t=(0,_r(d[2]).c)(6),{seed:r,size:n}=e;if("beam"===(r.startsWith(s)?'beam':'ring')){let e;return t[0]!==r||t[1]!==n?(e=(0,_r(d[3]).jsx)(x,{seed:r,size:n}),t[0]=r,t[1]=n,t[2]=e):e=t[2],e}let o;return t[3]!==r||t[4]!==n?(o=(0,_r(d[3]).jsx)(E,{seed:r,size:n}),t[3]=r,t[4]=n,t[5]=o):o=t[5],o});B.displayName='GeneratedAvatar'},1218,[981,36,1092,700]);
1298
1298
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AppNavigator",{enumerable:!0,get:function(){return t.AppNavigator}});var t=r(d[0])},1219,[1220]);
1299
1299
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"linking",{enumerable:!0,get:function(){return k}}),Object.defineProperty(e,"AppNavigator",{enumerable:!0,get:function(){return v}});var o=r(d[0]),t=r(d[1]),n=r(d[2]),c=r(d[3]),s=r(d[4]),l=r(d[5]),p=r(d[6]),S=r(d[7]),h=r(d[8]),u=r(d[9]),f=r(d[10]),_=r(d[11]),b=r(d[12]),y=r(d[13]),x=r(d[14]),j=r(d[15]),C=r(d[16]);const P=(0,r(d[17]).createNativeStackNavigator)(),A=r(d[18]).log.extend('AppNavigator'),R=['template'],k={prefixes:[r(d[19]).SITE_URL,'https://werewolfgamejudge.pages.dev'],config:{screens:{Home:'',BoardPicker:'board-picker',Config:'config',Room:{path:'room/:roomCode',parse:{roomCode:o=>o,isHost:o=>'true'===o},stringify:{roomCode:o=>o,isHost:o=>o?'true':'false'}},Settings:'settings/:roomCode?',MusicSettings:'settings/music/:roomCode?',Encyclopedia:'encyclopedia/:roomCode?',Notepad:'notepad/:roomCode',Appearance:'appearance',Unlocks:'unlocks/:userId?',Gacha:'gacha',AuthLogin:'auth/login',AuthEmail:'auth/email',AuthForgotPassword:'auth/forgot-password',AuthResetPassword:'auth/reset-password'}},getStateFromPath(o,t){const n=(0,r(d[20]).getStateFromPath)(o,t);if(!n)return n;const c=n.routes,s=c[c.length-1];if(s&&'Home'!==s.name&&1===c.length){if(new Set(['Notepad','MusicSettings','Settings','Encyclopedia']).has(s.name)){const o=s.params?.roomCode;if(o)return Object.assign({},n,{routes:[{name:'Home'},{name:'Room',params:{roomCode:o,isHost:!1}},s],index:2})}return Object.assign({},n,{routes:[{name:'Home'},s],index:1})}return n},getPathFromState(o,t){const n=(0,r(d[20]).getPathFromState)(o,t);try{const o=new URL(n,'http://placeholder');for(const t of R)o.searchParams.delete(t);return o.pathname+o.search}catch{return A.debug('getPathFromState: URL parse fallback',{path:n}),n}}},v=o=>{const A=(0,r(d[21]).c)(22),{onReady:R}=o;let v,E,H,F,L,M,O,U,B,G,I,T,$,q,z,D,J,K,Q,V;return A[0]!==R?(v=()=>{r(d[22]).reactNavigationIntegration.registerNavigationContainer(r(d[23]).navigationRef),R?.()},A[0]=R,A[1]=v):v=A[1],A[2]===Symbol.for("react.memo_cache_sentinel")?(E={headerShown:!1,contentStyle:{backgroundColor:r(d[24]).colors.background},animation:"default"},A[2]=E):E=A[2],A[3]===Symbol.for("react.memo_cache_sentinel")?(H=(0,r(d[25]).jsx)(P.Screen,{name:"Home",component:f.HomeScreen,options:{title:"\u72fc\u4eba\u9762\u6740\u7535\u5b50\u88c1\u5224\u52a9\u624b"}}),A[3]=H):H=A[3],A[4]===Symbol.for("react.memo_cache_sentinel")?(F=(0,r(d[25]).jsx)(P.Screen,{name:"BoardPicker",component:p.BoardPickerScreen,options:{title:"\u9009\u62e9\u677f\u5b50"}}),A[4]=F):F=A[4],A[5]===Symbol.for("react.memo_cache_sentinel")?(L=(0,r(d[25]).jsx)(P.Screen,{name:"Config",component:S.ConfigScreen,options:{title:"\u521b\u5efa\u623f\u95f4",animation:"slide_from_bottom"},getId:N}),A[5]=L):L=A[5],A[6]===Symbol.for("react.memo_cache_sentinel")?(M=(0,r(d[25]).jsx)(P.Screen,{name:"Room",component:y.RoomScreen,options:{title:"\u623f\u95f4"}}),A[6]=M):M=A[6],A[7]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r(d[25]).jsx)(P.Screen,{name:"Settings",component:x.SettingsScreen,options:{title:"\u8bbe\u7f6e",animation:"slide_from_bottom"}}),A[7]=O):O=A[7],A[8]===Symbol.for("react.memo_cache_sentinel")?(U=(0,r(d[25]).jsx)(P.Screen,{name:"MusicSettings",component:_.MusicSettingsScreen,options:{title:"\u97f3\u4e50\u8bbe\u7f6e"}}),A[8]=U):U=A[8],A[9]===Symbol.for("react.memo_cache_sentinel")?(B=(0,r(d[25]).jsx)(P.Screen,{name:"Encyclopedia",component:h.EncyclopediaScreen,options:{title:"\u89d2\u8272\u56fe\u9274",animation:"slide_from_bottom"}}),A[9]=B):B=A[9],A[10]===Symbol.for("react.memo_cache_sentinel")?(G=(0,r(d[25]).jsx)(P.Screen,{name:"Notepad",component:b.NotepadScreen,options:{title:"\u7b14\u8bb0",animation:"slide_from_bottom"}}),A[10]=G):G=A[10],A[11]===Symbol.for("react.memo_cache_sentinel")?(I=(0,r(d[25]).jsx)(P.Screen,{name:"Appearance",component:t.AppearanceScreen,options:{title:"\u9009\u62e9\u5f62\u8c61"}}),A[11]=I):I=A[11],A[12]===Symbol.for("react.memo_cache_sentinel")?(T=(0,r(d[25]).jsx)(P.Screen,{name:"Unlocks",component:C.UnlocksScreen,options:{title:"\u89e3\u9501\u4e00\u89c8"}}),A[12]=T):T=A[12],A[13]===Symbol.for("react.memo_cache_sentinel")?($=(0,r(d[25]).jsx)(P.Screen,{name:"Gacha",component:u.GachaScreen,options:{title:"\u626d\u86cb\u62bd\u5956"}}),A[13]=$):$=A[13],A[14]===Symbol.for("react.memo_cache_sentinel")?(q=(0,r(d[25]).jsx)(P.Screen,{name:"ShardExchange",component:j.ShardExchangeScreen,options:{title:"\u788e\u7247\u5151\u6362"}}),A[14]=q):q=A[14],A[15]===Symbol.for("react.memo_cache_sentinel")?(z={presentation:"transparentModal",animation:"fade",contentStyle:{backgroundColor:r(d[24]).colors.transparent}},A[15]=z):z=A[15],A[16]===Symbol.for("react.memo_cache_sentinel")?(D=(0,r(d[25]).jsx)(P.Screen,{name:"AuthLogin",component:s.AuthLoginScreen,options:{title:"\u767b\u5f55"}}),A[16]=D):D=A[16],A[17]===Symbol.for("react.memo_cache_sentinel")?(J=(0,r(d[25]).jsx)(P.Screen,{name:"AuthEmail",component:n.AuthEmailScreen,options:{title:"\u90ae\u7bb1\u8ba4\u8bc1"}}),A[17]=J):J=A[17],A[18]===Symbol.for("react.memo_cache_sentinel")?(K=(0,r(d[25]).jsx)(P.Screen,{name:"AuthForgotPassword",component:c.AuthForgotPasswordScreen,options:{title:"\u5fd8\u8bb0\u5bc6\u7801"}}),A[18]=K):K=A[18],A[19]===Symbol.for("react.memo_cache_sentinel")?(Q=(0,r(d[25]).jsxs)(P.Navigator,{initialRouteName:"Home",screenOptions:E,screenLayout:w,children:[H,F,L,M,O,U,B,G,I,T,$,q,(0,r(d[25]).jsxs)(P.Group,{screenOptions:z,children:[D,J,K,(0,r(d[25]).jsx)(P.Screen,{name:"AuthResetPassword",component:l.AuthResetPasswordScreen,options:{title:"\u91cd\u7f6e\u5bc6\u7801"}})]})]}),A[19]=Q):Q=A[19],A[20]!==v?(V=(0,r(d[25]).jsx)(r(d[20]).NavigationContainer,{linking:k,ref:r(d[23]).navigationRef,onReady:v,children:Q}),A[20]=v,A[21]=V):V=A[21],V};function w(t){const{children:n}=t;return(0,r(d[25]).jsx)(o.ErrorBoundary,{children:n})}function N(o){const{params:t}=o;return t?.nominateMode?"nominate":t?.existingRoomCode?`edit-${t.existingRoomCode}`:void 0}},1220,[1117,1221,1865,1878,1879,1881,1882,1898,1919,1929,1945,1958,2049,2054,2194,2202,2203,2207,1061,1070,1704,1092,2247,2248,1098,700]);
@@ -1718,7 +1718,7 @@ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e
1718
1718
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AvatarWithFrame",{enumerable:!0,get:function(){return u}});var t=e(r(d[0])),l=e(r(d[1])),s=r(d[2]),n=r(d[3]);const o=e=>{const t=(0,r(d[4]).c)(35),{size:o,frameId:u,value:f,avatarUrl:v,borderRadius:b}=e,h=u;let y;t[0]!==h?(y=(0,r(d[5]).getFrameById)(h),t[0]=h,t[1]=y):y=t[1];const j=y;if(!j){let e;return t[2]!==v||t[3]!==b||t[4]!==o||t[5]!==f?(e=(0,r(d[6]).jsx)(s.Avatar,{value:f,size:o,avatarUrl:v,borderRadius:b}),t[2]=v,t[3]=b,t[4]=o,t[5]=f,t[6]=e):e=t[6],e}const x=b??r(d[7]).borderRadius.medium,{Component:_}=j,p=116*o/100,R=8*-o/100,z=100*x/o;let A;t[7]!==u?(A=r(d[8]).LEGENDARY_FRAME_IDS.has(u),t[7]=u,t[8]=A):A=t[8];const O=A;let E,w,F,I,M,U,B;return t[9]!==o?(E=[c.container,{width:o,height:o}],t[9]=o,t[10]=E):E=t[10],t[11]!==v||t[12]!==x||t[13]!==o||t[14]!==f?(w=(0,r(d[6]).jsx)(s.Avatar,{value:f,size:o,avatarUrl:v,borderRadius:x,hideBackground:!0}),t[11]=v,t[12]=x,t[13]=o,t[14]=f,t[15]=w):w=t[15],t[16]!==R?(F=[c.frameOverlay,{left:R,top:R}],t[16]=R,t[17]=F):F=t[17],t[18]!==_||t[19]!==z||t[20]!==p?(I=(0,r(d[6]).jsx)(_,{size:p,rx:z}),t[18]=_,t[19]=z,t[20]=p,t[21]=I):I=t[21],t[22]!==F||t[23]!==I?(M=(0,r(d[6]).jsx)(l.default,{style:F,children:I}),t[22]=F,t[23]=I,t[24]=M):M=t[24],t[25]!==O||t[26]!==z||t[27]!==R||t[28]!==p?(U=O&&(0,r(d[6]).jsx)(l.default,{style:[c.frameOverlay,{left:R,top:R}],children:(0,r(d[6]).jsx)(n.LegendaryShimmer,{size:p,rx:z})}),t[25]=O,t[26]=z,t[27]=R,t[28]=p,t[29]=U):U=t[29],t[30]!==E||t[31]!==w||t[32]!==M||t[33]!==U?(B=(0,r(d[6]).jsxs)(l.default,{style:E,children:[w,M,U]}),t[30]=E,t[31]=w,t[32]=M,t[33]=U,t[34]=B):B=t[34],B},u=(0,r(d[9]).memo)(o),c=t.default.create({container:{overflow:'visible'},frameOverlay:{position:'absolute',overflow:'visible',pointerEvents:'none'}})},1492,[38,459,1493,1496,1092,1497,700,1098,1126,36]);
1719
1719
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"Avatar",{enumerable:!0,get:function(){return c}});var t=r(d[0]),n=e(r(d[1])),l=e(r(d[2])),o=e(r(d[3]));const s=e=>{const l=(0,r(d[4]).c)(43),{value:s,size:c,avatarUrl:v,borderRadius:f,hideBackground:b}=e,h=f??c/4,y=b?r(d[5]).colors.transparent:r(d[5]).colors.border;let j;l[0]!==h||l[1]!==c||l[2]!==y?(j=[u.avatar,{width:c,height:c,borderRadius:h,backgroundColor:y,overflow:"hidden"}],l[0]=h,l[1]=c,l[2]=y,l[3]=j):j=l[3];const I=j;let A;l[4]!==v?(A=v&&!(0,r(d[6]).isBuiltinAvatarUrl)(v)?{uri:v}:null,l[4]=v,l[5]=A):A=l[5];const k=A;let p;e:{if(!v||!(0,r(d[6]).isBuiltinAvatarUrl)(v)){p=null;break e}let e,t,n;if(l[6]!==v?(e=(0,r(d[6]).getBuiltinAvatarId)(v),t=(0,r(d[7]).isGeneratedAvatar)(e),l[6]=v,l[7]=e,l[8]=t):(e=l[7],t=l[8]),t){let t;l[9]!==e?(t={type:"generated",avatarId:e},l[9]=e,l[10]=t):t=l[10],p=t;break e}l[11]!==v?(n=(0,r(d[6]).getBuiltinAvatarImage)(v),l[11]=v,l[12]=n):n=l[12];const o=n;if(null!=o){let e;l[13]!==o?(e={type:"image",source:o},l[13]=o,l[14]=e):e=l[14],p=e;break e}p=null}const x=p;let _;l[15]!==s?(_=(0,r(d[8]).getAvatarIcon)(s),l[15]=s,l[16]=_):_=l[16];const w=_;let B;l[17]!==h||l[18]!==c?(B=[u.iconContainer,{width:c,height:c,borderRadius:h}],l[17]=h,l[18]=c,l[19]=B):B=l[19];const C=B;if(k){let e;return l[20]!==I||l[21]!==k?(e=(0,r(d[9]).jsx)(t.Image,{source:k,style:I,contentFit:"cover",transition:200,cachePolicy:"disk",accessibilityLabel:"\u5934\u50cf"}),l[20]=I,l[21]=k,l[22]=e):e=l[22],e}if(x){if("generated"===x.type){let e,t;return l[23]!==x.avatarId||l[24]!==c?(e=(0,r(d[9]).jsx)(r(d[7]).GeneratedAvatar,{seed:x.avatarId,size:c}),l[23]=x.avatarId,l[24]=c,l[25]=e):e=l[25],l[26]!==I||l[27]!==e?(t=(0,r(d[9]).jsx)(o.default,{style:I,children:e}),l[26]=I,l[27]=e,l[28]=t):t=l[28],t}const e=x.source;let t;return l[29]!==I||l[30]!==e?(t=(0,r(d[9]).jsx)(n.default,{source:e,style:I,resizeMode:"cover",accessibilityLabel:"\u5934\u50cf"}),l[29]=I,l[30]=e,l[31]=t):t=l[31],t}const{image:M,color:z}=w;let L;l[32]!==c?(L=Math.round(.7*c),l[32]=c,l[33]=L):L=l[33];const P=L;let R,U,G;return l[34]!==P?(R={width:P,height:P},l[34]=P,l[35]=R):R=l[35],l[36]!==z||l[37]!==M||l[38]!==R?(U=(0,r(d[9]).jsx)(n.default,{source:M,style:R,tintColor:z,resizeMode:"contain"}),l[36]=z,l[37]=M,l[38]=R,l[39]=U):U=l[39],l[40]!==C||l[41]!==U?(G=(0,r(d[9]).jsx)(o.default,{style:C,accessibilityLabel:"\u5934\u50cf",children:U}),l[40]=C,l[41]=U,l[42]=G):G=l[42],G},c=(0,r(d[10]).memo)(s),u=l.default.create({avatar:{},iconContainer:{alignItems:'center',justifyContent:'center',overflow:'hidden'}})},1493,[1222,539,38,459,1092,1098,1125,1218,1494,700,36]);
1720
1720
  __d(function(g,r,_i,a,m,_e,d){"use strict";var t;Object.defineProperty(_e,'__esModule',{value:!0}),_e.getAvatarIcon=function(t){const u=o(t)%n.length;return{image:e,color:n[u]}};const e=((t=r(d[0]))&&t.__esModule?t:{default:t}).default,n=['#C0392B','#E67E22','#D4AC0D','#27AE60','#16A085','#2980B9','#8E44AD','#E84393','#2C3E50','#D35400','#1ABC9C','#6C5CE7','#A04000','#1F618D','#7D3C98','#196F3D','#CB4335','#5B2C6F','#1A5276','#B7950B'];function o(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.codePointAt(n)||0,e=Math.imul(e,16777619);return e>>>0}},1494,[1495]);
1721
- __d(function(t,a,s,f,i,r,e){i.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/avatars/seat/wolf-paw.f29d2f0a98408f654324fa3af906b8ad.png",width:512,height:512,toString(){return this.uri}}},1495,[]);
1721
+ __d(function(t,a,s,f,i,r,e){i.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/avatars/seat/wolf-paw.f29d2f0a98408f654324fa3af906b8ad.png",width:512,height:512,toString(){return this.uri}}},1495,[]);
1722
1722
  __d(function(g,_r,i,a,m,_e,_d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"LegendaryShimmer",{enumerable:!0,get:function(){return P}});var e=_r(_d[0]),r=t(e),n=t(_r(_d[1]));const o=r.default.createAnimatedComponent(_r(_d[1]).Rect),s=r.default.createAnimatedComponent(_r(_d[1]).Circle),_=(function({_worklet_10614753754611_init_data:t}){const e=function(t,e,r,n,o){let s=(t%1+1)%1*(2*(n+o));return s<n?{x:e+s,y:r}:(s-=n,s<o?{x:e+n,y:r+s}:(s-=o,s<n?{x:e+n-s,y:r+o}:(s-=n,{x:e,y:r+o-s})))};return e.__closure={},e.__workletHash=0x9a770a07df3,e.__initData=t,e})({_worklet_10614753754611_init_data:{code:"function perimeterPoint_LegendaryShimmerTsx1(t,x0,y0,w,h){const perimeter=2*(w+h);let d=(t%1+1)%1*perimeter;if(d<w)return{x:x0+d,y:y0};d-=w;if(d<h)return{x:x0+w,y:y0+d};d-=h;if(d<w)return{x:x0+w-d,y:y0+h};d-=w;return{x:x0,y:y0+h-d};}"}}),c={code:"function LegendaryShimmerTsx2(){const{perimeterPoint,orbit}=this.__closure;const pt=perimeterPoint(orbit.value,-2,-2,104,104);return{cx:pt.x,cy:pt.y,opacity:0.7,r:4};}"},l={code:"function LegendaryShimmerTsx3(){const{perimeterPoint,orbit}=this.__closure;const pt_0=perimeterPoint(orbit.value-0.04,-2,-2,104,104);return{cx:pt_0.x,cy:pt_0.y,opacity:0.35,r:3};}"},u={code:"function LegendaryShimmerTsx4(){const{perimeterPoint,orbit}=this.__closure;const pt_1=perimeterPoint(orbit.value+0.5,-2,-2,104,104);return{cx:pt_1.x,cy:pt_1.y,opacity:0.5,r:3.5};}"},p={code:"function LegendaryShimmerTsx5(){const{perimeterPoint,orbit}=this.__closure;const pt_2=perimeterPoint(orbit.value+0.46,-2,-2,104,104);return{cx:pt_2.x,cy:pt_2.y,opacity:0.25,r:2.5};}"},d={code:"function LegendaryShimmerTsx6(){const{glow}=this.__closure;const t=glow.value;const alpha=0.1+Math.sin(t*Math.PI*2)*0.13;return{opacity:alpha,strokeWidth:5};}"},h={code:"function LegendaryShimmerTsx7(){const{sparkle}=this.__closure;const t_0=sparkle.value;const alpha_0=Math.max(0,Math.sin(t_0*Math.PI*2))*0.75;const r=1.2+Math.sin(t_0*Math.PI*2)*1;return{opacity:alpha_0,r:r};}"},x={code:"function LegendaryShimmerTsx8(){const{sparkle}=this.__closure;const t_1=(sparkle.value+0.25)%1;const alpha_1=Math.max(0,Math.sin(t_1*Math.PI*2))*0.75;const r_0=1.2+Math.sin(t_1*Math.PI*2)*1;return{opacity:alpha_1,r:r_0};}"},y={code:"function LegendaryShimmerTsx9(){const{sparkle}=this.__closure;const t_2=(sparkle.value+0.5)%1;const alpha_2=Math.max(0,Math.sin(t_2*Math.PI*2))*0.75;const r_1=1.2+Math.sin(t_2*Math.PI*2)*1;return{opacity:alpha_2,r:r_1};}"},f={code:"function LegendaryShimmerTsx10(){const{sparkle}=this.__closure;const t_3=(sparkle.value+0.75)%1;const alpha_3=Math.max(0,Math.sin(t_3*Math.PI*2))*0.75;const r_2=1.2+Math.sin(t_3*Math.PI*2)*1;return{opacity:alpha_3,r:r_2};}"},P=(0,_r(_d[2]).memo)(t=>{const r=(0,_r(_d[3]).c)(47),{size:P,rx:k}=t,w=(0,e.useSharedValue)(0),M=(0,e.useSharedValue)(0),v=(0,e.useSharedValue)(0);let b,F;r[0]!==M||r[1]!==w||r[2]!==v?(b=()=>{w.value=(0,e.withRepeat)((0,e.withTiming)(1,{duration:3e3,easing:e.Easing.linear}),-1,!1,void 0,e.ReduceMotion.Never),M.value=(0,e.withRepeat)((0,e.withTiming)(1,{duration:3200,easing:e.Easing.linear}),-1,!1,void 0,e.ReduceMotion.Never),v.value=(0,e.withRepeat)((0,e.withTiming)(1,{duration:2400,easing:e.Easing.linear}),-1,!1,void 0,e.ReduceMotion.Never)},F=[w,M,v],r[0]=M,r[1]=w,r[2]=v,r[3]=b,r[4]=F):(b=r[3],F=r[4]),(0,_r(_d[2]).useEffect)(b,F);const D=`lgw${(0,_r(_d[2]).useId)()}`,I=(0,e.useAnimatedProps)((function({_worklet_15581345280767_init_data:t,perimeterPoint:e,orbit:r}){const n=function(){const t=e(r.value,-2,-2,104,104);return{cx:t.x,cy:t.y,opacity:.7,r:4}};return n.__closure={perimeterPoint:e,orbit:r},n.__workletHash=0xe2bd08cf2ff,n.__initData=t,n})({_worklet_15581345280767_init_data:c,perimeterPoint:_,orbit:w})),S=(0,e.useAnimatedProps)((function({_worklet_4459748819984_init_data:t,perimeterPoint:e,orbit:r}){const n=function(){const t=e(r.value-.04,-2,-2,104,104);return{cx:t.x,cy:t.y,opacity:.35,r:3}};return n.__closure={perimeterPoint:e,orbit:r},n.__workletHash=4459748819984,n.__initData=t,n})({_worklet_4459748819984_init_data:l,perimeterPoint:_,orbit:w})),j=(0,e.useAnimatedProps)((function({_worklet_9632952051977_init_data:t,perimeterPoint:e,orbit:r}){const n=function(){const t=e(r.value+.5,-2,-2,104,104);return{cx:t.x,cy:t.y,opacity:.5,r:3.5}};return n.__closure={perimeterPoint:e,orbit:r},n.__workletHash=9632952051977,n.__initData=t,n})({_worklet_9632952051977_init_data:u,perimeterPoint:_,orbit:w})),A=(0,e.useAnimatedProps)((function({_worklet_13213920747663_init_data:t,perimeterPoint:e,orbit:r}){const n=function(){const t=e(r.value+.46,-2,-2,104,104);return{cx:t.x,cy:t.y,opacity:.25,r:2.5}};return n.__closure={perimeterPoint:e,orbit:r},n.__workletHash=0xc049b0d608f,n.__initData=t,n})({_worklet_13213920747663_init_data:p,perimeterPoint:_,orbit:w})),L=(0,e.useAnimatedProps)((function({_worklet_15040508920181_init_data:t,glow:e}){const r=function(){const t=e.value;return{opacity:.1+.13*Math.sin(t*Math.PI*2),strokeWidth:5}};return r.__closure={glow:e},r.__workletHash=0xdade4310175,r.__initData=t,r})({_worklet_15040508920181_init_data:d,glow:M})),T=(0,e.useAnimatedProps)((function({_worklet_16289887964777_init_data:t,sparkle:e}){const r=function(){const t=e.value;return{opacity:.75*Math.max(0,Math.sin(t*Math.PI*2)),r:1.2+1*Math.sin(t*Math.PI*2)}};return r.__closure={sparkle:e},r.__workletHash=0xed0c8fc4e69,r.__initData=t,r})({_worklet_16289887964777_init_data:h,sparkle:v})),H=(0,e.useAnimatedProps)((function({_worklet_701226442272_init_data:t,sparkle:e}){const r=function(){const t=(e.value+.25)%1;return{opacity:.75*Math.max(0,Math.sin(t*Math.PI*2)),r:1.2+1*Math.sin(t*Math.PI*2)}};return r.__closure={sparkle:e},r.__workletHash=701226442272,r.__initData=t,r})({_worklet_701226442272_init_data:x,sparkle:v})),R=(0,e.useAnimatedProps)((function({_worklet_15799400168784_init_data:t,sparkle:e}){const r=function(){const t=(e.value+.5)%1;return{opacity:.75*Math.max(0,Math.sin(t*Math.PI*2)),r:1.2+1*Math.sin(t*Math.PI*2)}};return r.__closure={sparkle:e},r.__workletHash=0xe5e95a27d50,r.__initData=t,r})({_worklet_15799400168784_init_data:y,sparkle:v})),C=(0,e.useAnimatedProps)((function({_worklet_1097123722558_init_data:t,sparkle:e}){const r=function(){const t=(e.value+.75)%1;return{opacity:.75*Math.max(0,Math.sin(t*Math.PI*2)),r:1.2+1*Math.sin(t*Math.PI*2)}};return r.__closure={sparkle:e},r.__workletHash=0xff71ab753e,r.__initData=t,r})({_worklet_1097123722558_init_data:f,sparkle:v}));let E;r[5]!==T||r[6]!==H||r[7]!==R||r[8]!==C?(E=[T,H,R,C],r[5]=T,r[6]=H,r[7]=R,r[8]=C,r[9]=E):E=r[9];const O=E;let N,V,W,$,z,B,G,q;r[10]===Symbol.for("react.memo_cache_sentinel")?(N=(0,_r(_d[4]).jsx)(_r(_d[1]).Stop,{offset:"0",stopColor:"#F5A623",stopOpacity:1}),V=(0,_r(_d[4]).jsx)(_r(_d[1]).Stop,{offset:"0.5",stopColor:"#FFD700",stopOpacity:1}),W=(0,_r(_d[4]).jsx)(_r(_d[1]).Stop,{offset:"1",stopColor:"#F5A623",stopOpacity:1}),r[10]=N,r[11]=V,r[12]=W):(N=r[10],V=r[11],W=r[12]),r[13]!==D?($=(0,_r(_d[4]).jsx)(_r(_d[1]).Defs,{children:(0,_r(_d[4]).jsxs)(_r(_d[1]).LinearGradient,{id:D,x1:"0",y1:"0",x2:"1",y2:"1",children:[N,V,W]})}),r[13]=D,r[14]=$):$=r[14],r[15]!==S?(z=(0,_r(_d[4]).jsx)(s,{animatedProps:S,fill:"#FFD700"}),r[15]=S,r[16]=z):z=r[16],r[17]!==I?(B=(0,_r(_d[4]).jsx)(s,{animatedProps:I,fill:"#FFFDE8"}),r[17]=I,r[18]=B):B=r[18],r[19]!==A?(G=(0,_r(_d[4]).jsx)(s,{animatedProps:A,fill:"#FFD700"}),r[19]=A,r[20]=G):G=r[20],r[21]!==j?(q=(0,_r(_d[4]).jsx)(s,{animatedProps:j,fill:"#FFFDE8"}),r[21]=j,r[22]=q):q=r[22];const J=k+2,K=`url(#${D})`;let Q,U,X,Y,Z,tt;return r[23]!==L||r[24]!==J||r[25]!==K?(Q=(0,_r(_d[4]).jsx)(o,{animatedProps:L,x:-3,y:-3,width:106,height:106,rx:J,fill:"none",stroke:K}),r[23]=L,r[24]=J,r[25]=K,r[26]=Q):Q=r[26],r[27]!==O[0]?(U=(0,_r(_d[4]).jsx)(s,{animatedProps:O[0],cx:4,cy:4,fill:"#FFD700"}),r[27]=O[0],r[28]=U):U=r[28],r[29]!==O[1]?(X=(0,_r(_d[4]).jsx)(s,{animatedProps:O[1],cx:96,cy:4,fill:"#FFD700"}),r[29]=O[1],r[30]=X):X=r[30],r[31]!==O[2]?(Y=(0,_r(_d[4]).jsx)(s,{animatedProps:O[2],cx:96,cy:96,fill:"#FFD700"}),r[31]=O[2],r[32]=Y):Y=r[32],r[33]!==O[3]?(Z=(0,_r(_d[4]).jsx)(s,{animatedProps:O[3],cx:4,cy:96,fill:"#FFD700"}),r[33]=O[3],r[34]=Z):Z=r[34],r[35]!==P||r[36]!==G||r[37]!==q||r[38]!==Q||r[39]!==U||r[40]!==X||r[41]!==Y||r[42]!==Z||r[43]!==$||r[44]!==z||r[45]!==B?(tt=(0,_r(_d[4]).jsxs)(n.default,{width:P,height:P,viewBox:"-8 -8 116 116",children:[$,z,B,G,q,Q,U,X,Y,Z]}),r[35]=P,r[36]=G,r[37]=q,r[38]=Q,r[39]=U,r[40]=X,r[41]=Y,r[42]=Z,r[43]=$,r[44]=z,r[45]=B,r[46]=tt):tt=r[46],tt});P.displayName='LegendaryShimmer'},1496,[608,981,36,1092,700]);
1723
1723
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AVATAR_FRAMES",{enumerable:!0,get:function(){return o}}),e.getFrameById=function(n){return n?t.get(n):void 0};const n=(function(){const n={ironForge:{name:'\u94c1\u953b',Component:r(d[0]).IronForgeFrame},moonSilver:{name:'\u6708\u94f6',Component:r(d[1]).MoonSilverFrame},bloodThorn:{name:'\u8840\u68d8',Component:r(d[2]).BloodThornFrame},runicSeal:{name:'\u7b26\u5370',Component:r(d[3]).RunicSealFrame},boneGate:{name:'\u9aa8\u95e8',Component:r(d[4]).BoneGateFrame},hellFire:{name:'\u72f1\u7130',Component:r(d[5]).HellFireFrame},darkVine:{name:'\u6697\u85e4',Component:r(d[6]).DarkVineFrame},frostCrystal:{name:'\u971c\u6676',Component:r(d[7]).FrostCrystalFrame},pharaohGold:{name:'\u5893\u91d1',Component:r(d[8]).PharaohGoldFrame},voidRift:{name:'\u865a\u88c2',Component:r(d[9]).VoidRiftFrame},stormBolt:{name:'\u96f7\u66b4',Component:r(d[10]).StormBoltFrame},sakuraDrift:{name:'\u6a31\u6563',Component:r(d[11]).SakuraDriftFrame},dragonScale:{name:'\u9f99\u9cde',Component:r(d[12]).DragonScaleFrame},jadeSeal:{name:'\u7389\u5370',Component:r(d[13]).JadeSealFrame},starNebula:{name:'\u661f\u4e91',Component:r(d[14]).StarNebulaFrame},shadowWeave:{name:'\u5f71\u7ec7',Component:r(d[15]).ShadowWeaveFrame},coralReef:{name:'\u73ca\u745a',Component:r(d[16]).CoralReefFrame},emberAsh:{name:'\u4f59\u70ec',Component:r(d[17]).EmberAshFrame},celestialRing:{name:'\u5929\u73af',Component:r(d[18]).CelestialRingFrame},obsidianEdge:{name:'\u9ed1\u66dc',Component:r(d[19]).ObsidianEdgeFrame},nightShade:{name:'\u591c\u5f71',Component:r(d[20]).NightShadeFrame},sunForge:{name:'\u65e5\u953b',Component:r(d[21]).SunForgeFrame},crystalVein:{name:'\u6676\u8109',Component:r(d[22]).CrystalVeinFrame},wolfFang:{name:'\u72fc\u7259',Component:r(d[23]).WolfFangFrame},serpentScale:{name:'\u86c7\u9cde',Component:r(d[24]).SerpentScaleFrame},thornCrown:{name:'\u8346\u51a0',Component:r(d[25]).ThornCrownFrame},mysticRune:{name:'\u79d8\u6587',Component:r(d[26]).MysticRuneFrame},wildBriar:{name:'\u91ce\u8537\u8587',Component:r(d[27]).WildBriarFrame},venomGlass:{name:'\u6bd2\u73bb\u7483',Component:r(d[28]).VenomGlassFrame},starForge:{name:'\u661f\u953b',Component:r(d[29]).StarForgeFrame},duskIron:{name:'\u66ae\u94c1',Component:r(d[30]).DuskIronFrame},spectralEdge:{name:'\u5e7d\u5149\u5203',Component:r(d[31]).SpectralEdgeFrame},wraithBone:{name:'\u5e7d\u9aa8',Component:r(d[32]).WraithBoneFrame},viperCoil:{name:'\u8770\u86c7',Component:r(d[33]).ViperCoilFrame},moonGate:{name:'\u6708\u95e8',Component:r(d[34]).MoonGateFrame},stormWeave:{name:'\u98ce\u66b4\u7ec7',Component:r(d[35]).StormWeaveFrame},sandStone:{name:'\u7802\u5ca9',Component:r(d[36]).SandStoneFrame},ravenWing:{name:'\u9e26\u7fbd',Component:r(d[37]).RavenWingFrame},frostForge:{name:'\u971c\u953b',Component:r(d[38]).FrostForgeFrame},goldLeaf:{name:'\u91d1\u7b94',Component:r(d[39]).GoldLeafFrame},spiritBark:{name:'\u7075\u6728',Component:r(d[40]).SpiritBarkFrame},nightBloom:{name:'\u591c\u7efd',Component:r(d[41]).NightBloomFrame},flameThorn:{name:'\u7130\u68d8',Component:r(d[42]).FlameThornFrame},oceanDeep:{name:'\u6df1\u6d77',Component:r(d[43]).OceanDeepFrame},thunderForge:{name:'\u96f7\u953b',Component:r(d[44]).ThunderForgeFrame},witchMark:{name:'\u5deb\u75d5',Component:r(d[45]).WitchMarkFrame},lionCrest:{name:'\u72ee\u7eb9',Component:r(d[46]).LionCrestFrame},sirenCall:{name:'\u6d77\u5996',Component:r(d[47]).SirenCallFrame},ashWood:{name:'\u7070\u6728',Component:r(d[48]).AshWoodFrame},crystalThorn:{name:'\u6676\u68d8',Component:r(d[49]).CrystalThornFrame}};return Object.assign({},n,r(d[50]).COMMON_FRAME_ENTRIES,r(d[50]).RARE_FRAME_ENTRIES)})(),o=r(d[51]).FRAME_IDS.map(o=>Object.assign({id:o},n[o])),t=new Map(o.map(n=>[n.id,n]))},1497,[1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1126]);
1724
1724
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"IronForgeFrame",{enumerable:!0,get:function(){return o}});var t,e=(t=r(d[0]))&&t.__esModule?t:{default:t};const o=(0,r(d[1]).memo)(t=>{const o=(0,r(d[2]).c)(95),{size:s,rx:l}=t,c=(0,r(d[1]).useId)(),n=`ironGrad${c}`,x=`forgeGlow${c}`,y=.29*l;let k,h,f,j,A,p,W,u;o[0]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r(d[3]).jsx)(r(d[0]).Stop,{offset:"0",stopColor:"#8B7355",stopOpacity:.95}),h=(0,r(d[3]).jsx)(r(d[0]).Stop,{offset:"0.5",stopColor:"#5A4A38",stopOpacity:1}),f=(0,r(d[3]).jsx)(r(d[0]).Stop,{offset:"1",stopColor:"#3A3028",stopOpacity:.95}),o[0]=k,o[1]=h,o[2]=f):(k=o[0],h=o[1],f=o[2]),o[3]!==n?(j=(0,r(d[3]).jsxs)(r(d[0]).LinearGradient,{id:n,x1:"0",y1:"0",x2:"1",y2:"1",children:[k,h,f]}),o[3]=n,o[4]=j):j=o[4],o[5]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r(d[3]).jsx)(r(d[0]).Stop,{offset:"0",stopColor:"#FF8C00",stopOpacity:.5}),p=(0,r(d[3]).jsx)(r(d[0]).Stop,{offset:"1",stopColor:"#FF4500",stopOpacity:.2}),o[5]=A,o[6]=p):(A=o[5],p=o[6]),o[7]!==x?(W=(0,r(d[3]).jsxs)(r(d[0]).LinearGradient,{id:x,x1:"0",y1:"0",x2:"1",y2:"1",children:[A,p]}),o[7]=x,o[8]=W):W=o[8],o[9]!==j||o[10]!==W?(u=(0,r(d[3]).jsxs)(r(d[0]).Defs,{children:[j,W]}),o[9]=j,o[10]=W,o[11]=u):u=o[11];const C=`M0,${l} Q0,0 ${l},0`,$=`url(#${x})`;let B;o[12]!==$||o[13]!==C?(B=(0,r(d[3]).jsx)(r(d[0]).Path,{d:C,fill:"none",stroke:$,strokeWidth:6,strokeLinecap:"round",opacity:.4}),o[12]=$,o[13]=C,o[14]=B):B=o[14];const L=`M${100-l},0 Q100,0 100,${l}`,_=`url(#${x})`;let M;o[15]!==L||o[16]!==_?(M=(0,r(d[3]).jsx)(r(d[0]).Path,{d:L,fill:"none",stroke:_,strokeWidth:6,strokeLinecap:"round",opacity:.4}),o[15]=L,o[16]=_,o[17]=M):M=o[17];const P=`M0,${100-l} Q0,100 ${l},100`,S=`url(#${x})`;let F;o[18]!==P||o[19]!==S?(F=(0,r(d[3]).jsx)(r(d[0]).Path,{d:P,fill:"none",stroke:S,strokeWidth:6,strokeLinecap:"round",opacity:.4}),o[18]=P,o[19]=S,o[20]=F):F=o[20];const Q=`M${100-l},100 Q100,100 100,${100-l}`,b=`url(#${x})`;let O;o[21]!==Q||o[22]!==b?(O=(0,r(d[3]).jsx)(r(d[0]).Path,{d:Q,fill:"none",stroke:b,strokeWidth:6,strokeLinecap:"round",opacity:.4}),o[21]=Q,o[22]=b,o[23]=O):O=o[23];const w=`url(#${n})`;let G;o[24]!==l||o[25]!==w?(G=(0,r(d[3]).jsx)(r(d[0]).Rect,{x:0,y:0,width:100,height:100,rx:l,fill:"none",stroke:w,strokeWidth:4}),o[24]=l,o[25]=w,o[26]=G):G=o[26];const v=Math.max(l-4,0);let I;o[27]!==v?(I=(0,r(d[3]).jsx)(r(d[0]).Rect,{x:6,y:6,width:88,height:88,rx:v,fill:"none",stroke:"#5A4A38",strokeWidth:1.5,opacity:.85}),o[27]=v,o[28]=I):I=o[28];const R=`M0,${l} Q0,0 ${l},0`;let z;o[29]!==R?(z=(0,r(d[3]).jsx)(r(d[0]).Path,{d:R,fill:"none",stroke:"#A08A68",strokeWidth:3,strokeLinecap:"round"}),o[29]=R,o[30]=z):z=o[30];const D=`M${100-l},0 Q100,0 100,${l}`;let N;o[31]!==D?(N=(0,r(d[3]).jsx)(r(d[0]).Path,{d:D,fill:"none",stroke:"#A08A68",strokeWidth:3,strokeLinecap:"round"}),o[31]=D,o[32]=N):N=o[32];const q=`M0,${100-l} Q0,100 ${l},100`;let E;o[33]!==q?(E=(0,r(d[3]).jsx)(r(d[0]).Path,{d:q,fill:"none",stroke:"#A08A68",strokeWidth:3,strokeLinecap:"round"}),o[33]=q,o[34]=E):E=o[34];const H=`M${100-l},100 Q100,100 100,${100-l}`;let J,K;o[35]!==H?(J=(0,r(d[3]).jsx)(r(d[0]).Path,{d:H,fill:"none",stroke:"#A08A68",strokeWidth:3,strokeLinecap:"round"}),o[35]=H,o[36]=J):J=o[36],o[37]===Symbol.for("react.memo_cache_sentinel")?(K=(0,r(d[3]).jsxs)(r(d[0]).G,{opacity:.35,stroke:"#A08A68",strokeWidth:.8,strokeLinecap:"round",children:[(0,r(d[3]).jsx)(r(d[0]).Line,{x1:30,y1:1,x2:34,y2:-1}),(0,r(d[3]).jsx)(r(d[0]).Line,{x1:66,y1:1,x2:70,y2:-1}),(0,r(d[3]).jsx)(r(d[0]).Line,{x1:30,y1:99,x2:34,y2:101}),(0,r(d[3]).jsx)(r(d[0]).Line,{x1:66,y1:99,x2:70,y2:101}),(0,r(d[3]).jsx)(r(d[0]).Line,{x1:1,y1:30,x2:-1,y2:34}),(0,r(d[3]).jsx)(r(d[0]).Line,{x1:1,y1:66,x2:-1,y2:70}),(0,r(d[3]).jsx)(r(d[0]).Line,{x1:99,y1:30,x2:101,y2:34}),(0,r(d[3]).jsx)(r(d[0]).Line,{x1:99,y1:66,x2:101,y2:70})]}),o[37]=K):K=o[37];const T=y-1,U=y-1;let V;o[38]!==T||o[39]!==U?(V=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:T,cy:U,r:3.5,fill:"#8B7355",stroke:"#2A2520",strokeWidth:1}),o[38]=T,o[39]=U,o[40]=V):V=o[40];const X=101-y,Y=y-1;let Z;o[41]!==X||o[42]!==Y?(Z=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:X,cy:Y,r:3.5,fill:"#8B7355",stroke:"#2A2520",strokeWidth:1}),o[41]=X,o[42]=Y,o[43]=Z):Z=o[43];const tt=y-1,et=101-y;let ot;o[44]!==tt||o[45]!==et?(ot=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:tt,cy:et,r:3.5,fill:"#8B7355",stroke:"#2A2520",strokeWidth:1}),o[44]=tt,o[45]=et,o[46]=ot):ot=o[46];const st=101-y,rt=101-y;let it;o[47]!==st||o[48]!==rt?(it=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:st,cy:rt,r:3.5,fill:"#8B7355",stroke:"#2A2520",strokeWidth:1}),o[47]=st,o[48]=rt,o[49]=it):it=o[49];const lt=y-2,ct=y-2;let nt;o[50]!==lt||o[51]!==ct?(nt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:lt,cy:ct,r:1,fill:"#B8A080",opacity:.6}),o[50]=lt,o[51]=ct,o[52]=nt):nt=o[52];const xt=102-y,dt=y-2;let yt;o[53]!==xt||o[54]!==dt?(yt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:xt,cy:dt,r:1,fill:"#B8A080",opacity:.6}),o[53]=xt,o[54]=dt,o[55]=yt):yt=o[55];const kt=y-2,at=102-y;let ht;o[56]!==kt||o[57]!==at?(ht=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:kt,cy:at,r:1,fill:"#B8A080",opacity:.6}),o[56]=kt,o[57]=at,o[58]=ht):ht=o[58];const ft=102-y,jt=102-y;let At,pt,Wt,ut,Ct,$t,Bt,mt,Lt,_t,Mt,Pt,St,Ft;return o[59]!==ft||o[60]!==jt?(At=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:ft,cy:jt,r:1,fill:"#B8A080",opacity:.6}),o[59]=ft,o[60]=jt,o[61]=At):At=o[61],o[62]===Symbol.for("react.memo_cache_sentinel")?(pt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:50,cy:-1,r:2.2,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.6}),Wt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:50,cy:101,r:2.2,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.6}),ut=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:-1,cy:50,r:2.2,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.6}),Ct=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:101,cy:50,r:2.2,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.6}),$t=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:25,cy:-1,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),Bt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:75,cy:-1,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),mt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:25,cy:101,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),Lt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:75,cy:101,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),_t=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:-1,cy:25,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),Mt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:-1,cy:75,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),Pt=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:101,cy:25,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),St=(0,r(d[3]).jsx)(r(d[0]).Circle,{cx:101,cy:75,r:1.5,fill:"#6B5A42",stroke:"#2A2520",strokeWidth:.5}),o[62]=pt,o[63]=Wt,o[64]=ut,o[65]=Ct,o[66]=$t,o[67]=Bt,o[68]=mt,o[69]=Lt,o[70]=_t,o[71]=Mt,o[72]=Pt,o[73]=St):(pt=o[62],Wt=o[63],ut=o[64],Ct=o[65],$t=o[66],Bt=o[67],mt=o[68],Lt=o[69],_t=o[70],Mt=o[71],Pt=o[72],St=o[73]),o[74]!==s||o[75]!==B||o[76]!==M||o[77]!==F||o[78]!==O||o[79]!==G||o[80]!==I||o[81]!==z||o[82]!==N||o[83]!==E||o[84]!==J||o[85]!==V||o[86]!==Z||o[87]!==ot||o[88]!==it||o[89]!==nt||o[90]!==yt||o[91]!==ht||o[92]!==At||o[93]!==u?(Ft=(0,r(d[3]).jsxs)(e.default,{width:s,height:s,viewBox:"-8 -8 116 116",children:[u,B,M,F,O,G,I,z,N,E,J,K,V,Z,ot,it,nt,yt,ht,At,pt,Wt,ut,Ct,$t,Bt,mt,Lt,_t,Mt,Pt,St]}),o[74]=s,o[75]=B,o[76]=M,o[77]=F,o[78]=O,o[79]=G,o[80]=I,o[81]=z,o[82]=N,o[83]=E,o[84]=J,o[85]=V,o[86]=Z,o[87]=ot,o[88]=it,o[89]=nt,o[90]=yt,o[91]=ht,o[92]=At,o[93]=u,o[94]=Ft):Ft=o[94],Ft});o.displayName='IronForgeFrame'},1498,[981,36,1092,700]);
@@ -2134,9 +2134,9 @@ __d(function(g,_r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule'
2134
2134
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ConfigScreen",{enumerable:!0,get:function(){return y}});var t=e(r(d[0])),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),f=r(d[7]),h=r(d[8]),S=r(d[9]);const y=()=>{const e=(0,r(d[10]).c)(79),y=(0,r(d[11]).useSafeAreaInsets)();let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r(d[12]).createConfigScreenStyles)(r(d[13]).colors),e[0]=p):p=e[0];const C=p,I=(0,r(d[14]).useNavigation)(),b=(0,r(d[14]).useRoute)(),j=b.params?.existingRoomCode,v=b.params?.presetName,_=b.params?.nominateMode,T=(0,r(d[15]).useGameFacade)(),{settingsService:P,authService:R}=(0,r(d[16]).useServices)();let B;e[1]!==R||e[2]!==j||e[3]!==T||e[4]!==I||e[5]!==_||e[6]!==v||e[7]!==P?(B={existingRoomCode:j,presetName:v,nominateMode:_,navigation:I,facade:T,settingsService:P,authService:R},e[1]=R,e[2]=j,e[3]=T,e[4]=I,e[5]=_,e[6]=v,e[7]=P,e[8]=B):B=e[8];const A=(0,S.useConfigScreenState)(B),{isEditMode:k,isNominateMode:D,isDisabled:V,isLoading:O,isCreating:E,selection:F,totalCount:M,variantOverrides:w,handleGoBack:z,handleTemplatePillPress:L,handleCreateRoom:N,toggleRole:G,handleClearSelection:H,selectedTemplateLabel:K,roleInfoId:q,roleInfoVariantIds:J,roleInfoActiveVariant:Q,handleChipInfoPress:U,handleCloseRoleInfo:W,handleRoleInfoVariantSelect:X,tabItems:Y,activeTab:Z,activeGroup:$,handleTabPress:ee,getBulkCount:te,handleBulkCountChange:oe,getFactionAccentColor:ne}=A;let le;e[9]===Symbol.for("react.memo_cache_sentinel")?(le=["left","right"],e[9]=le):le=e[9];const ae=y.top+r(d[13]).layout.headerPaddingV;let se,re,ie,ce,de,ue,me,fe,he,Se,ye,ge,xe,pe,Ce,Ie,be;e[10]!==ae?(se=[C.header,{paddingTop:ae}],e[10]=ae,e[11]=se):se=e[11],e[12]===Symbol.for("react.memo_cache_sentinel")?(re=(0,r(d[17]).jsx)(t.default,{name:"chevron-back",size:r(d[13]).componentSizes.icon.lg,color:r(d[13]).colors.text}),e[12]=re):re=e[12],e[13]!==z?(ie=(0,r(d[17]).jsx)(u.Button,{variant:"icon",onPress:z,testID:r(d[18]).TESTIDS.configBackButton,children:re}),e[13]=z,e[14]=ie):ie=e[14],e[15]!==K?(ce=(0,r(d[17]).jsx)(l.default,{style:C.templatePillText,children:K}),e[15]=K,e[16]=ce):ce=e[16],e[17]===Symbol.for("react.memo_cache_sentinel")?(de=(0,r(d[17]).jsx)(t.default,{name:"chevron-down",size:r(d[13]).componentSizes.icon.xs,color:r(d[13]).colors.textSecondary}),e[17]=de):de=e[17],e[18]!==L||e[19]!==ce?(ue=(0,r(d[17]).jsxs)(s.default,{style:C.templatePill,activeOpacity:.7,onPress:L,testID:r(d[18]).TESTIDS.configTemplatePill,children:[ce,de]}),e[18]=L,e[19]=ce,e[20]=ue):ue=e[20],e[21]!==M?(me=(0,r(d[17]).jsxs)(l.default,{style:C.playerCount,children:[M,"\u4eba"]}),e[21]=M,e[22]=me):me=e[22],e[23]!==me||e[24]!==ue?(fe=(0,r(d[17]).jsxs)(c.default,{style:C.headerCenter,children:[ue,me]}),e[23]=me,e[24]=ue,e[25]=fe):fe=e[25],e[26]===Symbol.for("react.memo_cache_sentinel")?(he=(0,r(d[17]).jsx)(t.default,{name:"trash-outline",size:r(d[13]).componentSizes.icon.md,color:r(d[13]).colors.text}),e[26]=he):he=e[26],e[27]!==H?(Se=(0,r(d[17]).jsx)(u.Button,{variant:"icon",onPress:H,testID:r(d[18]).TESTIDS.configOverflowReset,accessibilityLabel:"\u91cd\u7f6e\u914d\u7f6e",children:he}),e[27]=H,e[28]=Se):Se=e[28],e[29]!==fe||e[30]!==Se||e[31]!==se||e[32]!==ie?(ye=(0,r(d[17]).jsxs)(c.default,{style:se,children:[ie,fe,Se]}),e[29]=fe,e[30]=Se,e[31]=se,e[32]=ie,e[33]=ye):ye=e[33],e[34]!==Z||e[35]!==ee||e[36]!==Y?(ge=(0,r(d[17]).jsx)(c.default,{style:C.cardA,children:(0,r(d[17]).jsx)(r(d[12]).FactionTabs,{tabs:Y,activeKey:Z,onTabPress:ee,styles:C})}),e[34]=Z,e[35]=ee,e[36]=Y,e[37]=ge):ge=e[37],e[38]!==$||e[39]!==te||e[40]!==ne||e[41]!==oe||e[42]!==U||e[43]!==O||e[44]!==F||e[45]!==G||e[46]!==w?(xe=O?(0,r(d[17]).jsx)(f.LoadingScreen,{message:"\u52a0\u8f7d\u4e2d",fullScreen:!1}):(0,r(d[17]).jsx)(r(d[17]).Fragment,{children:(0,r(d[17]).jsx)(n.default,{style:C.scrollView,showsVerticalScrollIndicator:!1,contentContainerStyle:C.scrollContent,children:(0,r(d[17]).jsx)(c.default,{style:C.cardB,children:$.sections.map((e,t)=>{const n=e.faction??$.faction,l=ne(n),s=e.roles.find(x);if(s){const n=s.count??1,u=te(s.roleId,n),f=r(d[19]).ROLE_SPECS[s.roleId];return(0,r(d[17]).jsxs)(o.default.Fragment,{children:[(0,r(d[17]).jsx)(r(d[12]).RoleStepper,{roleId:s.roleId,label:f?.displayName??s.roleId,count:u,maxCount:n,onCountChange:oe,styles:C,accentColor:l}),t<$.sections.length-1&&(0,r(d[17]).jsx)(c.default,{style:C.cardBDivider})]},e.title)}const u=r(d[20]).FACTION_COLOR_MAP[n]??"villager";return(0,r(d[17]).jsxs)(o.default.Fragment,{children:[t>0&&(0,r(d[17]).jsx)(c.default,{style:C.cardBDivider}),(0,r(d[17]).jsx)(r(d[12]).Section,{title:e.title,styles:C,children:e.roles.flatMap(e=>(0,r(d[20]).expandSlotToChipEntries)(e,w)).map(e=>(0,r(d[17]).jsx)(r(d[12]).RoleChip,{id:e.key,label:e.label,selected:!!F[e.key],onToggle:G,styles:C,factionColor:u,accentColor:l,hasVariants:e.hasVariants,onInfoPress:U},e.key))})]},e.title)})})})}),e[38]=$,e[39]=te,e[40]=ne,e[41]=oe,e[42]=U,e[43]=O,e[44]=F,e[45]=G,e[46]=w,e[47]=xe):xe=e[47],e[48]!==y.bottom?(pe=y.bottom>0&&{paddingBottom:y.bottom},e[48]=y.bottom,e[49]=pe):pe=e[49],e[50]!==pe?(Ce=[C.bottomCreateBar,pe],e[50]=pe,e[51]=Ce):Ce=e[51],e[52]===Symbol.for("react.memo_cache_sentinel")?(Ie=(0,r(d[17]).jsxs)(l.default,{style:C.cardBFooterHint,children:["\u70b9\u51fb\u9876\u90e8\u677f\u5b50\u540d\u53ef\u91cd\u65b0\u9009\u677f","\n","\u70b9\u51fb\u589e\u51cf\u89d2\u8272 \xb7 \u957f\u6309\u67e5\u770b\u6280\u80fd \xb7 \u7c97\u8fb9\u6846\u53ef\u5207\u6362\u53d8\u4f53"]}),e[52]=Ie):Ie=e[52],e[53]!==N?(be=()=>{N()},e[53]=N,e[54]=be):be=e[54];const je=D?"\u63d0\u4ea4\u5efa\u8bae":k?"\u4fdd\u5b58\u914d\u7f6e":"\u521b\u5efa\u623f\u95f4";let ve,Te;e[55]!==E||e[56]!==V||e[57]!==be||e[58]!==je?(ve=(0,r(d[17]).jsx)(u.Button,{variant:"primary",onPress:be,disabled:V,loading:E,children:je}),e[55]=E,e[56]=V,e[57]=be,e[58]=je,e[59]=ve):ve=e[59],e[60]!==Ce||e[61]!==ve?(Te=(0,r(d[17]).jsxs)(c.default,{style:Ce,children:[Ie,ve]}),e[60]=Ce,e[61]=ve,e[62]=Te):Te=e[62];const Pe=null!==q,Re=q;let Be,Ae,ke;return e[63]!==W?(Be=(0,r(d[21]).isAIChatReady)()?e=>(0,r(d[22]).askAIAboutRole)(e,W):void 0,e[63]=W,e[64]=Be):Be=e[64],e[65]!==W||e[66]!==X||e[67]!==Q||e[68]!==J||e[69]!==Pe||e[70]!==Re||e[71]!==Be?(Ae=(0,r(d[17]).jsx)(h.RoleCardSimple,{visible:Pe,roleId:Re,onClose:W,showRealIdentity:!0,variantIds:J,activeVariant:Q,onVariantSelect:X,onAskAI:Be}),e[65]=W,e[66]=X,e[67]=Q,e[68]=J,e[69]=Pe,e[70]=Re,e[71]=Be,e[72]=Ae):Ae=e[72],e[73]!==ye||e[74]!==ge||e[75]!==xe||e[76]!==Te||e[77]!==Ae?(ke=(0,r(d[17]).jsxs)(r(d[11]).SafeAreaView,{style:C.container,edges:le,testID:r(d[18]).TESTIDS.configScreenRoot,children:[ye,ge,xe,Te,Ae]}),e[73]=ye,e[74]=ge,e[75]=xe,e[76]=Te,e[77]=Ae,e[78]=ke):ke=e[78],ke};function x(e){return e.isBulk}},1898,[1013,36,497,549,585,459,1119,1899,1889,1902,1092,1006,1908,1098,1704,1089,1091,700,1872,1077,1891,1060,1105]);
2135
2135
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"LoadingScreen",{enumerable:!0,get:function(){return n.LoadingScreen}});var n=r(d[0])},1899,[1900]);
2136
2136
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.LoadingScreen=function(e){const n=(0,r(d[7]).c)(31),{message:v,fullScreen:S,steps:j,error:k,onRetry:R}=e,C=void 0===v?"\u52a0\u8f7d\u4e2d":v,H=void 0===S||S,P=(0,c.useReducedMotion)(),W=(0,c.useSharedValue)(1),T=(0,c.useSharedValue)(0),[V,z]=(0,r(d[8]).useState)(0);let L;n[0]===Symbol.for("react.memo_cache_sentinel")?(L=e=>z(e.nativeEvent.layout.width),n[0]=L):L=n[0];const A=L,I=V*h,M=null!=j&&j.length>0;let B,D,E,F;n[1]!==W||n[2]!==P?(B=()=>{P||(W.value=(0,c.withRepeat)((0,c.withSequence)((0,c.withTiming)(1.05,{duration:1e3}),(0,c.withTiming)(1,{duration:1e3})),-1))},D=[W,P],n[1]=W,n[2]=P,n[3]=B,n[4]=D):(B=n[3],D=n[4]);(0,r(d[8]).useEffect)(B,D),n[5]!==M||n[6]!==T||n[7]!==P||n[8]!==V?(E=()=>{P||M||0===V||(T.value=0,T.value=(0,c.withRepeat)((0,c.withTiming)(1,{duration:y}),-1))},F=[P,M,T,V],n[5]=M,n[6]=T,n[7]=P,n[8]=V,n[9]=E,n[10]=F):(E=n[9],F=n[10]);(0,r(d[8]).useEffect)(E,F);const O=(0,c.useAnimatedStyle)((function({_worklet_5005098263141_init_data:e,pulseProgress:t,interpolate:o}){const n=()=>({transform:[{scale:t.value}],opacity:o(t.value,[1,1.05],[1,.8])});return n.__closure={pulseProgress:t,interpolate:o},n.__workletHash=5005098263141,n.__initData=e,n})({_worklet_5005098263141_init_data:f,pulseProgress:W,interpolate:c.interpolate})),X=(0,c.useAnimatedStyle)((function({_worklet_11136285993276_init_data:e,barPixelWidth:t,colors:o,interpolate:n,progressValue:s,trackWidth:l}){const c=()=>({width:t,backgroundColor:o.primary,transform:[{translateX:n(s.value,[0,1],[-t,l])}]});return c.__closure={barPixelWidth:t,colors:o,interpolate:n,progressValue:s,trackWidth:l},c.__workletHash=0xa20de5ee93c,c.__initData=e,c})({_worklet_11136285993276_init_data:x,barPixelWidth:I,colors:r(d[9]).colors,interpolate:c.interpolate,progressValue:T,trackWidth:V})),q=M?j.find(_)?.label??"\u51c6\u5907\u5c31\u7eea":null;let G;n[11]===Symbol.for("react.memo_cache_sentinel")?(G={backgroundColor:r(d[9]).colors.background},n[11]=G):G=n[11];const J=!H&&w.inlineContainer;let K,N,Q,U,Y,Z;n[12]!==J?(K=[w.container,G,J],n[12]=J,n[13]=K):K=n[13];n[14]!==O?(N=[w.iconContainer,O],n[14]=O,n[15]=N):N=n[15];n[16]===Symbol.for("react.memo_cache_sentinel")?(Q=(0,r(d[10]).jsx)(t.default,{source:p.default,style:w.icon,resizeMode:"contain"}),n[16]=Q):Q=n[16];n[17]!==N?(U=(0,r(d[10]).jsx)(u.default.View,{style:N,children:Q}),n[17]=N,n[18]=U):U=n[18];n[19]!==q||n[20]!==k||n[21]!==M||n[22]!==C||n[23]!==R||n[24]!==X||n[25]!==j?(Y=k?(0,r(d[10]).jsxs)(l.default,{style:w.errorContainer,children:[(0,r(d[10]).jsx)(s.default,{style:[w.errorText,{color:r(d[9]).colors.error}],children:k}),R&&(0,r(d[10]).jsx)(o.default,{style:[w.retryButton,{backgroundColor:r(d[9]).colors.primary}],onPress:R,accessibilityRole:"button",accessibilityLabel:"\u91cd\u8bd5",children:(0,r(d[10]).jsx)(s.default,{style:[w.retryText,{color:r(d[9]).colors.textInverse}],children:"\u91cd\u8bd5"})})]}):M?(0,r(d[10]).jsx)(l.default,{style:w.stepContainer,children:j.map(e=>(0,r(d[10]).jsx)(b,{step:e,isActive:e.label===q},e.id))}):(0,r(d[10]).jsxs)(r(d[10]).Fragment,{children:[(0,r(d[10]).jsx)(s.default,{style:[w.message,{color:r(d[9]).colors.textSecondary}],children:C}),(0,r(d[10]).jsx)(l.default,{style:[w.progressTrack,{backgroundColor:r(d[9]).colors.border}],onLayout:A,children:(0,r(d[10]).jsx)(u.default.View,{style:[w.progressBar,X]})})]}),n[19]=q,n[20]=k,n[21]=M,n[22]=C,n[23]=R,n[24]=X,n[25]=j,n[26]=Y):Y=n[26];n[27]!==K||n[28]!==U||n[29]!==Y?(Z=(0,r(d[10]).jsxs)(l.default,{style:K,children:[U,Y]}),n[27]=K,n[28]=U,n[29]=Y,n[30]=Z):Z=n[30];return Z};var t=e(r(d[0])),o=e(r(d[1])),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=r(d[5]),u=e(c),p=e(r(d[6]));const h=.3,y=1500,f={code:"function LoadingScreenTsx1(){const{pulseProgress,interpolate}=this.__closure;return{transform:[{scale:pulseProgress.value}],opacity:interpolate(pulseProgress.value,[1,1.05],[1,0.8])};}"},x={code:"function LoadingScreenTsx2(){const{barPixelWidth,colors,interpolate,progressValue,trackWidth}=this.__closure;return{width:barPixelWidth,backgroundColor:colors.primary,transform:[{translateX:interpolate(progressValue.value,[0,1],[-barPixelWidth,trackWidth])}]};}"};function _(e){return!e.done}function b(e){const t=(0,r(d[7]).c)(18),{step:o,isActive:n}=e;let l;t[0]===Symbol.for("react.memo_cache_sentinel")?(l=c.FadeIn.duration(200).reduceMotion(c.ReduceMotion.System),t[0]=l):l=t[0];const p=o.done?r(d[9]).colors.success:r(d[9]).colors.textMuted;let h;t[1]!==p?(h=[w.stepIndicator,{color:p}],t[1]=p,t[2]=h):h=t[2];const y=o.done?"\u2713":"\u25cb";let f;t[3]!==h||t[4]!==y?(f=(0,r(d[10]).jsx)(s.default,{style:h,children:y}),t[3]=h,t[4]=y,t[5]=f):f=t[5];const x=o.done?r(d[9]).colors.textSecondary:n?r(d[9]).colors.text:r(d[9]).colors.textMuted;let _;t[6]!==x?(_={color:x},t[6]=x,t[7]=_):_=t[7];const b=n&&!o.done&&w.stepLabelActive;let v;t[8]!==_||t[9]!==b?(v=[w.stepLabel,_,b],t[8]=_,t[9]=b,t[10]=v):v=t[10];const S=n&&!o.done?"...":"";let j,k;return t[11]!==o.label||t[12]!==S||t[13]!==v?(j=(0,r(d[10]).jsxs)(s.default,{style:v,children:[o.label,S]}),t[11]=o.label,t[12]=S,t[13]=v,t[14]=j):j=t[14],t[15]!==j||t[16]!==f?(k=(0,r(d[10]).jsxs)(u.default.View,{entering:l,style:w.stepRow,children:[f,j]}),t[15]=j,t[16]=f,t[17]=k):k=t[17],k}const w=n.default.create({container:{flex:1,justifyContent:'center',alignItems:'center'},inlineContainer:{flex:0,paddingVertical:r(d[9]).spacing.xxlarge+r(d[9]).spacing.medium},iconContainer:Object.assign({width:r(d[9]).componentSizes.avatar.xl,height:r(d[9]).componentSizes.avatar.xl,borderRadius:r(d[9]).borderRadius.xlarge,overflow:'hidden',marginBottom:r(d[9]).spacing.large},r(d[9]).shadows.lg),icon:{width:'100%',height:'100%'},message:{fontSize:r(d[9]).typography.secondary,lineHeight:r(d[9]).typography.lineHeights.secondary},progressTrack:{width:'60%',height:3,borderRadius:r(d[9]).borderRadius.small,overflow:'hidden',marginTop:r(d[9]).spacing.large},progressBar:{height:'100%',borderRadius:r(d[9]).borderRadius.small},stepContainer:{alignItems:'flex-start',gap:r(d[9]).spacing.small},stepRow:{flexDirection:'row',alignItems:'center',gap:r(d[9]).spacing.small},stepIndicator:{fontSize:r(d[9]).typography.secondary,lineHeight:r(d[9]).typography.lineHeights.secondary,width:r(d[9]).spacing.large,textAlign:'center'},stepLabel:{fontSize:r(d[9]).typography.secondary,lineHeight:r(d[9]).typography.lineHeights.secondary},stepLabelActive:{fontWeight:r(d[9]).typography.weights.medium},errorContainer:{alignItems:'center',gap:r(d[9]).spacing.medium,paddingHorizontal:r(d[9]).spacing.xlarge},errorText:{fontSize:r(d[9]).typography.secondary,lineHeight:r(d[9]).typography.lineHeights.secondary,textAlign:'center'},retryButton:{paddingVertical:r(d[9]).spacing.small,paddingHorizontal:r(d[9]).spacing.xlarge,borderRadius:r(d[9]).borderRadius.medium},retryText:{fontSize:r(d[9]).typography.secondary,lineHeight:r(d[9]).typography.lineHeights.secondary,fontWeight:r(d[9]).typography.weights.medium}})},1900,[539,603,38,549,459,608,1901,1092,36,1098,700]);
2137
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/pwa/icon-192.42665193232a3870b249a0584941a253.png",width:192,height:192,toString(){return this.uri}}},1901,[]);
2138
- __d(function(_g,r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useConfigScreenState=function({existingRoomCode:t,presetName:o,nominateMode:s,navigation:n,facade:l,settingsService:c,authService:i}){const{user:u}=(0,r(d[1]).useAuthContext)(),f=!!t,g=!!s,C=(0,r(d[2]).useMemo)(()=>{if(!o)return;const e=r(d[3]).PRESET_TEMPLATES.find(e=>e.name===o);return e?(0,r(d[4]).restoreFromTemplateRoles)(e.roles):void 0},[o]),[_,b]=(0,r(d[2]).useState)(()=>C?.selection??(f||g?(0,r(d[4]).getInitialSelection)():(0,r(d[4]).getEmptySelection)())),[S,E]=(0,r(d[2]).useState)(!1),[h,v]=(0,r(d[2]).useState)(f||g),[T,p]=(0,r(d[2]).useState)(C?.matchedPreset??(f||g?r(d[3]).PRESET_TEMPLATES[0]?.name??'':'__custom__')),[R,k]=(0,r(d[2]).useState)(!0),[O,I]=(0,r(d[2]).useState)(!1),[P,A]=(0,r(d[2]).useState)(()=>C?.variantOverrides??{}),F=(0,r(d[2]).useMemo)(()=>(0,r(d[4]).computeTotalCount)(_,P),[_,P]);(0,r(d[2]).useEffect)(()=>{if(o){const e=r(d[3]).PRESET_TEMPLATES.find(e=>e.name===o);if(e){const t=(0,r(d[4]).restoreFromTemplateRoles)(e.roles);b(t.selection),A(t.variantOverrides),p(t.matchedPreset??'__custom__')}return void v(!1)}if((f||g)&&(t||g)){r(d[5]).configLog.debug('Loading room roles',{roomCode:t??s?.roomCode});try{const e=l.getState();if(e?.templateRoles&&e.templateRoles.length>0){const t=(0,r(d[4]).restoreFromTemplateRoles)(e.templateRoles);b(t.selection),A(t.variantOverrides),p(t.matchedPreset??'__custom__')}k(c.isBgmEnabled())}catch(e){(0,r(d[6]).handleError)(e,{label:'\u52a0\u8f7d\u623f\u95f4',logger:r(d[5]).configLog,alertTitle:!1})}finally{v(!1)}}},[o,f,g,t,s,l,c]),(0,r(d[2]).useEffect)(()=>{t||k(c.isBgmEnabled())},[t,c]),(0,r(d[2]).useEffect)(()=>n.addListener('focus',()=>{E(!1)}),[n]);const M=(0,r(d[2]).useCallback)(e=>l.subscribe(e),[l]),w=(0,r(d[2]).useCallback)(()=>l.getState(),[l]),y=(0,r(d[2]).useSyncExternalStore)(M,w);(0,r(d[2]).useEffect)(()=>{if(!s)return;if(!y)return;y.status===r(d[7]).GameStatus.Unseated||y.status===r(d[7]).GameStatus.Seated||n.popTo('Room',{roomCode:s.roomCode,isHost:!1})},[y,y?.status,s,n]);const G=(0,r(d[2]).useCallback)(()=>{n.canGoBack()?n.goBack():n.navigate('Home')},[n]),L=(0,r(d[2]).useCallback)(()=>{n.navigate('BoardPicker',Object.assign({},t?{existingRoomCode:t}:{},s?{nominateMode:s}:{}))},[n,t,s]),B=(0,r(d[2]).useCallback)(e=>{b(t=>Object.assign({},t,{[e]:!t[e]})),p('__custom__')},[]),N=(0,r(d[2]).useCallback)(()=>{b(e=>{const t={};return Object.keys(e).forEach(e=>t[e]=!1),t}),p('__custom__')},[]),{mutateAsync:U}=(0,r(d[8]).useCreateRoom)(),j=(0,r(d[2]).useRef)(!1),V=(0,r(d[2]).useCallback)(async()=>{if(j.current||h)return;j.current=!0;const o=(0,r(d[4]).selectionToRoles)(_,P);if(0===o.length)return(0,r(d[9]).showErrorAlert)('\u914d\u7f6e\u6709\u8bef','\u8bf7\u81f3\u5c11\u9009\u62e9\u4e00\u4e2a\u89d2\u8272'),void(j.current=!1);const g=(0,r(d[3]).validateTemplateRoles)(o);if(g)return(0,r(d[9]).showErrorAlert)('\u914d\u7f6e\u6709\u8bef',g),void(j.current=!1);E(!0);try{if(s){const t=u?.displayName??'\u533f\u540d\u73a9\u5bb6',c=await l.boardNominate(t,o);return c.success?('DEDUPLICATED'===c.reason&&e.toast.info('\u5df2\u6709\u76f8\u540c\u677f\u5b50\u5efa\u8bae\uff0c\u5df2\u81ea\u52a8\u4e3a\u4f60\u6295\u7968'),void n.popTo('Room',{roomCode:s.roomCode,isHost:!1})):void(0,r(d[9]).showErrorAlert)('\u63d0\u4ea4\u5931\u8d25',c.reason??'\u63d0\u4ea4\u5efa\u8bae\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5')}const g=(0,r(d[3]).createCustomTemplate)(o);if(await c.setBgmEnabled(R),f&&t){const e=await l.updateTemplate(g);if(!e.success)return void(0,r(d[9]).showErrorAlert)('\u66f4\u65b0\u5931\u8d25',e.reason??'\u66f4\u65b0\u623f\u95f4\u8bbe\u7f6e\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5');n.canGoBack()?n.goBack():n.navigate('Home')}else{await i.waitForInit();const e=i.getCurrentUserId();if(!e)return void n.navigate('Home');const t=await U({hostUserId:e,buildInitialState:t=>(0,r(d[10]).buildInitialGameState)(t,e,g)}),o=t.roomCode;r(d[11]).storage.set(r(d[12]).LAST_ROOM_CODE_KEY,o),n.navigate('Room',{roomCode:o,isHost:!0,template:g})}}catch(e){(0,r(d[6]).handleError)(e,{label:f?'\u66f4\u65b0\u623f\u95f4':'\u521b\u5efa\u623f\u95f4',logger:r(d[5]).configLog,alertMessage:f?'\u66f4\u65b0\u623f\u95f4\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5':'\u521b\u5efa\u623f\u95f4\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5'})}finally{E(!1),j.current=!1}},[_,n,f,s,t,l,c,R,h,i,U,P,u?.displayName]),$=(0,r(d[2]).useCallback)(e=>{k('on'===e)},[]),[H,D]=(0,r(d[2]).useState)(null),x=(0,r(d[2]).useCallback)(e=>{const t=e.replace(/\d+$/,'');for(const e of r(d[13]).FACTION_GROUPS)for(const o of e.sections)for(const e of o.roles)if(e.roleId===t&&e.variants&&e.variants.length>0)return e;return null},[]),K=H?P[H]??H:null,W=H?x(H):null,Y=W?[W.roleId,...W.variants]:[],q=H?P[H]??H:'',z=(0,r(d[2]).useCallback)(e=>{const t=e.replace(/\d+$/,'');D(t)},[]),J=(0,r(d[2]).useCallback)(()=>{D(null)},[]),Q=(0,r(d[2]).useCallback)(e=>{H&&(A(t=>{if(e===H){const e=Object.assign({},t);return delete e[H],e}return Object.assign({},t,{[H]:e})}),b(e=>e[H]?e:Object.assign({},e,{[H]:!0})),p('__custom__'))},[H]),[X,Z]=(0,r(d[2]).useState)(r(d[13]).FACTION_GROUPS[0]?.faction??r(d[14]).Faction.Villager),ee=(0,r(d[2]).useCallback)(e=>{Z(e)},[]),[te,oe]=(0,r(d[2]).useState)(!1),ae=(0,r(d[2]).useCallback)(()=>{oe(!0)},[]),se=(0,r(d[2]).useCallback)(()=>{oe(!1)},[]),re=(0,r(d[2]).useMemo)(()=>{if('__custom__'===T)return'\u81ea\u5b9a\u4e49';const e=r(d[3]).PRESET_TEMPLATES.find(e=>e.name===T);return e?e.name:T},[T]),ne=(0,r(d[2]).useCallback)((e,t)=>{let o=0;for(let s=0;s<t;s++){_[0===s?e:`${e}${s}`]&&o++}return o},[_]),le=(0,r(d[2]).useCallback)((e,t)=>{b(o=>{const s=Object.assign({},o);let n=1;for(const t of r(d[13]).FACTION_GROUPS)for(const o of t.sections)for(const t of o.roles)t.roleId===e&&(n=t.count??1);for(let o=0;o<n;o++){s[0===o?e:`${e}${o}`]=o<t}return s}),p('__custom__')},[]),ce=(0,r(d[2]).useCallback)(e=>{switch(e){case r(d[14]).Faction.Wolf:return r(d[15]).colors.wolf;case r(d[14]).Faction.God:return r(d[15]).colors.god;case r(d[14]).Faction.Villager:return r(d[15]).colors.villager;case r(d[14]).Faction.Special:return r(d[15]).colors.third;default:return r(d[15]).colors.primary}},[]),ie=(0,r(d[2]).useCallback)(e=>{let t=0;for(const o of e.sections)for(const e of o.roles){const o=e.count??1;for(let s=0;s<o;s++){const o=0===s?e.roleId:`${e.roleId}${s}`;_[o]&&t++}}return t},[_]),ue=(0,r(d[2]).useMemo)(()=>r(d[13]).FACTION_GROUPS.map(e=>{const t=ce(e.faction);return{key:e.faction,title:e.title,count:ie(e),accentColor:t}}),[_,ce,ie]),de=(0,r(d[2]).useMemo)(()=>r(d[13]).FACTION_GROUPS.find(e=>e.faction===X)??r(d[13]).FACTION_GROUPS[0],[X]);return{isEditMode:f,isNominateMode:g,isDisabled:S||h,isLoading:h,isCreating:S,selection:_,totalCount:F,variantOverrides:P,overflowVisible:O,setOverflowVisible:I,handleGoBack:G,handleTemplatePillPress:L,handleCreateRoom:V,toggleRole:B,handleClearSelection:N,selectedTemplateLabel:re,bgmEnabled:R,settingsSheetVisible:te,handleOpenSettings:ae,handleCloseSettings:se,handleBgmChange:$,roleInfoId:K,roleInfoVariantIds:Y,roleInfoActiveVariant:q,handleChipInfoPress:z,handleCloseRoleInfo:J,handleRoleInfoVariantSelect:Q,tabItems:ue,activeTab:X,activeGroup:de,handleTabPress:ee,getBulkCount:ne,handleBulkCountChange:le,getFactionAccentColor:ce}};var e=r(d[0])},1902,[599,1090,36,1893,1891,1061,1903,1904,1905,1073,1906,1054,1877,1892,1077,1098]);
2139
- __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.handleError=function(o,n){const{label:u,logger:c,expectedCodes:s,alertTitle:f,alertMessage:d,isExpected:l}=n;if((0,r(_d[1]).isAbortError)(o))return void c.warn(`[${u}] aborted`,o);if((0,r(_d[1]).isNetworkError)(o))return c.warn(`[${u}] network error`,o),void(!1!==f&&(0,r(_d[2]).showAlert)(f??`${u}\u5931\u8d25`,r(_d[3]).NETWORK_ERROR));const p=t(o),b=void 0!==p&&void 0!==s&&s.includes(p),E=!0===l?.(o);b||E?c.warn(`[${u}] expected error`,o):(c.error(`[${u}] unexpected error`,o),e.captureException(o));if(!1===f)return;const v=f??`${u}\u5931\u8d25`,w=d??(0,r(_d[1]).getErrorMessage)(o);(0,r(_d[2]).showAlert)(v,w)};var e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[0]));function t(e){if(null==e||'object'!=typeof e)return;const t=e;if('number'==typeof t.status)return t.status;if('string'==typeof t.code){const e=Number(t.code);if(!Number.isNaN(e)&&e>=100&&e<600)return e}}},1903,[119,1088,1074,1069]);
2137
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/pwa/icon-192.42665193232a3870b249a0584941a253.png",width:192,height:192,toString(){return this.uri}}},1901,[]);
2138
+ __d(function(_g,r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useConfigScreenState=function({existingRoomCode:o,presetName:s,nominateMode:n,navigation:l,facade:c,settingsService:i,authService:u}){const{user:f}=(0,r(d[2]).useAuthContext)(),g=!!o,C=!!n,b=(0,r(d[3]).useMemo)(()=>{if(!s)return;const e=r(d[4]).PRESET_TEMPLATES.find(e=>e.name===s);return e?(0,r(d[5]).restoreFromTemplateRoles)(e.roles):void 0},[s]),[_,S]=(0,r(d[3]).useState)(()=>b?.selection??(g||C?(0,r(d[5]).getInitialSelection)():(0,r(d[5]).getEmptySelection)())),[E,h]=(0,r(d[3]).useState)(!1),[v,T]=(0,r(d[3]).useState)(g||C),[p,k]=(0,r(d[3]).useState)(b?.matchedPreset??(g||C?r(d[4]).PRESET_TEMPLATES[0]?.name??'':'__custom__')),[R,O]=(0,r(d[3]).useState)(!0),[I,P]=(0,r(d[3]).useState)(!1),[A,F]=(0,r(d[3]).useState)(()=>b?.variantOverrides??{}),M=(0,r(d[3]).useMemo)(()=>(0,r(d[5]).computeTotalCount)(_,A),[_,A]);(0,r(d[3]).useEffect)(()=>{if(s){const e=r(d[4]).PRESET_TEMPLATES.find(e=>e.name===s);if(e){const t=(0,r(d[5]).restoreFromTemplateRoles)(e.roles);S(t.selection),F(t.variantOverrides),k(t.matchedPreset??'__custom__')}return void T(!1)}if((g||C)&&(o||C)){r(d[6]).configLog.debug('Loading room roles',{roomCode:o??n?.roomCode});try{const e=c.getState();if(e?.templateRoles&&e.templateRoles.length>0){const t=(0,r(d[5]).restoreFromTemplateRoles)(e.templateRoles);S(t.selection),F(t.variantOverrides),k(t.matchedPreset??'__custom__')}O(i.isBgmEnabled())}catch(e){(0,t.handleError)(e,{label:'\u52a0\u8f7d\u623f\u95f4',logger:r(d[6]).configLog,feedback:!1})}finally{T(!1)}}},[s,g,C,o,n,c,i]),(0,r(d[3]).useEffect)(()=>{o||O(i.isBgmEnabled())},[o,i]),(0,r(d[3]).useEffect)(()=>l.addListener('focus',()=>{h(!1)}),[l]);const w=(0,r(d[3]).useCallback)(e=>c.subscribe(e),[c]),y=(0,r(d[3]).useCallback)(()=>c.getState(),[c]),G=(0,r(d[3]).useSyncExternalStore)(w,y);(0,r(d[3]).useEffect)(()=>{if(!n)return;if(!G)return;G.status===r(d[7]).GameStatus.Unseated||G.status===r(d[7]).GameStatus.Seated||l.popTo('Room',{roomCode:n.roomCode,isHost:!1})},[G,G?.status,n,l]);const L=(0,r(d[3]).useCallback)(()=>{l.canGoBack()?l.goBack():l.navigate('Home')},[l]),B=(0,r(d[3]).useCallback)(()=>{l.navigate('BoardPicker',Object.assign({},o?{existingRoomCode:o}:{},n?{nominateMode:n}:{}))},[l,o,n]),N=(0,r(d[3]).useCallback)(e=>{S(t=>Object.assign({},t,{[e]:!t[e]})),k('__custom__')},[]),U=(0,r(d[3]).useCallback)(()=>{S(e=>{const t={};return Object.keys(e).forEach(e=>t[e]=!1),t}),k('__custom__')},[]),{mutateAsync:j}=(0,r(d[8]).useCreateRoom)(),V=(0,r(d[3]).useRef)(!1),$=(0,r(d[3]).useCallback)(async()=>{if(V.current||v)return;V.current=!0;const s=(0,r(d[5]).selectionToRoles)(_,A);if(0===s.length)return(0,r(d[9]).showErrorAlert)('\u914d\u7f6e\u6709\u8bef','\u8bf7\u81f3\u5c11\u9009\u62e9\u4e00\u4e2a\u89d2\u8272'),void(V.current=!1);const C=(0,r(d[4]).validateTemplateRoles)(s);if(C)return(0,r(d[9]).showErrorAlert)('\u914d\u7f6e\u6709\u8bef',C),void(V.current=!1);h(!0);try{if(n){const t=f?.displayName??'\u533f\u540d\u73a9\u5bb6',o=await c.boardNominate(t,s);return o.success?('DEDUPLICATED'===o.reason&&e.toast.info('\u5df2\u6709\u76f8\u540c\u677f\u5b50\u5efa\u8bae\uff0c\u5df2\u81ea\u52a8\u4e3a\u4f60\u6295\u7968'),void l.popTo('Room',{roomCode:n.roomCode,isHost:!1})):void(0,r(d[9]).showErrorAlert)('\u63d0\u4ea4\u5931\u8d25',o.reason??'\u63d0\u4ea4\u5efa\u8bae\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5')}const t=(0,r(d[4]).createCustomTemplate)(s);if(await i.setBgmEnabled(R),g&&o){const e=await c.updateTemplate(t);if(!e.success)return void(0,r(d[9]).showErrorAlert)('\u66f4\u65b0\u5931\u8d25',e.reason??'\u66f4\u65b0\u623f\u95f4\u8bbe\u7f6e\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5');l.canGoBack()?l.goBack():l.navigate('Home')}else{await u.waitForInit();const e=u.getCurrentUserId();if(!e)return void l.navigate('Home');const o=await j({hostUserId:e,buildInitialState:o=>(0,r(d[10]).buildInitialGameState)(o,e,t)}),s=o.roomCode;r(d[11]).storage.set(r(d[12]).LAST_ROOM_CODE_KEY,s),l.navigate('Room',{roomCode:s,isHost:!0,template:t})}}catch(e){(0,t.handleError)(e,{label:g?'\u66f4\u65b0\u623f\u95f4':'\u521b\u5efa\u623f\u95f4',logger:r(d[6]).configLog,alertMessage:g?'\u66f4\u65b0\u623f\u95f4\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5':'\u521b\u5efa\u623f\u95f4\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5'})}finally{h(!1),V.current=!1}},[_,l,g,n,o,c,i,R,v,u,j,A,f?.displayName]),H=(0,r(d[3]).useCallback)(e=>{O('on'===e)},[]),[D,x]=(0,r(d[3]).useState)(null),K=(0,r(d[3]).useCallback)(e=>{const t=e.replace(/\d+$/,'');for(const e of r(d[13]).FACTION_GROUPS)for(const o of e.sections)for(const e of o.roles)if(e.roleId===t&&e.variants&&e.variants.length>0)return e;return null},[]),W=D?A[D]??D:null,Y=D?K(D):null,q=Y?[Y.roleId,...Y.variants]:[],z=D?A[D]??D:'',J=(0,r(d[3]).useCallback)(e=>{const t=e.replace(/\d+$/,'');x(t)},[]),Q=(0,r(d[3]).useCallback)(()=>{x(null)},[]),X=(0,r(d[3]).useCallback)(e=>{D&&(F(t=>{if(e===D){const e=Object.assign({},t);return delete e[D],e}return Object.assign({},t,{[D]:e})}),S(e=>e[D]?e:Object.assign({},e,{[D]:!0})),k('__custom__'))},[D]),[Z,ee]=(0,r(d[3]).useState)(r(d[13]).FACTION_GROUPS[0]?.faction??r(d[14]).Faction.Villager),te=(0,r(d[3]).useCallback)(e=>{ee(e)},[]),[oe,ae]=(0,r(d[3]).useState)(!1),se=(0,r(d[3]).useCallback)(()=>{ae(!0)},[]),re=(0,r(d[3]).useCallback)(()=>{ae(!1)},[]),ne=(0,r(d[3]).useMemo)(()=>{if('__custom__'===p)return'\u81ea\u5b9a\u4e49';const e=r(d[4]).PRESET_TEMPLATES.find(e=>e.name===p);return e?e.name:p},[p]),le=(0,r(d[3]).useCallback)((e,t)=>{let o=0;for(let s=0;s<t;s++){_[0===s?e:`${e}${s}`]&&o++}return o},[_]),ce=(0,r(d[3]).useCallback)((e,t)=>{S(o=>{const s=Object.assign({},o);let n=1;for(const t of r(d[13]).FACTION_GROUPS)for(const o of t.sections)for(const t of o.roles)t.roleId===e&&(n=t.count??1);for(let o=0;o<n;o++){s[0===o?e:`${e}${o}`]=o<t}return s}),k('__custom__')},[]),ie=(0,r(d[3]).useCallback)(e=>{switch(e){case r(d[14]).Faction.Wolf:return r(d[15]).colors.wolf;case r(d[14]).Faction.God:return r(d[15]).colors.god;case r(d[14]).Faction.Villager:return r(d[15]).colors.villager;case r(d[14]).Faction.Special:return r(d[15]).colors.third;default:return r(d[15]).colors.primary}},[]),ue=(0,r(d[3]).useCallback)(e=>{let t=0;for(const o of e.sections)for(const e of o.roles){const o=e.count??1;for(let s=0;s<o;s++){const o=0===s?e.roleId:`${e.roleId}${s}`;_[o]&&t++}}return t},[_]),de=(0,r(d[3]).useMemo)(()=>r(d[13]).FACTION_GROUPS.map(e=>{const t=ie(e.faction);return{key:e.faction,title:e.title,count:ue(e),accentColor:t}}),[_,ie,ue]),fe=(0,r(d[3]).useMemo)(()=>r(d[13]).FACTION_GROUPS.find(e=>e.faction===Z)??r(d[13]).FACTION_GROUPS[0],[Z]);return{isEditMode:g,isNominateMode:C,isDisabled:E||v,isLoading:v,isCreating:E,selection:_,totalCount:M,variantOverrides:A,overflowVisible:I,setOverflowVisible:P,handleGoBack:L,handleTemplatePillPress:B,handleCreateRoom:$,toggleRole:N,handleClearSelection:U,selectedTemplateLabel:ne,bgmEnabled:R,settingsSheetVisible:oe,handleOpenSettings:se,handleCloseSettings:re,handleBgmChange:H,roleInfoId:W,roleInfoVariantIds:q,roleInfoActiveVariant:z,handleChipInfoPress:J,handleCloseRoleInfo:Q,handleRoleInfoVariantSelect:X,tabItems:de,activeTab:Z,activeGroup:fe,handleTabPress:te,getBulkCount:le,handleBulkCountChange:ce,getFactionAccentColor:ie}};var e=r(d[0]),t=r(d[1])},1902,[599,1903,1090,36,1893,1891,1061,1904,1905,1073,1906,1054,1877,1892,1077,1098]);
2139
+ __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.handleError=function(n,s){const{label:u,logger:c,expectedCodes:f,alertMessage:d,isExpected:l}=s,b=s.feedback??'alert';if((0,r(_d[2]).isAbortError)(n))return void c.warn(`[${u}] aborted`,n);if((0,r(_d[2]).isNetworkError)(n))return c.warn(`[${u}] network error`,n),void('alert'===b?(0,r(_d[3]).showAlert)(`${u}\u5931\u8d25`,r(_d[4]).NETWORK_ERROR):'toast'===b&&t.toast.error(r(_d[4]).NETWORK_ERROR));const p=o(n),E=void 0!==p&&void 0!==f&&f.includes(p),O=!0===l?.(n);E||O?c.warn(`[${u}] expected error`,n):(c.error(`[${u}] unexpected error`,n),e.captureException(n));if(!1===b)return;const v=d??(0,r(_d[2]).getErrorMessage)(n);'toast'===b?t.toast.error(v):(0,r(_d[3]).showAlert)(`${u}\u5931\u8d25`,v)};var e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[0])),t=r(_d[1]);function o(e){if(null==e||'object'!=typeof e)return;const t=e;if('number'==typeof t.status)return t.status;if('string'==typeof t.code){const e=Number(t.code);if(!Number.isNaN(e)&&e>=100&&e<600)return e}}},1903,[119,599,1088,1074,1069]);
2140
2140
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"GameStatus",{enumerable:!0,get:function(){return n}});let n=(function(n){return n.Unseated="Unseated",n.Seated="Seated",n.Assigned="Assigned",n.Ready="Ready",n.Ongoing="Ongoing",n.Ended="Ended",n})({})},1904,[]);
2141
2141
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useCreateRoom=function(){const t=(0,r(d[0]).c)(2),{roomService:o}=(0,r(d[1]).useServices)();let n;t[0]!==o?(n={mutationFn:t=>o.createRoom(t.hostUserId,t.initialRoomNumber,t.maxRetries,t.buildInitialState)},t[0]=o,t[1]=n):n=t[1];return(0,r(d[2]).useMutation)(n)},e.useJoinRoom=function(){const t=(0,r(d[0]).c)(2),{roomService:o}=(0,r(d[1]).useServices)();let n;t[0]!==o?(n={mutationFn:t=>o.getRoom(t)},t[0]=o,t[1]=n):n=t[1];return(0,r(d[2]).useMutation)(n)}},1905,[1092,1091,1807]);
2142
2142
  __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildInitialGameState=function(t,s,n){const o={};for(let t=0;t<n.numberOfPlayers;t++)o[t]=null;return{roomCode:t,hostUserId:s,status:r(d[0]).GameStatus.Unseated,templateRoles:n.roles,players:o,roster:{},currentStepIndex:-1,isAudioPlaying:!1,actions:[],pendingRevealAcks:[],hypnotizedSeats:[],piperRevealAcks:[],conversionRevealAcks:[],cupidLoversRevealAcks:[]}}},1906,[1907]);
@@ -2208,86 +2208,86 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
2208
2208
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"HitSlop",{enumerable:!0,get:function(){return o}});var e,t=(e=r(d[0]))&&e.__esModule?e:{default:e};const o=({top:e=10,right:o=10,bottom:l=10,left:n=10,children:u})=>t.default.createElement("div",{style:{position:'relative',cursor:'pointer'}},t.default.createElement("div",{style:{position:'absolute',top:-e,right:-o,bottom:-l,left:-n}}),u)},1972,[36]);
2209
2209
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"createMusicSettingsStyles",{enumerable:!0,get:function(){return o}});var e,t=(e=r(d[0]))&&e.__esModule?e:{default:e};const o=e=>t.default.create({container:{flex:1,backgroundColor:e.transparent,overflow:'hidden'},scrollView:{flex:1,backgroundColor:e.transparent},scrollContent:{padding:r(d[1]).spacing.screenH},card:Object.assign({},(0,r(d[1]).createSharedStyles)(e).cardBase,{marginBottom:r(d[1]).spacing.screenH}),sectionHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',marginBottom:r(d[1]).spacing.medium},sectionTitleRow:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small},sectionTitle:Object.assign({},r(d[1]).textStyles.subtitleSemibold,{color:e.text}),randomRow:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small,paddingVertical:r(d[1]).spacing.small,paddingHorizontal:r(d[1]).spacing.small,marginBottom:r(d[1]).spacing.tight,backgroundColor:(0,r(d[1]).withAlpha)(e.background,.8),borderRadius:r(d[1]).borderRadius.medium},randomLabel:Object.assign({},r(d[1]).textStyles.body,{color:e.text,flex:1}),randomLabelSelected:{color:e.primary,fontWeight:r(d[1]).typography.weights.semibold},radioOuter:{width:r(d[1]).spacing.large,height:r(d[1]).spacing.large,borderRadius:r(d[1]).spacing.large/2,borderWidth:r(d[1]).fixed.borderWidthThick,borderColor:e.border,justifyContent:'center',alignItems:'center',backgroundColor:e.background},radioOuterSelected:{borderColor:e.primary,backgroundColor:(0,r(d[1]).withAlpha)(e.primary,.06)},radioInner:{width:r(d[1]).spacing.small,height:r(d[1]).spacing.small,borderRadius:r(d[1]).spacing.small/2,backgroundColor:e.primary},volumeSection:{marginTop:r(d[1]).spacing.medium,paddingTop:r(d[1]).spacing.medium,borderTopWidth:r(d[1]).fixed.borderWidth,borderTopColor:(0,r(d[1]).withAlpha)(e.border,.5)},volumeRow:{marginTop:r(d[1]).spacing.small},volumeLabel:Object.assign({},r(d[1]).textStyles.secondary,{color:e.textSecondary,marginBottom:r(d[1]).spacing.small}),previewRow:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small,marginTop:r(d[1]).spacing.medium,paddingVertical:r(d[1]).spacing.small},previewText:Object.assign({},r(d[1]).textStyles.body,{color:e.textSecondary}),disabledOverlay:{opacity:r(d[1]).fixed.disabledOpacity},bottomSpacer:{height:r(d[1]).spacing.xlarge}})},1973,[38,1098]);
2210
2210
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AUDIO_REGISTRY",{enumerable:!0,get:function(){return je}}),Object.defineProperty(_e,"SEER_LABEL_AUDIO",{enumerable:!0,get:function(){return De}}),Object.defineProperty(_e,"SEER_LABEL_AUDIO_END",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(_e,"STEP_AUDIO",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(_e,"NIGHT_AUDIO",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(_e,"NIGHT_END_AUDIO",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(_e,"BGM_TRACKS",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(_e,"VALID_BGM_TRACK_IDS",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(_e,"BGM_VOLUME",{enumerable:!0,get:function(){return Ue}});var t=e(r(d[0])),n=e(r(d[1])),l=e(r(d[2])),u=e(r(d[3])),f=e(r(d[4])),b=e(r(d[5])),o=e(r(d[6])),c=e(r(d[7])),s=e(r(d[8])),_=e(r(d[9])),p=e(r(d[10])),y=e(r(d[11])),O=e(r(d[12])),h=e(r(d[13])),E=e(r(d[14])),I=e(r(d[15])),S=e(r(d[16])),v=e(r(d[17])),w=e(r(d[18])),A=e(r(d[19])),P=e(r(d[20])),j=e(r(d[21])),D=e(r(d[22])),G=e(r(d[23])),R=e(r(d[24])),L=e(r(d[25])),T=e(r(d[26])),k=e(r(d[27])),M=e(r(d[28])),U=e(r(d[29])),W=e(r(d[30])),B=e(r(d[31])),C=e(r(d[32])),N=e(r(d[33])),z=e(r(d[34])),H=e(r(d[35])),K=e(r(d[36])),Q=e(r(d[37])),V=e(r(d[38])),F=e(r(d[39])),Y=e(r(d[40])),q=e(r(d[41])),x=e(r(d[42])),J=e(r(d[43])),X=e(r(d[44])),Z=e(r(d[45])),$=e(r(d[46])),ee=e(r(d[47])),te=e(r(d[48])),de=e(r(d[49])),ne=e(r(d[50])),ae=e(r(d[51])),le=e(r(d[52])),ue=e(r(d[53])),fe=e(r(d[54])),ie=e(r(d[55])),re=e(r(d[56])),be=e(r(d[57])),oe=e(r(d[58])),ge=e(r(d[59])),ce=e(r(d[60])),se=e(r(d[61])),pe=e(r(d[62])),me=e(r(d[63])),ye=e(r(d[64])),Oe=e(r(d[65])),he=e(r(d[66])),Ee=e(r(d[67])),Ie=e(r(d[68])),Se=e(r(d[69])),ve=e(r(d[70])),we=e(r(d[71])),Ae=e(r(d[72])),Pe=e(r(d[73]));const je={slacker:{begin:T.default,end:ce.default},wildChild:{begin:W.default,end:ye.default},wolfRobot:{begin:z.default,end:Ie.default},magician:{begin:O.default,end:te.default},dreamcatcher:{begin:c.default,end:J.default},gargoyle:{begin:_.default,end:Z.default},awakenedGargoyle:{begin:n.default,end:Q.default},nightmare:{begin:I.default,end:de.default},guard:{begin:p.default,end:$.default},wolf:{begin:C.default,end:he.default},wolfQueen:{begin:N.default,end:Ee.default},eclipseWolfQueen:{begin:s.default,end:X.default},witch:{begin:B.default,end:Oe.default},seer:{begin:j.default,end:ie.default},mirrorSeer:{begin:j.default,end:ie.default},drunkSeer:{begin:j.default,end:ie.default},psychic:{begin:A.default,end:ue.default},hunter:{begin:y.default,end:ee.default},darkWolfKing:{begin:o.default,end:x.default},pureWhite:{begin:P.default,end:fe.default},wolfWitch:{begin:H.default,end:Se.default},silenceElder:{begin:L.default,end:ge.default},votebanElder:{begin:U.default,end:me.default},piper:{begin:S.default,end:ne.default},shadow:{begin:R.default,end:oe.default},avenger:{begin:t.default,end:K.default},crow:{begin:u.default,end:F.default},poisoner:{begin:w.default,end:le.default},treasureMaster:{begin:M.default,end:pe.default},thief:{begin:k.default,end:se.default},cupid:{begin:f.default,end:Y.default}},De={seer_1:D.default,seer_2:G.default},Ge={seer_1:re.default,seer_2:be.default},Re={piperHypnotizedReveal:{begin:v.default,end:ae.default},awakenedGargoyleConvertReveal:{begin:l.default,end:V.default},cupidLoversReveal:{begin:b.default,end:q.default}},Le=h.default,Te=E.default,ke=[{id:'theGodfatherWaltz',label:'The Godfather Waltz',subtitle:'\u6559\u7236\u534e\u5c14\u5179',mood:'\u4f18\u96c5\u5e84\u91cd',asset:Ae.default},{id:'speakSoftlyLove',label:'Speak Softly Love',subtitle:'\u6e29\u67d4\u503e\u8bc9',mood:'\u6d6a\u6f2b\u6df1\u60c5',asset:we.default},{id:'theImmigrant',label:'The Immigrant',subtitle:'\u79fb\u6c11\u8005',mood:'\u60a0\u8fdc\u82cd\u51c9',asset:Pe.default},{id:'finale',label:'Finale',subtitle:'\u7ec8\u66f2',mood:'\u7d27\u5f20\u5b8f\u5927',asset:ve.default}],Me=new Set(ke.map(e=>e.id)),Ue=.5},1974,[1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048]);
2211
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/avenger.fdb0f2d8dd18a674655e66186312785a.mp3"},1975,[]);
2212
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/awakened_gargoyle.09a11ac188a5de8a52730bbdda7703a6.mp3"},1976,[]);
2213
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/awakened_gargoyle_convert_reveal.38d07649219f1c218bdcd704d9fbeef9.mp3"},1977,[]);
2214
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/crow.3861779eec1b840294cc63bc23be8343.mp3"},1978,[]);
2215
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/cupid.366b5a94f0c448f571e9f3c298991975.mp3"},1979,[]);
2216
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/cupid_lovers_reveal.a97554f25f5f5881630354c48b46c298.mp3"},1980,[]);
2217
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/dark_wolf_king.4b6cc3543ed4bf575cc0c4cb311076b7.mp3"},1981,[]);
2218
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/dreamcatcher.638126a3255b42142683ce2e1862ac18.mp3"},1982,[]);
2219
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/eclipse_wolf_queen.ae5cd20aab55a39e3b28e5e9f7810f16.mp3"},1983,[]);
2220
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/gargoyle.d24dc332fac724db57abec2fd6bd6507.mp3"},1984,[]);
2221
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/guard.fa4e0e49ff9b36666e76c8441afe6385.mp3"},1985,[]);
2222
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/hunter.5b7699ce02c967fea8fffe4ffaf9106a.mp3"},1986,[]);
2223
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/magician.45710160f16955483d31a224b42c1e2b.mp3"},1987,[]);
2224
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/night.244d949630793f4f15fe2397bd73330c.mp3"},1988,[]);
2225
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/night_end.5d53307e44804b1f96df3a8fbc7f8b91.mp3"},1989,[]);
2226
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/nightmare.f82a827fe192256a2f73ac40a83f1b82.mp3"},1990,[]);
2227
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/piper.91f5082a405054f69adcc191ad854c86.mp3"},1991,[]);
2228
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/piper_hypnotized_reveal.a97554f25f5f5881630354c48b46c298.mp3"},1992,[]);
2229
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/poisoner.452df4976aa3138809f99a6bf348a42f.mp3"},1993,[]);
2230
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/psychic.0219fd2f69e8694c63e8896870479079.mp3"},1994,[]);
2231
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/pure_white.4e9d84f5cb7ca4e75279a335119e03af.mp3"},1995,[]);
2232
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/seer.5c494ffac65181e17fda8e4a0f8d5400.mp3"},1996,[]);
2233
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/seer_1.d316bcfa6b4442f446c487d9a6844779.mp3"},1997,[]);
2234
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/seer_2.f6c913b0ea8337c57dd8e7cf5f3459c9.mp3"},1998,[]);
2235
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/shadow.be37d4d7a4565c4bfa2134a8a522449a.mp3"},1999,[]);
2236
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/silence_elder.15ff6216eb019b2f75def182497fa778.mp3"},2000,[]);
2237
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/slacker.e41017d655f96a3c2141feb0404f453e.mp3"},2001,[]);
2238
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/thief.ff865b0c9708dfae6c386653bd77bd0d.mp3"},2002,[]);
2239
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/treasure_master.8dfdfb858e63890bf72b3b3d609c8f2a.mp3"},2003,[]);
2240
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/voteban_elder.3ea875215415b8a5565c994335289e58.mp3"},2004,[]);
2241
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/wild_child.a2614e7cd425fe4f8ae06138834bca3b.mp3"},2005,[]);
2242
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/witch.c9c0d94d9cc2729a838833724ccd8aea.mp3"},2006,[]);
2243
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/wolf.1cdb80a7a1ecf15a4b6fc2395bbc2ac0.mp3"},2007,[]);
2244
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/wolf_queen.96f6b4f56a48bcda7256d72dbdc713a1.mp3"},2008,[]);
2245
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/wolf_robot.8bbcf6a3b5094a75336646ff1e22097c.mp3"},2009,[]);
2246
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio/wolf_witch.0143e3aaddd20b095d9d8ae183216227.mp3"},2010,[]);
2247
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/avenger.68a17a13a8fbb1e04be62f215b3b0252.mp3"},2011,[]);
2248
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/awakened_gargoyle.6b293e297dc35f1c7467d75efe639065.mp3"},2012,[]);
2249
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/awakened_gargoyle_convert_reveal.647436241af2fef55bd36b55a3d9aaf7.mp3"},2013,[]);
2250
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/crow.7bab12a5496aa5decc8806bdc416a41b.mp3"},2014,[]);
2251
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/cupid.f1aa9ae1847c7dd51f24dc8a630b4a63.mp3"},2015,[]);
2252
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/cupid_lovers_reveal.647436241af2fef55bd36b55a3d9aaf7.mp3"},2016,[]);
2253
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/dark_wolf_king.9d34d062b2274693ed426899157e6830.mp3"},2017,[]);
2254
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/dreamcatcher.171809ad03e1683bdf997ffa56f8783d.mp3"},2018,[]);
2255
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/eclipse_wolf_queen.f0dbb261ba251cf7d12040ca8d477828.mp3"},2019,[]);
2256
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/gargoyle.a30434af25b929184040a3395e5e0852.mp3"},2020,[]);
2257
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/guard.fb6f555cd708be3ba6beb7c5edf73811.mp3"},2021,[]);
2258
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/hunter.70c5cc90398b21d6796e6ded8b89a7bf.mp3"},2022,[]);
2259
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/magician.660b512c3e3acb315671da4eb81f233d.mp3"},2023,[]);
2260
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/nightmare.0d8048c59077b5b9587100a49d68c9be.mp3"},2024,[]);
2261
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/piper.5c90df39e71836b8bd3f55708987e560.mp3"},2025,[]);
2262
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/piper_hypnotized_reveal.647436241af2fef55bd36b55a3d9aaf7.mp3"},2026,[]);
2263
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/poisoner.298b840c93783858deef09d485492580.mp3"},2027,[]);
2264
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/psychic.901c1c86d58d147b6944e799491caef5.mp3"},2028,[]);
2265
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/pure_white.4c5de9fced0cf1c587116b8cac4b0300.mp3"},2029,[]);
2266
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/seer.b28056e60a0fc9c4b3c48bde4ac5327c.mp3"},2030,[]);
2267
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/seer_1.591b65ff4211c9631a2f90db282c7b6b.mp3"},2031,[]);
2268
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/seer_2.4d99a78a4e20c459a959a9d2e88ca764.mp3"},2032,[]);
2269
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/shadow.1dc54d7679017208c59725932131fd5e.mp3"},2033,[]);
2270
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/silence_elder.03aabb9896f8a5e1967ebbe5e0358124.mp3"},2034,[]);
2271
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/slacker.2f140079f7490fe08db52fe1b5a88259.mp3"},2035,[]);
2272
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/thief.0df5693be11aaa2fe25d8d97c5f6a73a.mp3"},2036,[]);
2273
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/treasure_master.5edb2be44df8e8fe05e3c717e70e94f5.mp3"},2037,[]);
2274
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/voteban_elder.4e2e94eff696e311ad641eb3fbd4cb1e.mp3"},2038,[]);
2275
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/wild_child.4094db9dc30876dda3753413c7e01139.mp3"},2039,[]);
2276
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/witch.156db051410ca76adfb0771b7e31e224.mp3"},2040,[]);
2277
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/wolf.0712a4dd516cb4f3a5e8bbef402ca3a6.mp3"},2041,[]);
2278
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/wolf_queen.2683ca3136271138fd28ec5c17ea867a.mp3"},2042,[]);
2279
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/wolf_robot.ee2a028bbe85c4583cb00daa996f65ff.mp3"},2043,[]);
2280
- __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/audio_end/wolf_witch.d0aa6a395fe8a79fdd53f6c7aac942ee.mp3"},2044,[]);
2281
- __d(function(e,s,a,t,c,f,n){c.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/bgm/finale.6e2c076983ebe776fc990d4350896658.m4a"},2045,[]);
2282
- __d(function(s,e,c,a,t,b,o){t.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/bgm/speak_softly_love.7cb5657bcceb90f44a11cc7e4e211c44.m4a"},2046,[]);
2283
- __d(function(a,s,t,e,c,d,_){c.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/bgm/the_godfather_waltz.3305dc7ce1d3653f81413ac33a389303.m4a"},2047,[]);
2284
- __d(function(s,a,t,e,f,m,b){f.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/assets/bgm/the_immigrant.baa110955d7053bc9ff540f266e30059.m4a"},2048,[]);
2211
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/avenger.fdb0f2d8dd18a674655e66186312785a.mp3"},1975,[]);
2212
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/awakened_gargoyle.09a11ac188a5de8a52730bbdda7703a6.mp3"},1976,[]);
2213
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/awakened_gargoyle_convert_reveal.38d07649219f1c218bdcd704d9fbeef9.mp3"},1977,[]);
2214
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/crow.3861779eec1b840294cc63bc23be8343.mp3"},1978,[]);
2215
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/cupid.366b5a94f0c448f571e9f3c298991975.mp3"},1979,[]);
2216
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/cupid_lovers_reveal.a97554f25f5f5881630354c48b46c298.mp3"},1980,[]);
2217
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/dark_wolf_king.4b6cc3543ed4bf575cc0c4cb311076b7.mp3"},1981,[]);
2218
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/dreamcatcher.638126a3255b42142683ce2e1862ac18.mp3"},1982,[]);
2219
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/eclipse_wolf_queen.ae5cd20aab55a39e3b28e5e9f7810f16.mp3"},1983,[]);
2220
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/gargoyle.d24dc332fac724db57abec2fd6bd6507.mp3"},1984,[]);
2221
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/guard.fa4e0e49ff9b36666e76c8441afe6385.mp3"},1985,[]);
2222
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/hunter.5b7699ce02c967fea8fffe4ffaf9106a.mp3"},1986,[]);
2223
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/magician.45710160f16955483d31a224b42c1e2b.mp3"},1987,[]);
2224
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/night.244d949630793f4f15fe2397bd73330c.mp3"},1988,[]);
2225
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/night_end.5d53307e44804b1f96df3a8fbc7f8b91.mp3"},1989,[]);
2226
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/nightmare.f82a827fe192256a2f73ac40a83f1b82.mp3"},1990,[]);
2227
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/piper.91f5082a405054f69adcc191ad854c86.mp3"},1991,[]);
2228
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/piper_hypnotized_reveal.a97554f25f5f5881630354c48b46c298.mp3"},1992,[]);
2229
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/poisoner.452df4976aa3138809f99a6bf348a42f.mp3"},1993,[]);
2230
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/psychic.0219fd2f69e8694c63e8896870479079.mp3"},1994,[]);
2231
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/pure_white.4e9d84f5cb7ca4e75279a335119e03af.mp3"},1995,[]);
2232
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/seer.5c494ffac65181e17fda8e4a0f8d5400.mp3"},1996,[]);
2233
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/seer_1.d316bcfa6b4442f446c487d9a6844779.mp3"},1997,[]);
2234
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/seer_2.f6c913b0ea8337c57dd8e7cf5f3459c9.mp3"},1998,[]);
2235
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/shadow.be37d4d7a4565c4bfa2134a8a522449a.mp3"},1999,[]);
2236
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/silence_elder.15ff6216eb019b2f75def182497fa778.mp3"},2000,[]);
2237
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/slacker.e41017d655f96a3c2141feb0404f453e.mp3"},2001,[]);
2238
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/thief.ff865b0c9708dfae6c386653bd77bd0d.mp3"},2002,[]);
2239
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/treasure_master.8dfdfb858e63890bf72b3b3d609c8f2a.mp3"},2003,[]);
2240
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/voteban_elder.3ea875215415b8a5565c994335289e58.mp3"},2004,[]);
2241
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/wild_child.a2614e7cd425fe4f8ae06138834bca3b.mp3"},2005,[]);
2242
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/witch.c9c0d94d9cc2729a838833724ccd8aea.mp3"},2006,[]);
2243
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/wolf.1cdb80a7a1ecf15a4b6fc2395bbc2ac0.mp3"},2007,[]);
2244
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/wolf_queen.96f6b4f56a48bcda7256d72dbdc713a1.mp3"},2008,[]);
2245
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/wolf_robot.8bbcf6a3b5094a75336646ff1e22097c.mp3"},2009,[]);
2246
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio/wolf_witch.0143e3aaddd20b095d9d8ae183216227.mp3"},2010,[]);
2247
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/avenger.68a17a13a8fbb1e04be62f215b3b0252.mp3"},2011,[]);
2248
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/awakened_gargoyle.6b293e297dc35f1c7467d75efe639065.mp3"},2012,[]);
2249
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/awakened_gargoyle_convert_reveal.647436241af2fef55bd36b55a3d9aaf7.mp3"},2013,[]);
2250
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/crow.7bab12a5496aa5decc8806bdc416a41b.mp3"},2014,[]);
2251
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/cupid.f1aa9ae1847c7dd51f24dc8a630b4a63.mp3"},2015,[]);
2252
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/cupid_lovers_reveal.647436241af2fef55bd36b55a3d9aaf7.mp3"},2016,[]);
2253
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/dark_wolf_king.9d34d062b2274693ed426899157e6830.mp3"},2017,[]);
2254
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/dreamcatcher.171809ad03e1683bdf997ffa56f8783d.mp3"},2018,[]);
2255
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/eclipse_wolf_queen.f0dbb261ba251cf7d12040ca8d477828.mp3"},2019,[]);
2256
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/gargoyle.a30434af25b929184040a3395e5e0852.mp3"},2020,[]);
2257
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/guard.fb6f555cd708be3ba6beb7c5edf73811.mp3"},2021,[]);
2258
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/hunter.70c5cc90398b21d6796e6ded8b89a7bf.mp3"},2022,[]);
2259
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/magician.660b512c3e3acb315671da4eb81f233d.mp3"},2023,[]);
2260
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/nightmare.0d8048c59077b5b9587100a49d68c9be.mp3"},2024,[]);
2261
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/piper.5c90df39e71836b8bd3f55708987e560.mp3"},2025,[]);
2262
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/piper_hypnotized_reveal.647436241af2fef55bd36b55a3d9aaf7.mp3"},2026,[]);
2263
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/poisoner.298b840c93783858deef09d485492580.mp3"},2027,[]);
2264
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/psychic.901c1c86d58d147b6944e799491caef5.mp3"},2028,[]);
2265
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/pure_white.4c5de9fced0cf1c587116b8cac4b0300.mp3"},2029,[]);
2266
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/seer.b28056e60a0fc9c4b3c48bde4ac5327c.mp3"},2030,[]);
2267
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/seer_1.591b65ff4211c9631a2f90db282c7b6b.mp3"},2031,[]);
2268
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/seer_2.4d99a78a4e20c459a959a9d2e88ca764.mp3"},2032,[]);
2269
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/shadow.1dc54d7679017208c59725932131fd5e.mp3"},2033,[]);
2270
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/silence_elder.03aabb9896f8a5e1967ebbe5e0358124.mp3"},2034,[]);
2271
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/slacker.2f140079f7490fe08db52fe1b5a88259.mp3"},2035,[]);
2272
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/thief.0df5693be11aaa2fe25d8d97c5f6a73a.mp3"},2036,[]);
2273
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/treasure_master.5edb2be44df8e8fe05e3c717e70e94f5.mp3"},2037,[]);
2274
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/voteban_elder.4e2e94eff696e311ad641eb3fbd4cb1e.mp3"},2038,[]);
2275
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/wild_child.4094db9dc30876dda3753413c7e01139.mp3"},2039,[]);
2276
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/witch.156db051410ca76adfb0771b7e31e224.mp3"},2040,[]);
2277
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/wolf.0712a4dd516cb4f3a5e8bbef402ca3a6.mp3"},2041,[]);
2278
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/wolf_queen.2683ca3136271138fd28ec5c17ea867a.mp3"},2042,[]);
2279
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/wolf_robot.ee2a028bbe85c4583cb00daa996f65ff.mp3"},2043,[]);
2280
+ __d(function(g,r,i,a,m,e,d){m.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/audio_end/wolf_witch.d0aa6a395fe8a79fdd53f6c7aac942ee.mp3"},2044,[]);
2281
+ __d(function(e,s,a,t,c,f,n){c.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/bgm/finale.6e2c076983ebe776fc990d4350896658.m4a"},2045,[]);
2282
+ __d(function(s,e,c,a,t,b,o){t.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/bgm/speak_softly_love.7cb5657bcceb90f44a11cc7e4e211c44.m4a"},2046,[]);
2283
+ __d(function(a,s,t,e,c,d,_){c.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/bgm/the_godfather_waltz.3305dc7ce1d3653f81413ac33a389303.m4a"},2047,[]);
2284
+ __d(function(s,a,t,e,f,m,b){f.exports="https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/assets/bgm/the_immigrant.baa110955d7053bc9ff540f266e30059.m4a"},2048,[]);
2285
2285
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NotepadScreen",{enumerable:!0,get:function(){return u}});var t=e(r(d[0])),o=e(r(d[1])),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=r(d[5]),p=r(d[6]),T=r(d[7]);const u=()=>{const e=(0,r(d[8]).c)(56),u=(0,r(d[9]).useSafeAreaInsets)();let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r(d[10]).createNotepadScreenStyles)(r(d[11]).colors),e[0]=h):h=e[0];const x=h,f=(0,r(d[12]).useNavigation)(),y=(0,r(d[12]).useRoute)(),v=(0,r(d[13]).useGameFacade)(),S=(0,r(d[14]).useNotepad)(v);let b;e[1]!==f||e[2]!==y.params.roomCode?(b=()=>{f.canGoBack()?f.goBack():f.navigate("Room",{roomCode:y.params.roomCode,isHost:!1})},e[1]=f,e[2]=y.params.roomCode,e[3]=b):b=e[3];const B=b;let C;e[4]!==v||e[5]!==S.playerCount||e[6]!==S.state?(C=()=>{if(!(0,r(d[15]).isAIChatReady)())return void(0,r(d[16]).showErrorAlert)("AI \u52a9\u624b","AI \u52a9\u624b\u6682\u4e0d\u53ef\u7528");const e=v.getMySeat(),t=v.getState(),o=null!=e?t?.players[e]?.role:void 0,l=null!=e&&o?{seat:e+1,roleName:r(d[17]).ROLE_SPECS[o]?.displayName??o}:void 0,n=(0,r(d[18]).buildNotepadSummary)(S.state,S.playerCount,l);n?(0,r(d[16]).showConfirmAlert)("AI \u5206\u6790","\u5c06\u7b14\u8bb0\u53d1\u9001\u7ed9 AI \u8fdb\u884c\u5c40\u52bf\u5206\u6790\uff1f",()=>{(0,r(d[19]).requestAIChatMessage)({fullText:n,displayText:"\u5206\u6790\u6211\u7684\u7b14\u8bb0",maxTokens:1e4})}):(0,r(d[16]).showErrorAlert)("\u7b14\u8bb0\u4e3a\u7a7a","\u8bf7\u5148\u8bb0\u5f55\u4e00\u4e9b\u7b14\u8bb0\u518d\u8fdb\u884c\u5206\u6790")},e[4]=v,e[5]=S.playerCount,e[6]=S.state,e[7]=C):C=e[7];const _=C;let j;e[8]===Symbol.for("react.memo_cache_sentinel")?(j={container:x.container,list:x.list,listContent:x.listContent,card:x.card,cardWolf:x.cardWolf,cardGod:x.cardGod,cardVillager:x.cardVillager,cardThird:x.cardThird,cardHeader:x.cardHeader,seatBtn:x.seatBtn,seat:x.seat,seatPlaceholder:x.seatPlaceholder,roleBadge:x.roleBadge,roleBadgeEmpty:x.roleBadgeEmpty,roleBadgeWolf:x.roleBadgeWolf,roleBadgeGod:x.roleBadgeGod,roleBadgeVillager:x.roleBadgeVillager,roleBadgeThird:x.roleBadgeThird,roleBadgeText:x.roleBadgeText,roleBadgeTextWolf:x.roleBadgeTextWolf,roleBadgeTextGod:x.roleBadgeTextGod,roleBadgeTextVillager:x.roleBadgeTextVillager,roleBadgeTextThird:x.roleBadgeTextThird,handTag:x.handTag,handTagActive:x.handTagActive,handTagText:x.handTagText,handTagTextActive:x.handTagTextActive,noteInput:x.noteInput,placeholderColor:x.placeholderColor,popoverOverlay:x.popoverOverlay,popover:x.popover,popoverTitle:x.popoverTitle,popoverGrid:x.popoverGrid,popoverTag:x.popoverTag,popoverTagSelectedWolf:x.popoverTagSelectedWolf,popoverTagSelectedGod:x.popoverTagSelectedGod,popoverTagSelectedVillager:x.popoverTagSelectedVillager,popoverTagSelectedThird:x.popoverTagSelectedThird,popoverTagText:x.popoverTagText,popoverTagTextWolf:x.popoverTagTextWolf,popoverTagTextGod:x.popoverTagTextGod,popoverTagTextVillager:x.popoverTagTextVillager,popoverTagTextThird:x.popoverTagTextThird,popoverTagTextSelected:x.popoverTagTextSelected,popoverClearBtn:x.popoverClearBtn,popoverClearText:x.popoverClearText,legend:x.legend,legendItem:x.legendItem,legendDot:x.legendDot,legendDotWolf:x.legendDotWolf,legendDotGod:x.legendDotGod,legendDotVillager:x.legendDotVillager,legendDotThird:x.legendDotThird,legendText:x.legendText},e[8]=j):j=e[8];const N=j;let I,A,D,R,G,V,P,W,O,E,L,H,w,k,z,M,U,q,F,J,K;return e[9]===Symbol.for("react.memo_cache_sentinel")?(I=["left","right"],e[9]=I):I=e[9],e[10]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r(d[20]).jsx)(t.default,{name:r(d[21]).UI_ICONS.AI_ASSISTANT,size:r(d[11]).typography.secondary,color:r(d[11]).colors.primary}),D=(0,r(d[20]).jsx)(o.default,{style:x.aiAnalysisBtnText,children:"AI\u5206\u6790"}),e[10]=A,e[11]=D):(A=e[10],D=e[11]),e[12]!==_?(R=(0,r(d[20]).jsxs)(n.default,{onPress:_,style:x.aiAnalysisBtn,activeOpacity:r(d[11]).fixed.activeOpacity,children:[A,D]}),e[12]=_,e[13]=R):R=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(G=(0,r(d[20]).jsx)(t.default,{name:r(d[21]).UI_ICONS.DELETE,size:r(d[11]).componentSizes.icon.md,color:r(d[11]).colors.text}),e[14]=G):G=e[14],e[15]!==S.clearAll?(V=(0,r(d[20]).jsx)(c.Button,{variant:"icon",onPress:S.clearAll,accessibilityLabel:"\u6e05\u9664\u7b14\u8bb0",children:G}),e[15]=S.clearAll,e[16]=V):V=e[16],e[17]!==R||e[18]!==V?(P=(0,r(d[20]).jsxs)(s.default,{style:x.headerButtons,children:[R,V]}),e[17]=R,e[18]=V,e[19]=P):P=e[19],e[20]!==B||e[21]!==u.top||e[22]!==P?(W=(0,r(d[20]).jsx)(T.ScreenHeader,{title:"\u7b14\u8bb0",onBack:B,topInset:u.top,headerRight:P}),e[20]=B,e[21]=u.top,e[22]=P,e[23]=W):W=e[23],e[24]!==S.playerCount||e[25]!==S.roleTags||e[26]!==S.setNote||e[27]!==S.setRole||e[28]!==S.state||e[29]!==S.toggleHand?(O=(0,r(d[20]).jsx)(p.NotepadPanel,{state:S.state,playerCount:S.playerCount,roleTags:S.roleTags,onNoteChange:S.setNote,onToggleHand:S.toggleHand,onSetRole:S.setRole,styles:N}),e[24]=S.playerCount,e[25]=S.roleTags,e[26]=S.setNote,e[27]=S.setRole,e[28]=S.state,e[29]=S.toggleHand,e[30]=O):O=e[30],e[31]===Symbol.for("react.memo_cache_sentinel")?(E=(0,r(d[20]).jsxs)(o.default,{style:x.publicLabel,children:[(0,r(d[20]).jsx)(t.default,{name:r(d[21]).UI_ICONS.RECORD,size:r(d[11]).typography.secondary})," \u8bb0\u5f55"]}),e[31]=E):E=e[31],e[32]!==S.setPublicNoteLeft||e[33]!==S.state.publicNoteLeft?(L=(0,r(d[20]).jsx)(l.default,{style:x.publicInput,value:S.state.publicNoteLeft,onChangeText:S.setPublicNoteLeft,placeholder:"\u81ea\u7531\u8bb0\u5f55",placeholderTextColor:x.placeholderColor,multiline:!0,textAlignVertical:"top"}),e[32]=S.setPublicNoteLeft,e[33]=S.state.publicNoteLeft,e[34]=L):L=e[34],e[35]!==S.setPublicNoteRight||e[36]!==S.state.publicNoteRight?(H=(0,r(d[20]).jsx)(l.default,{style:x.publicInput,value:S.state.publicNoteRight,onChangeText:S.setPublicNoteRight,placeholder:"\u6295\u7968\u8bb0\u5f55",placeholderTextColor:x.placeholderColor,multiline:!0,textAlignVertical:"top"}),e[35]=S.setPublicNoteRight,e[36]=S.state.publicNoteRight,e[37]=H):H=e[37],e[38]!==L||e[39]!==H?(w=(0,r(d[20]).jsxs)(s.default,{style:x.publicSection,children:[E,(0,r(d[20]).jsxs)(s.default,{style:x.publicRow,children:[L,H]})]}),e[38]=L,e[39]=H,e[40]=w):w=e[40],e[41]!==u.bottom?(k=u.bottom>0&&{paddingBottom:u.bottom},e[41]=u.bottom,e[42]=k):k=e[42],e[43]!==k?(z=[N.legend,k],e[43]=k,e[44]=z):z=e[44],e[45]===Symbol.for("react.memo_cache_sentinel")?(M=(0,r(d[20]).jsxs)(s.default,{style:N.legendItem,children:[(0,r(d[20]).jsx)(s.default,{style:[N.legendDot,N.legendDotGod]}),(0,r(d[20]).jsx)(o.default,{style:N.legendText,children:"\u795e\u804c"})]}),e[45]=M):M=e[45],e[46]===Symbol.for("react.memo_cache_sentinel")?(U=(0,r(d[20]).jsxs)(s.default,{style:N.legendItem,children:[(0,r(d[20]).jsx)(s.default,{style:[N.legendDot,N.legendDotVillager]}),(0,r(d[20]).jsx)(o.default,{style:N.legendText,children:"\u5e73\u6c11"})]}),e[46]=U):U=e[46],e[47]===Symbol.for("react.memo_cache_sentinel")?(q=(0,r(d[20]).jsxs)(s.default,{style:N.legendItem,children:[(0,r(d[20]).jsx)(s.default,{style:[N.legendDot,N.legendDotWolf]}),(0,r(d[20]).jsx)(o.default,{style:N.legendText,children:"\u72fc\u4eba"})]}),e[47]=q):q=e[47],e[48]===Symbol.for("react.memo_cache_sentinel")?(F=(0,r(d[20]).jsxs)(s.default,{style:N.legendItem,children:[(0,r(d[20]).jsx)(s.default,{style:[N.legendDot,N.legendDotThird]}),(0,r(d[20]).jsx)(o.default,{style:N.legendText,children:"\u7b2c\u4e09\u65b9"})]}),e[48]=F):F=e[48],e[49]!==z?(J=(0,r(d[20]).jsxs)(s.default,{style:z,children:[M,U,q,F]}),e[49]=z,e[50]=J):J=e[50],e[51]!==W||e[52]!==O||e[53]!==w||e[54]!==J?(K=(0,r(d[20]).jsxs)(r(d[9]).SafeAreaView,{style:x.screen,edges:I,children:[W,O,w,J]}),e[51]=W,e[52]=O,e[53]=w,e[54]=J,e[55]=K):K=e[55],K}},2049,[1013,549,594,585,459,1119,2050,1467,1092,1006,2051,1098,1704,1089,2052,1060,1073,1077,2053,1105,700,1112]);
2286
2286
  __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NotepadPanel",{enumerable:!0,get:function(){return y}});var t=e(r(d[0])),l=e(r(d[1])),o=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),i=e(r(d[6]));function p(e){switch(e){case r(d[7]).Faction.Wolf:return'Wolf';case r(d[7]).Faction.God:return'God';case r(d[7]).Faction.Villager:return'Villager';default:return'Third'}}const u=l.default.memo(e=>{const t=(0,r(d[8]).c)(65),{seat:l,hand:o,selectedRoleId:u,noteText:h,roleTags:y,onNoteChange:f,onToggleHand:v,onSeatPress:x,styles:T}=e,[C,S]=(0,r(d[1]).useState)(22);let j;t[0]===Symbol.for("react.memo_cache_sentinel")?(j=e=>{const t=e.nativeEvent.contentSize.height;S(Math.max(22,t))},t[0]=j):j=t[0];const O=j;let B,P;t[1]!==y||t[2]!==u?(B=u?y.find(e=>e.roleId===u)??null:null,P=B?p(B.faction):null,t[1]=y,t[2]=u,t[3]=B,t[4]=P):(B=t[3],P=t[4]);const I=P,N=I?T[`card${I}`]:void 0;let _,G,b;t[5]!==N||t[6]!==T.card?(_=[T.card,N],t[5]=N,t[6]=T.card,t[7]=_):_=t[7],t[8]!==x||t[9]!==l?(G=()=>x(l),t[8]=x,t[9]=l,t[10]=G):G=t[10],t[11]!==l||t[12]!==T.seat?(b=(0,r(d[9]).jsx)(n.default,{style:T.seat,children:l}),t[11]=l,t[12]=T.seat,t[13]=b):b=t[13];const R=I?T[`roleBadge${I}`]:T.roleBadgeEmpty;let H;t[14]!==T.roleBadge||t[15]!==R?(H=[T.roleBadge,R],t[14]=T.roleBadge,t[15]=R,t[16]=H):H=t[16];const M=B?T.roleBadgeText:T.seatPlaceholder,$=I&&T[`roleBadgeText${I}`];let k;t[17]!==M||t[18]!==$?(k=[M,$],t[17]=M,t[18]=$,t[19]=k):k=t[19];const E=B?B.shortName:"+";let F,z,A,V;t[20]!==k||t[21]!==E?(F=(0,r(d[9]).jsx)(n.default,{style:k,children:E}),t[20]=k,t[21]=E,t[22]=F):F=t[22],t[23]!==F||t[24]!==H?(z=(0,r(d[9]).jsx)(i.default,{style:H,children:F}),t[23]=F,t[24]=H,t[25]=z):z=t[25],t[26]!==T.seatBtn||t[27]!==z||t[28]!==G||t[29]!==b?(A=(0,r(d[9]).jsxs)(c.default,{onPress:G,style:T.seatBtn,hitSlop:6,activeOpacity:r(d[10]).fixed.activeOpacity,children:[b,z]}),t[26]=T.seatBtn,t[27]=z,t[28]=G,t[29]=b,t[30]=A):A=t[30],t[31]!==v||t[32]!==l?(V=()=>v(l),t[31]=v,t[32]=l,t[33]=V):V=t[33];const W=o&&T.handTagActive;let q;t[34]!==T.handTag||t[35]!==W?(q=[T.handTag,W],t[34]=T.handTag,t[35]=W,t[36]=q):q=t[36];const w=o&&T.handTagTextActive;let D,J,K,L,Q,U,X,Y;return t[37]!==T.handTagText||t[38]!==w?(D=(0,r(d[9]).jsx)(n.default,{style:[T.handTagText,w],children:"\u4e0a\u8b66"}),t[37]=T.handTagText,t[38]=w,t[39]=D):D=t[39],t[40]!==V||t[41]!==q||t[42]!==D?(J=(0,r(d[9]).jsx)(c.default,{onPress:V,style:q,hitSlop:6,activeOpacity:r(d[10]).fixed.activeOpacity,children:D}),t[40]=V,t[41]=q,t[42]=D,t[43]=J):J=t[43],t[44]!==T.cardHeader||t[45]!==A||t[46]!==J?(K=(0,r(d[9]).jsxs)(i.default,{style:T.cardHeader,children:[A,J]}),t[44]=T.cardHeader,t[45]=A,t[46]=J,t[47]=K):K=t[47],t[48]!==C?(L={height:C},t[48]=C,t[49]=L):L=t[49],t[50]!==T.noteInput||t[51]!==L?(Q=[T.noteInput,L],t[50]=T.noteInput,t[51]=L,t[52]=Q):Q=t[52],t[53]!==f||t[54]!==l?(U=e=>f(l,e),t[53]=f,t[54]=l,t[55]=U):U=t[55],t[56]!==h||t[57]!==T.placeholderColor||t[58]!==Q||t[59]!==U?(X=(0,r(d[9]).jsx)(s.default,{style:Q,value:h,onChangeText:U,onContentSizeChange:O,placeholder:"\u53d1\u8a00",placeholderTextColor:T.placeholderColor,multiline:!0}),t[56]=h,t[57]=T.placeholderColor,t[58]=Q,t[59]=U,t[60]=X):X=t[60],t[61]!==K||t[62]!==X||t[63]!==_?(Y=(0,r(d[9]).jsxs)(i.default,{style:_,children:[K,X]}),t[61]=K,t[62]=X,t[63]=_,t[64]=Y):Y=t[64],Y});u.displayName='NotepadCard';const h=l.default.memo(e=>{const l=(0,r(d[8]).c)(38),{seat:o,selectedRoleId:s,roleTags:u,onSelect:h,onClose:y,styles:v}=e;if(null===o)return null;const x=v.popoverOverlay,T=v.popover;let C;l[0]!==o||l[1]!==v.popoverTitle?(C=(0,r(d[9]).jsxs)(n.default,{style:v.popoverTitle,children:["\u5ea7\u4f4d ",o," \xb7 \u89d2\u8272\u731c\u6d4b"]}),l[0]=o,l[1]=v.popoverTitle,l[2]=C):C=l[2];const S=v.popoverGrid;let j,O,B,P,I,N,_,G;if(l[3]!==h||l[4]!==u||l[5]!==o||l[6]!==s||l[7]!==v){let e;l[9]!==h||l[10]!==o||l[11]!==s||l[12]!==v?(e=e=>{const t=s===e.roleId,l=p(e.faction);return(0,r(d[9]).jsx)(c.default,{onPress:()=>h(o,e.roleId),style:[v.popoverTag,t&&v[`popoverTagSelected${l}`]],activeOpacity:r(d[10]).fixed.activeOpacity,children:(0,r(d[9]).jsx)(n.default,{style:[v.popoverTagText,!t&&v[`popoverTagText${l}`],t&&v.popoverTagTextSelected],children:e.shortName})},e.roleId)},l[9]=h,l[10]=o,l[11]=s,l[12]=v,l[13]=e):e=l[13],j=u.map(e),l[3]=h,l[4]=u,l[5]=o,l[6]=s,l[7]=v,l[8]=j}else j=l[8];return l[14]!==h||l[15]!==o?(O=()=>h(o,null),l[14]=h,l[15]=o,l[16]=O):O=l[16],l[17]!==v.popoverClearText?(B=(0,r(d[9]).jsx)(t.default,{name:"close-circle-outline",style:v.popoverClearText}),l[17]=v.popoverClearText,l[18]=B):B=l[18],l[19]!==v.popoverClearBtn||l[20]!==O||l[21]!==B?(P=(0,r(d[9]).jsx)(c.default,{onPress:O,style:v.popoverClearBtn,activeOpacity:r(d[10]).fixed.activeOpacity,children:B}),l[19]=v.popoverClearBtn,l[20]=O,l[21]=B,l[22]=P):P=l[22],l[23]!==v.popoverGrid||l[24]!==j||l[25]!==P?(I=(0,r(d[9]).jsxs)(i.default,{style:S,children:[j,P]}),l[23]=v.popoverGrid,l[24]=j,l[25]=P,l[26]=I):I=l[26],l[27]!==v.popover||l[28]!==C||l[29]!==I?(N=(0,r(d[9]).jsxs)(i.default,{style:T,onStartShouldSetResponder:f,children:[C,I]}),l[27]=v.popover,l[28]=C,l[29]=I,l[30]=N):N=l[30],l[31]!==y||l[32]!==v.popoverOverlay||l[33]!==N?(_=(0,r(d[9]).jsx)(c.default,{style:x,activeOpacity:1,onPress:y,children:N}),l[31]=y,l[32]=v.popoverOverlay,l[33]=N,l[34]=_):_=l[34],l[35]!==y||l[36]!==_?(G=(0,r(d[9]).jsx)(r(d[11]).Modal,{visible:!0,transparent:!0,animationType:"fade",onRequestClose:y,children:_}),l[35]=y,l[36]=_,l[37]=G):G=l[37],G});h.displayName='RolePickerModal';const y=e=>{const t=(0,r(d[8]).c)(29),{state:l,playerCount:n,roleTags:s,onNoteChange:c,onToggleHand:p,onSetRole:y,styles:f}=e,[x,T]=(0,r(d[1]).useState)(null);let C;if(t[0]!==n){C=[];for(let e=1;e<=n;e++)C.push({seat:e});t[0]=n,t[1]=C}else C=t[1];const S=C,j=v;let O;t[2]===Symbol.for("react.memo_cache_sentinel")?(O=e=>{T(e)},t[2]=O):O=t[2];const B=O;let P;t[3]!==y?(P=(e,t)=>{y(e,t),T(null)},t[3]=y,t[4]=P):P=t[4];const I=P;let N;t[5]===Symbol.for("react.memo_cache_sentinel")?(N=()=>{T(null)},t[5]=N):N=t[5];const _=N;let G;t[6]!==c||t[7]!==p||t[8]!==s||t[9]!==l.handStates||t[10]!==l.playerNotes||t[11]!==l.roleGuesses||t[12]!==f?(G=e=>{const{item:t}=e,{seat:o}=t;return(0,r(d[9]).jsx)(u,{seat:o,hand:l.handStates[o]??!1,selectedRoleId:l.roleGuesses[o]??null,noteText:l.playerNotes[o]??"",roleTags:s,onNoteChange:c,onToggleHand:p,onSeatPress:B,styles:f})},t[6]=c,t[7]=p,t[8]=s,t[9]=l.handStates,t[10]=l.playerNotes,t[11]=l.roleGuesses,t[12]=f,t[13]=G):G=t[13];const b=G,R=null!==x?l.roleGuesses[x]??null:null;let H,M,$;return t[14]!==b||t[15]!==S||t[16]!==f.list||t[17]!==f.listContent?(H=(0,r(d[9]).jsx)(o.default,{data:S,keyExtractor:j,renderItem:b,contentContainerStyle:f.listContent,style:f.list,keyboardShouldPersistTaps:"handled"}),t[14]=b,t[15]=S,t[16]=f.list,t[17]=f.listContent,t[18]=H):H=t[18],t[19]!==I||t[20]!==x||t[21]!==R||t[22]!==s||t[23]!==f?(M=(0,r(d[9]).jsx)(h,{seat:x,selectedRoleId:R,roleTags:s,onSelect:I,onClose:_,styles:f}),t[19]=I,t[20]=x,t[21]=R,t[22]=s,t[23]=f,t[24]=M):M=t[24],t[25]!==f.container||t[26]!==H||t[27]!==M?($=(0,r(d[9]).jsxs)(i.default,{style:f.container,children:[H,M]}),t[25]=f.container,t[26]=H,t[27]=M,t[28]=$):$=t[28],$};function f(){return!0}function v(e){return String(e.seat)}},2050,[1013,36,489,549,594,585,459,1082,1092,700,1098,1113]);
2287
2287
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createNotepadScreenStyles=function(o){const t=e.default.create({screen:{flex:1,backgroundColor:o.transparent,overflow:'hidden'},headerButtons:{flexDirection:'row',gap:r(d[1]).spacing.small},aiAnalysisBtn:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.micro,paddingHorizontal:r(d[1]).spacing.small,paddingVertical:r(d[1]).spacing.micro,borderRadius:r(d[1]).borderRadius.medium,borderWidth:r(d[1]).fixed.borderWidth,borderColor:o.primary,backgroundColor:(0,r(d[1]).withAlpha)(o.primary,.06)},aiAnalysisBtnText:{fontSize:r(d[1]).typography.secondary,fontWeight:r(d[1]).typography.weights.medium,color:o.primary},publicSection:{paddingHorizontal:r(d[1]).spacing.medium,paddingTop:r(d[1]).spacing.small,paddingBottom:r(d[1]).spacing.tight,borderTopWidth:r(d[1]).fixed.borderWidth,borderTopColor:o.border},publicLabel:{fontSize:r(d[1]).typography.secondary,fontWeight:r(d[1]).typography.weights.semibold,color:o.text,marginBottom:r(d[1]).spacing.tight},publicRow:{flexDirection:'row',gap:r(d[1]).spacing.small},publicInput:Object.assign({flex:1,backgroundColor:o.surface,borderWidth:r(d[1]).fixed.borderWidthThick,borderColor:o.border,borderRadius:r(d[1]).borderRadius.medium,paddingHorizontal:r(d[1]).spacing.small,paddingVertical:r(d[1]).spacing.small,fontSize:r(d[1]).typography.body,color:o.text,minHeight:80,maxHeight:160},r(d[1]).shadows.sm),container:{flex:1},list:{flex:1,backgroundColor:o.transparent},listContent:{flexGrow:1,padding:r(d[1]).spacing.tight,gap:r(d[1]).spacing.tight},card:Object.assign({flexDirection:'row',alignItems:'center',backgroundColor:o.surface,borderRadius:r(d[1]).borderRadius.large},r(d[1]).shadows.sm,{paddingHorizontal:r(d[1]).spacing.tight,paddingVertical:r(d[1]).spacing.tight,gap:r(d[1]).spacing.tight}),cardWolf:{backgroundColor:(0,r(d[1]).withAlpha)(o.wolf,.094)},cardGod:{backgroundColor:(0,r(d[1]).withAlpha)(o.god,.094)},cardVillager:{backgroundColor:(0,r(d[1]).withAlpha)(o.villager,.094)},cardThird:{backgroundColor:(0,r(d[1]).withAlpha)(o.third,.094)},cardHeader:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.tight},seatBtn:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.micro,minHeight:r(d[1]).componentSizes.button.sm},seat:{fontSize:r(d[1]).typography.secondary,fontWeight:r(d[1]).typography.weights.bold,color:o.text,minWidth:r(d[1]).componentSizes.icon.lg,textAlign:'center'},seatPlaceholder:{fontSize:r(d[1]).typography.caption,color:o.textSecondary},roleBadge:{minWidth:r(d[1]).componentSizes.badge.md,paddingHorizontal:r(d[1]).spacing.micro,paddingVertical:1,borderRadius:r(d[1]).borderRadius.small,alignItems:'center',justifyContent:'center'},roleBadgeEmpty:{backgroundColor:(0,r(d[1]).withAlpha)(o.primary,.06),borderWidth:1,borderStyle:'dashed',borderColor:o.textSecondary},roleBadgeWolf:{backgroundColor:(0,r(d[1]).withAlpha)(o.wolf,.188)},roleBadgeGod:{backgroundColor:(0,r(d[1]).withAlpha)(o.god,.188)},roleBadgeVillager:{backgroundColor:(0,r(d[1]).withAlpha)(o.villager,.188)},roleBadgeThird:{backgroundColor:(0,r(d[1]).withAlpha)(o.third,.188)},roleBadgeText:{fontSize:r(d[1]).typography.caption,fontWeight:r(d[1]).typography.weights.semibold,color:o.text},roleBadgeTextWolf:{color:o.wolf},roleBadgeTextGod:{color:o.god},roleBadgeTextVillager:{color:o.villager},roleBadgeTextThird:{color:o.third},handTag:{marginLeft:'auto',minHeight:r(d[1]).componentSizes.button.sm,paddingHorizontal:r(d[1]).spacing.small,paddingVertical:r(d[1]).spacing.tight,borderRadius:r(d[1]).borderRadius.small,backgroundColor:o.background,justifyContent:'center'},handTagActive:{backgroundColor:(0,r(d[1]).withAlpha)(o.primary,.188)},handTagText:{fontSize:r(d[1]).typography.caption,color:o.textMuted},handTagTextActive:{color:o.primary,fontWeight:r(d[1]).typography.weights.semibold},popoverOverlay:Object.assign({},e.default.absoluteFillObject,{backgroundColor:o.overlayLight,justifyContent:'center',alignItems:'center'}),popover:Object.assign({backgroundColor:o.surface,borderRadius:r(d[1]).borderRadius.large,padding:r(d[1]).spacing.medium},r(d[1]).shadows.lg,{width:280}),popoverTitle:{fontSize:r(d[1]).typography.secondary,fontWeight:r(d[1]).typography.weights.semibold,color:o.text,marginBottom:r(d[1]).spacing.small,textAlign:'center'},popoverGrid:{flexDirection:'row',flexWrap:'wrap',gap:r(d[1]).spacing.small,justifyContent:'center'},popoverTag:{minWidth:r(d[1]).componentSizes.button.md,minHeight:r(d[1]).componentSizes.button.md,borderRadius:r(d[1]).borderRadius.medium,backgroundColor:o.background,alignItems:'center',justifyContent:'center'},popoverTagSelectedWolf:{backgroundColor:(0,r(d[1]).withAlpha)(o.wolf,.188)},popoverTagSelectedGod:{backgroundColor:(0,r(d[1]).withAlpha)(o.god,.188)},popoverTagSelectedVillager:{backgroundColor:(0,r(d[1]).withAlpha)(o.villager,.188)},popoverTagSelectedThird:{backgroundColor:(0,r(d[1]).withAlpha)(o.third,.188)},popoverTagText:{fontSize:r(d[1]).typography.body,color:o.textMuted},popoverTagTextWolf:{color:o.wolf},popoverTagTextGod:{color:o.god},popoverTagTextVillager:{color:o.villager},popoverTagTextThird:{color:o.third},popoverTagTextSelected:{color:o.text,fontWeight:r(d[1]).typography.weights.bold},popoverClearBtn:{minWidth:r(d[1]).componentSizes.button.md,minHeight:r(d[1]).componentSizes.button.md,borderRadius:r(d[1]).borderRadius.medium,backgroundColor:o.background,alignItems:'center',justifyContent:'center'},popoverClearText:{fontSize:r(d[1]).typography.body,color:o.error},noteInput:{flex:1,backgroundColor:(0,r(d[1]).withAlpha)(o.background,.6),borderRadius:r(d[1]).borderRadius.small,paddingHorizontal:r(d[1]).spacing.small,paddingVertical:0,fontSize:r(d[1]).typography.body,color:o.text},legend:{flexDirection:'row',justifyContent:'center',gap:r(d[1]).spacing.medium,paddingVertical:r(d[1]).spacing.small,borderTopWidth:r(d[1]).fixed.borderWidth,borderTopColor:o.border,backgroundColor:o.surface},legendItem:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.tight},legendDot:{width:r(d[1]).spacing.small,height:r(d[1]).spacing.small,borderRadius:r(d[1]).borderRadius.full},legendDotWolf:{backgroundColor:o.wolf},legendDotGod:{backgroundColor:o.god},legendDotVillager:{backgroundColor:o.villager},legendDotThird:{backgroundColor:o.third},legendText:{fontSize:r(d[1]).typography.caption,color:o.textSecondary}});return Object.assign({},t,{placeholderColor:o.textMuted})};var o,e=(o=r(d[0]))&&o.__esModule?o:{default:o}},2051,[38,1098]);
2288
2288
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getNotepadStorageKey=n,e.useNotepad=function(t){const c=(0,r(d[0]).c)(45),[l,u]=(0,r(d[1]).useState)(o);let f;c[0]!==t?(f=s=>t.subscribe(s),c[0]=t,c[1]=f):f=c[1];const p=f;let b;c[2]!==t?(b=()=>t.getState(),c[2]=t,c[3]=b):b=c[3];const S=b,N=(0,r(d[1]).useSyncExternalStore)(p,S),h=N?.templateRoles?.length??12,y=N?.templateRoles,O=N?.roomCode??null;let R;c[4]!==O?(R=n(O),c[4]=O,c[5]=R):R=c[5];const j=R,L=N?.status;let G;t:{if(!y){let t;c[6]===Symbol.for("react.memo_cache_sentinel")?(t=[],c[6]=t):t=c[6],G=t;break t}let t;if(c[7]!==y){const s=new Set,o=[],n=[],l=[];for(const t of y){if(s.has(t))continue;s.add(t);const c=r(d[2]).ROLE_SPECS[t];if(!c)continue;const u={roleId:t,shortName:c.shortName,team:c.team,faction:c.faction};c.team===r(d[3]).Team.Wolf?n.push(u):c.team===r(d[3]).Team.Third?l.push(u):o.push(u)}t=[...o,...n,...l],c[7]=y,c[8]=t}else t=c[8];G=t}const _=G;let v,T;c[9]!==j?(v=()=>{if(!j)return;const t=r(d[4]).storage.getString(j);if(t)try{const s=JSON.parse(t),o=s.publicNote;void 0!==o&&(s.publicNoteLeft=o,delete s.publicNote),void 0===s.publicNoteLeft&&(s.publicNoteLeft=""),void 0===s.publicNoteRight&&(s.publicNoteRight=""),u(s)}catch{r(d[5]).chatLog.warn("Failed to parse notepad state")}},T=[j],c[9]=j,c[10]=v,c[11]=T):(v=c[10],T=c[11]);(0,r(d[1]).useEffect)(v,T);const E=(0,r(d[1]).useRef)(null);let P,C,w;c[12]===Symbol.for("react.memo_cache_sentinel")?(P=()=>()=>{E.current&&clearTimeout(E.current)},C=[],c[12]=P,c[13]=C):(P=c[12],C=c[13]);(0,r(d[1]).useEffect)(P,C),c[14]!==j?(w=t=>{j&&(E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{r(d[4]).storage.set(j,JSON.stringify(t))},500))},c[14]=j,c[15]=w):w=c[15];const I=w,J=(0,r(d[1]).useRef)(L);let $,k,x;c[16]!==L||c[17]!==j?(k=()=>{const t=J.current;void 0!==t&&t!==r(d[6]).GameStatus.Unseated&&t!==r(d[6]).GameStatus.Seated&&L===r(d[6]).GameStatus.Seated&&(r(d[5]).chatLog.info("Game restarted, clearing notepad"),u({playerNotes:{},handStates:{},identityStates:{},roleGuesses:{},publicNoteLeft:'',publicNoteRight:''}),j&&r(d[4]).storage.remove(j)),J.current=L},$=[L,j],c[16]=L,c[17]=j,c[18]=$,c[19]=k):($=c[18],k=c[19]);(0,r(d[1]).useEffect)(k,$),c[20]!==I?(x=(t,s)=>{u(o=>{const n=Object.assign({},o,{playerNotes:Object.assign({},o.playerNotes,{[t]:s})});return I(n),n})},c[20]=I,c[21]=x):x=c[21];const A=x;let F;c[22]!==I?(F=t=>{u(s=>{const o=Object.assign({},s,{publicNoteLeft:t});return I(o),o})},c[22]=I,c[23]=F):F=c[23];const H=F;let K;c[24]!==I?(K=t=>{u(s=>{const o=Object.assign({},s,{publicNoteRight:t});return I(o),o})},c[24]=I,c[25]=K):K=c[25];const M=K;let U;c[26]!==I?(U=t=>{u(s=>{const o=s.handStates[t]??!1,n=Object.assign({},s,{handStates:Object.assign({},s.handStates,{[t]:!o})});return I(n),n})},c[26]=I,c[27]=U):U=c[27];const W=U;let q;c[28]!==I?(q=t=>{u(o=>{const n=((o.identityStates[t]??0)+1)%s,c=Object.assign({},o,{identityStates:Object.assign({},o.identityStates,{[t]:n})});return I(c),c})},c[28]=I,c[29]=q):q=c[29];const z=q;let B;c[30]!==I?(B=(t,s)=>{u(o=>{const n=(o.roleGuesses[t]??null)===s?null:s,c=Object.assign({},o,{roleGuesses:Object.assign({},o.roleGuesses,{[t]:n})});return I(c),c})},c[30]=I,c[31]=B):B=c[31];const D=B;let Q;c[32]!==j?(Q=()=>{u({playerNotes:{},handStates:{},identityStates:{},roleGuesses:{},publicNoteLeft:'',publicNoteRight:''}),j&&r(d[4]).storage.remove(j)},c[32]=j,c[33]=Q):Q=c[33];const V=Q;let X;c[34]!==V||c[35]!==z||c[36]!==h||c[37]!==_||c[38]!==A||c[39]!==H||c[40]!==M||c[41]!==D||c[42]!==l||c[43]!==W?(X={state:l,playerCount:h,roleTags:_,setNote:A,setPublicNoteLeft:H,setPublicNoteRight:M,toggleHand:W,cycleIdentity:z,setRole:D,clearAll:V},c[34]=V,c[35]=z,c[36]=h,c[37]=_,c[38]=A,c[39]=H,c[40]=M,c[41]=D,c[42]=l,c[43]=W,c[44]=X):X=c[44];return X};const t='@notepad:',s=4;function o(){return{playerNotes:{},handStates:{},identityStates:{},roleGuesses:{},publicNoteLeft:'',publicNoteRight:''}}function n(s){return s?`${t}${s}`:null}},2052,[1092,36,1077,1082,1054,1061,1907]);
2289
2289
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildNotepadSummary=function(n,s,o){const l=[],u=[];for(let t=1;t<=s;t++){const s=n.playerNotes[t]?.trim(),o=n.handStates[t],c=n.roleGuesses[t];if(o&&u.push(t),!s&&!o&&!c)continue;const h=[];if(h.push(`${t}\u53f7\u4f4d`),c){const t=r(d[0]).ROLE_SPECS[c],n=t?.displayName??c;h[h.length-1]+=`\uff08\u731c\u6d4b\uff1a${n}\uff09`}o&&(h[h.length-1]+='[\u4e0a\u8b66]');const p=h.join('');l.push(s?`- ${p}\uff1a${s}`:`- ${p}`)}const c=n.publicNoteLeft?.trim(),h=n.publicNoteRight?.trim();if(0===l.length&&!c&&!h)return null;const p=['[\u89d2\u8272] \u4f60\u662f\u4e00\u540d\u62e5\u6709\u4e30\u5bcc\u72fc\u4eba\u6740\u590d\u76d8\u7ecf\u9a8c\u7684\u4e13\u4e1a\u5206\u6790\u5e08\u3002\u57fa\u4e8e\u73a9\u5bb6\u63d0\u4f9b\u7684\u7b14\u8bb0\uff0c\u8f93\u51fa\u4e25\u8c28\u7684\u5c40\u52bf\u5206\u6790\u3002','',...o?[`[\u8bb0\u5f55\u8005\u8eab\u4efd] ${o.seat}\u53f7\u4f4d ${o.roleName}`,'']:[],'[\u89c4\u5219]','- \u903b\u8f91\u4f18\u5148\u7ea7\uff1a\u6536\u76ca\u903b\u8f91\uff1e\u53d1\u8a00\u72b6\u6001\uff1e\u4f4d\u7f6e\u5b66\uff0c\u7981\u6b62\u65e0\u4e8b\u5b9e\u652f\u6491\u7684\u7384\u5b66\u5206\u6790','- \u6240\u6709\u7ed3\u8bba\u5fc5\u987b\u951a\u5b9a\u7b14\u8bb0\u4e2d\u8bb0\u5f55\u7684\u53d1\u8a00\u3001\u6295\u7968\u3001\u4e0a\u8b66\u7b49\u53ef\u8ffd\u6eaf\u884c\u4e3a','- \u4ece\u8bb0\u5f55\u8005\u81ea\u8eab\u89c6\u89d2\u5206\u6790\uff08\u53c2\u8003\u4e0a\u65b9\u8bb0\u5f55\u8005\u8eab\u4efd\uff09\uff0c\u4e0d\u505a\u4e0a\u5e1d\u89c6\u89d2\u9a6c\u540e\u70ae','- \u5bf9\u4e89\u8bae\u884c\u4e3a\u540c\u65f6\u62c6\u89e3\u6b63\u903b\u8f91\u4e0e\u53cd\u903b\u8f91','- \u7ed3\u5408\u4e0a\u65b9"\u5f53\u524d\u6e38\u620f\u72b6\u6001"\u4e2d\u7684\u89d2\u8272\u914d\u7f6e\u548c\u6280\u80fd\u8fdb\u884c\u63a8\u7406','- \u7bc7\u5e45\u4e0d\u9650\uff0c\u6839\u636e\u7b14\u8bb0\u91cf\u5145\u5206\u5c55\u5f00\u5206\u6790','','[\u8f93\u51fa\u7ed3\u6784]','1. **\u8eab\u4efd\u63a8\u7406**\uff1a\u9010\u4e00\u5206\u6790\u53ef\u7591\u73a9\u5bb6\u6700\u53ef\u80fd\u7684\u8eab\u4efd\uff0c\u951a\u5b9a\u5177\u4f53\u884c\u4e3a\u7ed9\u51fa\u4f9d\u636e','2. **\u9635\u8425\u5224\u65ad**\uff1a\u597d\u4eba/\u72fc\u4eba\u9635\u8425\u5212\u5206\uff0c\u5173\u952e\u77db\u76fe\u70b9\u4e0e\u903b\u8f91\u94fe','3. **\u884c\u52a8\u5efa\u8bae**\uff1a\u6295\u7968\u4f18\u5148\u7ea7\u3001\u4fdd\u62a4\u76ee\u6807\u3001\u4e0b\u8f6e\u91cd\u70b9\u5173\u6ce8'];l.length>0&&(p.push('## \u73a9\u5bb6\u7b14\u8bb0'),u.length>0&&p.push(`\u4e0a\u8b66\u73a9\u5bb6\uff1a${u.map(t=>`${t}\u53f7`).join('\u3001')}`),p.push(...l,''));(c||h)&&(c&&p.push('## \u81ea\u7531\u8bb0\u5f55',c,''),h&&p.push('## \u6295\u7968\u8bb0\u5f55',h,''));let f=p.filter(Boolean).join('\n');f.length>t&&(f=f.slice(0,1497)+'\u2026');return f};const t=1500},2053,[1077]);
2290
- __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"RoomScreen",{enumerable:!0,get:function(){return L}});var o=e(r(d[0])),t=e(r(d[1])),a=e(r(d[2])),s=e(r(d[3])),n=e(r(d[4])),l=r(d[5]),c=r(d[6]),u=r(d[7]),S=r(d[8]),h=r(d[9]),f=r(d[10]),C=r(d[11]),b=r(d[12]),y=r(d[13]),p=r(d[14]),R=r(d[15]),v=r(d[16]),x=r(d[17]),w=r(d[18]),A=r(d[19]),B=r(d[20]),T=r(d[21]),j=r(d[22]),P=r(d[23]),k=r(d[24]),I=r(d[25]),O=r(d[26]),M=r(d[27]),_=r(d[28]),N=r(d[29]);const G=new Set(Object.keys(c.BOARD_STRATEGY)),L=e=>{const L=(0,r(d[30]).c)(304),{route:$,navigation:q}=e,{user:J}=(0,r(d[31]).useAuthContext)(),X=(0,r(d[32]).useSafeAreaInsets)();let Z;L[0]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,r(d[33]).createRoomScreenStyles)(r(d[34]).colors),L[0]=Z):Z=L[0];const ee=Z;let oe;L[1]===Symbol.for("react.memo_cache_sentinel")?(oe=(0,r(d[35]).createRoomScreenComponentStyles)(r(d[34]).colors),L[1]=oe):oe=L[1];const te=oe;let ae;(0,f.useSkiaShaderWarmup)(),L[2]!==q||L[3]!==$.params.roomCode?(ae=()=>{q.navigate("Notepad",{roomCode:$.params.roomCode})},L[2]=q,L[3]=$.params.roomCode,L[4]=ae):ae=L[4];const se=ae,[ne,re]=(0,r(d[36]).useState)(null);let le;L[5]===Symbol.for("react.memo_cache_sentinel")?(le=()=>{re(null)},L[5]=le):le=L[5];const ie=le,[de,ce]=(0,r(d[36]).useState)(!1),[me,ue]=(0,r(d[36]).useState)(!1),Se=(0,r(d[36]).useRef)(!1),{data:ge}=(0,C.useGachaStatusQuery)(),he=ge?ge.normalDraws+ge.goldenDraws:null;let fe;L[6]===Symbol.for("react.memo_cache_sentinel")?(fe=()=>{ce(!0)},L[6]=fe):fe=L[6];const Ce=fe;let be;L[7]!==$.params.roomCode?(be=()=>{(0,r(d[37]).shareOrCopyRoomLink)($.params.roomCode).then(E).catch(D)},L[7]=$.params.roomCode,L[8]=be):be=L[8];const ye=be;let pe;L[9]!==$.params.roomCode?(pe=e=>{(0,N.shareQRCodeImage)(e,$.params.roomCode).catch(V)},L[9]=$.params.roomCode,L[10]=pe):pe=L[10];const Re=pe;let ve;L[11]!==q||L[12]!==$.params.roomCode?(ve=()=>{q.navigate("Settings",{roomCode:$.params.roomCode})},L[11]=q,L[12]=$.params.roomCode,L[13]=ve):ve=L[13];const xe=ve;let we;L[14]!==q||L[15]!==$.params.roomCode?(we=()=>{q.navigate("Encyclopedia",{roomCode:$.params.roomCode})},L[14]=q,L[15]=$.params.roomCode,L[16]=we):we=L[16];const Ae=we;let Be;L[17]!==q||L[18]!==$.params.roomCode?(Be=()=>{q.navigate("MusicSettings",{roomCode:$.params.roomCode})},L[17]=q,L[18]=$.params.roomCode,L[19]=Be):Be=L[19];const Te=Be,{roomCode:je,template:Pe,gameState:ke,isHost:Ie,roomStatus:Oe,currentSchema:Me,isAudioPlaying:Ne,resolvedRoleRevealAnimation:Ge,connectionStatus:Le,manualReconnect:Ee,gameRoomError:De,effectiveSeat:Ve,effectiveRole:He,isDebugMode:Ue,controlledSeat:We,hasBots:ze,fillWithBots:Fe,markAllBotsViewed:Qe,markAllBotsGroupConfirmed:Ke,clearAllSeats:Ye,setControlledSeat:$e,boardUpvote:qe,boardWithdraw:Je,isBgmPlaying:Xe,playBgm:Ze,stopBgm:eo,isInitialized:oo,loadingMessage:to,showRetryButton:ao,handleRetry:so,needsAuth:no,clearNeedsAuth:ro,seatViewModels:lo,villagerCount:io,wolfRoleItems:co,godRoleItems:mo,specialRoleItems:uo,villagerRoleItems:So,nightProgress:go,speakingOrderText:ho,guideMessage:fo,actionMessage:Co,imActioner:bo,dispatchInteraction:yo,onSeatTapped:po,onSeatLongPressed:Ro,getBottomAction:vo,handleDebugTitleTap:xo,profileCardVisible:wo,profileCardTargetUserId:Ao,profileCardTargetSeat:Bo,profileCardRosterName:To,profileCardIsSelf:jo,closeProfileCard:Po,handleProfileKick:ko,handleProfileLeaveSeat:Io,isStartingGame:Oo,isHostActionSubmitting:Mo,isActionSubmitting:_o,seatModalVisible:No,pendingSeat:Go,modalType:Lo,isSeatSubmitting:Eo,handleConfirmSeat:Do,handleCancelSeat:Vo,handleConfirmLeave:Ho,roleCardVisible:Uo,shouldPlayRevealAnimation:Wo,isLoadingRole:zo,handleRoleCardClose:Fo,skillPreviewRoleId:Qo,handleSkillPreviewOpen:Ko,handleSkillPreviewClose:Yo,resumeAfterRejoin:$o,needsContinueOverlay:qo,showLastNightInfo:Jo,nightReviewData:Xo,nightReviewShareCardRef:Zo,isCapturingShareCard:et,nightReviewVisible:ot,openNightReview:tt,closeNightReview:at,shareReviewVisible:st,closeShareReview:nt,shareNightReview:rt,chooseCardModalVisible:lt,closeChooseCardModal:it,handleChooseCard:dt,bottomCardDisabledIndices:ct,bottomCardDisabledHint:mt,bottomCardSubtitle:ut}=(0,_.useRoomScreenState)($.params,q),St=Oe===r(d[38]).GameStatus.Unseated||Oe===r(d[38]).GameStatus.Seated;let gt;L[20]!==ke?(gt=ke?.boardNominations?Object.keys(ke.boardNominations).length:0,L[20]=ke,L[21]=gt):gt=L[21];const ht=gt,ft=!!J?.id&&!!ke?.boardNominations?.[J.id];let Ct;L[22]!==q||L[23]!==je?(Ct=()=>{q.navigate("BoardPicker",{nominateMode:{roomCode:je}})},L[22]=q,L[23]=je,L[24]=Ct):Ct=L[24];const bt=Ct;let yt;L[25]===Symbol.for("react.memo_cache_sentinel")?(yt=()=>{ue(!0)},L[25]=yt):yt=L[25];const pt=yt;let Rt,vt,xt;L[26]!==St?(Rt=()=>{St||ue(!1)},vt=[St],L[26]=St,L[27]=Rt,L[28]=vt):(Rt=L[27],vt=L[28]),(0,r(d[36]).useEffect)(Rt,vt);e:{if(!ke){xt=null;break e}const e=ke.template.roles,o=ke.template.name;if(o&&G.has(o)){xt=o;break e}let t;L[29]!==e?(t=(0,r(d[39]).findClosestPresetName)(e,.1,G),L[29]=e,L[30]=t):t=L[30],xt=t}const wt=xt;let At;L[31]!==wt?(At=()=>{wt&&re(wt)},L[31]=wt,L[32]=At):At=L[32];const Bt=At;let Tt,jt;L[33]!==Ve||L[34]!==ke?.nightReviewAllowedSeats||L[35]!==bo||L[36]!==Ne||L[37]!==Ie||L[38]!==Mo||L[39]!==Oo||L[40]!==Oe?(Tt=()=>({roomStatus:Oe,isHost:Ie,effectiveSeat:Ve,imActioner:bo,isAudioPlaying:Ne,isStartingGame:Oo,isHostActionSubmitting:Mo,nightReviewAllowedSeats:ke?.nightReviewAllowedSeats??[]}),L[33]=Ve,L[34]=ke?.nightReviewAllowedSeats,L[35]=bo,L[36]=Ne,L[37]=Ie,L[38]=Mo,L[39]=Oo,L[40]=Oe,L[41]=Tt):Tt=L[41],L[42]!==Tt?(jt=Tt(),L[42]=Tt,L[43]=jt):jt=L[43];const Pt=jt;let kt;L[44]!==vo?(kt=vo(),L[44]=vo,L[45]=kt):kt=L[45];const It=kt;let Ot;L[46]!==Pt||L[47]!==It?(Ot={ctx:Pt,schemaVM:It},L[46]=Pt,L[47]=It,L[48]=Ot):Ot=L[48];const Mt=(0,r(d[40]).useBottomLayout)(Ot);let _t;L[49]!==yo?(_t=e=>{yo({kind:"BOTTOM_ACTION",intent:e})},L[49]=yo,L[50]=_t):_t=L[50];const Nt=_t;let Gt;L[51]!==yo||L[52]!==tt||L[53]!==Jo?(Gt=e=>{e:switch(e){case"viewRole":yo({kind:"VIEW_ROLE"});break e;case"waitForHost":l.toast.info("\u7b49\u5f85\u623f\u4e3b\u5f00\u59cb\u5206\u914d\u89d2\u8272");break e;case"settings":yo({kind:"HOST_CONTROL",action:"settings"});break e;case"prepareToFlip":yo({kind:"HOST_CONTROL",action:"prepareToFlip"});break e;case"startGame":yo({kind:"HOST_CONTROL",action:"startGame"});break e;case"restart":yo({kind:"HOST_CONTROL",action:"restart"});break e;case"lastNightInfo":Jo();break e;case"nightReview":tt()}},L[51]=yo,L[52]=tt,L[53]=Jo,L[54]=Gt):Gt=L[54];const Lt=Gt;let Et,Dt;if(L[55]!==ke||L[56]!==Ie||L[57]!==oo||L[58]!==Pe?(Et=()=>{oo&&ke&&Ie&&Pe&&!Se.current&&(Se.current=!0,ce(!0))},Dt=[oo,ke,Ie,Pe],L[55]=ke,L[56]=Ie,L[57]=oo,L[58]=Pe,L[59]=Et,L[60]=Dt):(Et=L[59],Dt=L[60]),(0,r(d[36]).useEffect)(Et,Dt),!oo||!ke){if(no){if((0,r(d[41]).isMiniProgram)()){let e;return L[61]!==ro||L[62]!==q?(e=(0,r(d[42]).jsx)(M.WxAuthFailedOverlay,{onCancel:()=>{ro(),q.navigate("Home")}}),L[61]=ro,L[62]=q,L[63]=e):e=L[63],e}let e,o,t;return L[64]!==ro||L[65]!==so?(e=()=>{ro(),so()},L[64]=ro,L[65]=so,L[66]=e):e=L[66],L[67]!==ro||L[68]!==q?(o=()=>{ro(),q.navigate("Home")},L[67]=ro,L[68]=q,L[69]=o):o=L[69],L[70]!==e||L[71]!==o?(t=(0,r(d[42]).jsx)(b.AuthGateOverlay,{onSuccess:e,onCancel:o}),L[70]=e,L[71]=o,L[72]=t):t=L[72],t}const e=ao&&De?De:to;if(ao){let t,l,c,u,S,h,f,C,b,y;return L[73]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r(d[42]).jsx)(o.default,{name:"warning-outline",size:r(d[34]).spacing.xxlarge+r(d[34]).spacing.medium,color:r(d[34]).colors.error,style:{marginBottom:r(d[34]).spacing.medium}}),L[73]=t):t=L[73],L[74]===Symbol.for("react.memo_cache_sentinel")?(l=[ee.loadingText,ee.errorMessageText],L[74]=l):l=L[74],L[75]!==e?(c=(0,r(d[42]).jsx)(a.default,{style:l,children:e}),L[75]=e,L[76]=c):c=L[76],L[77]===Symbol.for("react.memo_cache_sentinel")?(u=(0,r(d[42]).jsx)(a.default,{style:ee.errorBackButtonText,children:"\u91cd\u8bd5"}),L[77]=u):u=L[77],L[78]!==so?(S=(0,r(d[42]).jsx)(s.default,{style:ee.errorBackButton,onPress:so,children:u}),L[78]=so,L[79]=S):S=L[79],L[80]!==q?(h=()=>q.navigate("Home"),L[80]=q,L[81]=h):h=L[81],L[82]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r(d[42]).jsx)(a.default,{style:ee.errorSecondaryButtonText,children:"\u8fd4\u56de\u9996\u9875"}),L[82]=f):f=L[82],L[83]!==h?(C=(0,r(d[42]).jsx)(s.default,{style:ee.errorSecondaryButton,onPress:h,children:f}),L[83]=h,L[84]=C):C=L[84],L[85]!==S||L[86]!==C?(b=(0,r(d[42]).jsxs)(n.default,{style:ee.retryButtonRow,children:[S,C]}),L[85]=S,L[86]=C,L[87]=b):b=L[87],L[88]!==c||L[89]!==b?(y=(0,r(d[42]).jsxs)(n.default,{style:ee.loadingContainer,children:[t,c,b]}),L[88]=c,L[89]=b,L[90]=y):y=L[90],y}let t;return L[91]!==e?(t=(0,r(d[42]).jsx)(S.LoadingScreen,{message:e}),L[91]=e,L[92]=t):t=L[92],t}const Vt=ee.container;let Ht;L[93]===Symbol.for("react.memo_cache_sentinel")?(Ht=["left","right"],L[93]=Ht):Ht=L[93];const Ut=X.top+r(d[34]).layout.headerPaddingV;let Wt,zt,Ft,Qt,Kt,Yt,$t,qt,Jt,Xt,Zt;L[94]!==Ut?(Wt=[ee.header,{paddingTop:Ut}],L[94]=Ut,L[95]=Wt):Wt=L[95],L[96]!==yo?(zt=()=>yo({kind:"LEAVE_ROOM"}),L[96]=yo,L[97]=zt):zt=L[97],L[98]===Symbol.for("react.memo_cache_sentinel")?(Ft=(0,r(d[42]).jsx)(o.default,{name:"chevron-back",size:r(d[34]).componentSizes.icon.lg,color:r(d[34]).colors.text}),L[98]=Ft):Ft=L[98],L[99]!==zt?(Qt=(0,r(d[42]).jsx)(u.Button,{variant:"icon",onPress:zt,style:ee.backButton,testID:r(d[43]).TESTIDS.roomBackButton,children:Ft}),L[99]=zt,L[100]=Qt):Qt=L[100],L[101]!==Ne||L[102]!==Xe||L[103]!==Ze||L[104]!==Oe||L[105]!==eo?(Kt=Oe===r(d[38]).GameStatus.Ended&&!Ne&&(0,r(d[42]).jsx)(u.Button,{variant:"icon",onPress:Xe?eo:Ze,style:ee.backButton,testID:r(d[43]).TESTIDS.bgmToggleButton,children:(0,r(d[42]).jsx)(o.default,{name:Xe?"pause":"musical-notes",size:r(d[34]).componentSizes.icon.md,color:Xe?r(d[34]).colors.primary:r(d[34]).colors.text})}),L[101]=Ne,L[102]=Xe,L[103]=Ze,L[104]=Oe,L[105]=eo,L[106]=Kt):Kt=L[106],L[107]!==Qt||L[108]!==Kt?(Yt=(0,r(d[42]).jsxs)(n.default,{style:ee.headerLeft,children:[Qt,Kt]}),L[107]=Qt,L[108]=Kt,L[109]=Yt):Yt=L[109],L[110]!==je?($t=(0,r(d[42]).jsxs)(a.default,{style:ee.headerTitle,children:["\u623f\u95f4 ",je]}),L[110]=je,L[111]=$t):$t=L[111],L[112]!==xo||L[113]!==$t?(qt=(0,r(d[42]).jsx)(n.default,{style:ee.headerCenter,children:(0,r(d[42]).jsx)(s.default,{onPress:xo,activeOpacity:1,children:$t})}),L[112]=xo,L[113]=$t,L[114]=qt):qt=L[114],L[115]===Symbol.for("react.memo_cache_sentinel")?(Jt=(0,r(d[42]).jsx)(o.default,{name:"book-outline",size:r(d[34]).componentSizes.icon.md,color:r(d[34]).colors.text}),L[115]=Jt):Jt=L[115],L[116]!==Ae?(Xt=(0,r(d[42]).jsx)(u.Button,{variant:"icon",onPress:Ae,style:ee.backButton,testID:r(d[43]).TESTIDS.roomEncyclopediaButton,children:Jt}),L[116]=Ae,L[117]=Xt):Xt=L[117],L[118]!==Oe?(Zt=!(0,r(d[41]).isMiniProgram)()&&(Oe===r(d[38]).GameStatus.Unseated||Oe===r(d[38]).GameStatus.Seated),L[118]=Oe,L[119]=Zt):Zt=L[119];const ea=Ie&&!Oo&&!Ne&&Oe!==r(d[38]).GameStatus.Ongoing,oa=Ie&&Oe===r(d[38]).GameStatus.Unseated,ta=Ie&&Ue&&Oe===r(d[38]).GameStatus.Assigned,aa=Ie&&Ue&&!Ne&&Oe===r(d[38]).GameStatus.Ongoing&&"groupConfirm"===Me?.kind;let sa,na,ra,la,ia,da,ca,ma,ua,Sa;L[120]!==ke||L[121]!==Ie||L[122]!==Oe?(sa=Ie&&(Oe===r(d[38]).GameStatus.Unseated||Oe===r(d[38]).GameStatus.Seated)&&!!ke&&Array.from(ke.players.values()).some(H),L[120]=ke,L[121]=Ie,L[122]=Oe,L[123]=sa):sa=L[123],L[124]!==Fe?(na=()=>{Fe().catch(U)},L[124]=Fe,L[125]=na):na=L[125],L[126]!==Qe?(ra=()=>{Qe().catch(W)},L[126]=Qe,L[127]=ra):ra=L[127],L[128]!==Ke?(la=()=>{Ke().catch(z)},L[128]=Ke,L[129]=la):la=L[129],L[130]!==Ye?(ia=()=>{Ye().catch(F)},L[130]=Ye,L[131]=ia):ia=L[131],L[132]!==xe||L[133]!==Te||L[134]!==Zt||L[135]!==ea||L[136]!==oa||L[137]!==ta||L[138]!==aa||L[139]!==sa||L[140]!==na||L[141]!==ra||L[142]!==la||L[143]!==ia||L[144]!==he||L[145]!==J?(da=(0,r(d[42]).jsx)(x.HeaderActions,{visible:!0,user:J,ticketCount:he,showUserSettings:!0,showShareRoom:Zt,showMusicSettings:ea,showFillWithBots:oa,showMarkAllBotsViewed:ta,showMarkAllBotsGroupConfirmed:aa,showClearAllSeats:sa,onFillWithBots:na,onMarkAllBotsViewed:ra,onMarkAllBotsGroupConfirmed:la,onClearAllSeats:ia,onMusicSettings:Te,onUserSettings:xe,onShareRoom:Ce,styles:te.headerActions}),L[132]=xe,L[133]=Te,L[134]=Zt,L[135]=ea,L[136]=oa,L[137]=ta,L[138]=aa,L[139]=sa,L[140]=na,L[141]=ra,L[142]=la,L[143]=ia,L[144]=he,L[145]=J,L[146]=da):da=L[146],L[147]!==Xt||L[148]!==da?(ca=(0,r(d[42]).jsxs)(n.default,{style:ee.headerRight,children:[Xt,da]}),L[147]=Xt,L[148]=da,L[149]=ca):ca=L[149],L[150]!==Wt||L[151]!==Yt||L[152]!==qt||L[153]!==ca?(ma=(0,r(d[42]).jsxs)(n.default,{style:Wt,testID:r(d[43]).TESTIDS.roomHeader,children:[Yt,qt,ca]}),L[150]=Wt,L[151]=Yt,L[152]=qt,L[153]=ca,L[154]=ma):ma=L[154],L[155]!==Le||L[156]!==fo||L[157]!==Ee||L[158]!==go||L[159]!==ho?(ua=(0,r(d[42]).jsx)(O.StatusRibbon,{connectionStatus:Le,onManualReconnect:Ee,nightProgress:go,guideMessage:fo,speakingOrderText:ho,styles:te.statusRibbon,connectionStatusBarStyles:te.connectionStatusBar,nightProgressIndicatorStyles:te.nightProgressIndicator,hostGuideBannerStyles:te.hostGuideBanner}),L[155]=Le,L[156]=fo,L[157]=Ee,L[158]=go,L[159]=ho,L[160]=ua):ua=L[160],L[161]!==We||L[162]!==ke.players||L[163]!==ze||L[164]!==Ue||L[165]!==Ie||L[166]!==Oe||L[167]!==$e?(Sa=Ue&&Ie&&ze&&Oe===r(d[38]).GameStatus.Ongoing&&(null!==We&&ke.players.get(We)?(0,r(d[42]).jsx)(v.ControlledSeatBanner,{mode:"controlled",controlledSeat:We,botDisplayName:ke.players.get(We)?.displayName||"Bot",onRelease:()=>$e(null),styles:te.controlledSeatBanner}):(0,r(d[42]).jsx)(v.ControlledSeatBanner,{mode:"hint",styles:te.controlledSeatBanner})),L[161]=We,L[162]=ke.players,L[163]=ze,L[164]=Ue,L[165]=Ie,L[166]=Oe,L[167]=$e,L[168]=Sa):Sa=L[168];const ga=Oe===r(d[38]).GameStatus.Ongoing||Oe===r(d[38]).GameStatus.Ended,ha=wt?Bt:void 0;let fa;L[169]!==ke.template.numberOfPlayers||L[170]!==mo||L[171]!==bt||L[172]!==se||L[173]!==Ko||L[174]!==ft||L[175]!==ht||L[176]!==St||L[177]!==uo||L[178]!==ga||L[179]!==ha||L[180]!==io||L[181]!==So||L[182]!==co?(fa=(0,r(d[42]).jsx)(y.BoardInfoCard,{playerCount:ke.template.numberOfPlayers,wolfRoleItems:co,godRoleItems:mo,specialRoleItems:uo,villagerCount:io,villagerRoleItems:So,collapsed:ga,onRolePress:Ko,onNotepadPress:se,onStrategyPress:ha,styles:te.boardInfoCard,showNominations:St,hasMyNomination:ft,nominationCount:ht,onNominatePress:bt,onViewNominations:pt}),L[169]=ke.template.numberOfPlayers,L[170]=mo,L[171]=bt,L[172]=se,L[173]=Ko,L[174]=ft,L[175]=ht,L[176]=St,L[177]=uo,L[178]=ga,L[179]=ha,L[180]=io,L[181]=So,L[182]=co,L[183]=fa):fa=L[183];const Ca=Oe===r(d[38]).GameStatus.Ongoing&&Ne||_o,ba=Ue&&Ie,ya=Oe!==r(d[38]).GameStatus.Ongoing;let pa,Ra;L[184]!==We||L[185]!==Ro||L[186]!==po||L[187]!==lo||L[188]!==Ca||L[189]!==ba||L[190]!==ya?(pa=(0,r(d[42]).jsx)(B.PlayerGrid,{seats:lo,onSeatPress:po,onSeatLongPress:Ro,disabled:Ca,controlledSeat:We,showBotRoles:ba,showLevels:ya}),L[184]=We,L[185]=Ro,L[186]=po,L[187]=lo,L[188]=Ca,L[189]=ba,L[190]=ya,L[191]=pa):pa=L[191],L[192]!==fa||L[193]!==pa?(Ra=(0,r(d[42]).jsxs)(t.default,{style:ee.scrollView,contentContainerStyle:ee.scrollContent,children:[fa,pa]}),L[192]=fa,L[193]=pa,L[194]=Ra):Ra=L[194];const va=!Ne&&(bo||Oe===r(d[38]).GameStatus.Ended);let xa,wa,Aa,Ba,Ta;L[195]!==Co||L[196]!==Mt||L[197]!==Nt||L[198]!==Lt||L[199]!==X.bottom||L[200]!==va?(xa=(0,r(d[42]).jsx)(R.BottomActionPanel,{message:Co,showMessage:va,layout:Mt,onSchemaButtonPress:Nt,onStaticButtonPress:Lt,styles:te.bottomActionPanel,bottomInset:X.bottom}),L[195]=Co,L[196]=Mt,L[197]=Nt,L[198]=Lt,L[199]=X.bottom,L[200]=va,L[201]=xa):xa=L[201],L[202]!==$o?(wa=[{text:"\u7ee7\u7eed\u6e38\u620f",onPress:$o}],L[202]=$o,L[203]=wa):wa=L[203],L[204]!==qo||L[205]!==$o||L[206]!==wa?(Aa=(0,r(d[42]).jsx)(r(d[44]).AlertModal,{visible:qo,title:"\u6e38\u620f\u5df2\u6062\u590d",message:"\u70b9\u51fb\u4e0b\u65b9\u6309\u94ae\u7ee7\u7eed\u6e38\u620f\u5e76\u6062\u590d\u97f3\u9891",buttons:wa,onClose:$o}),L[204]=qo,L[205]=$o,L[206]=wa,L[207]=Aa):Aa=L[207],L[208]!==Vo||L[209]!==Ho||L[210]!==Do||L[211]!==Eo||L[212]!==Lo||L[213]!==Go||L[214]!==No?(Ba=null!==Go&&(0,r(d[42]).jsx)(k.SeatConfirmModal,{visible:No,modalType:Lo,seat:Go,isSubmitting:Eo,onConfirm:"enter"===Lo?Do:Ho,onCancel:Vo,styles:te.seatConfirmModal}),L[208]=Vo,L[209]=Ho,L[210]=Do,L[211]=Eo,L[212]=Lo,L[213]=Go,L[214]=No,L[215]=Ba):Ba=L[215],L[216]!==He||L[217]!==ke||L[218]!==Fo||L[219]!==zo||L[220]!==Ge||L[221]!==Uo||L[222]!==Wo||L[223]!==Pe?.roles?(Ta=(Uo||zo)&&He&&(0,r(d[42]).jsx)(P.RoleCardModal,{visible:Uo,isLoading:zo,roleId:He,resolvedAnimation:Ge,shouldPlayAnimation:Wo,allRoleIds:ke?.template?.roles??Pe?.roles??[],remainingCards:ke?Array.from(ke.players.values()).filter(Q).length+(Wo?1:0):0,onClose:Fo,seerLabelMap:ke?.seerLabelMap}),L[216]=He,L[217]=ke,L[218]=Fo,L[219]=zo,L[220]=Ge,L[221]=Uo,L[222]=Wo,L[223]=Pe?.roles,L[224]=Ta):Ta=L[224];const ja=null!==Qo;let Pa,ka,Ia,Oa,Ma,Na,Ga,La,Ea,Da,Va,Ha,Ua;return L[225]!==Yo?(Pa=(0,r(d[45]).isAIChatReady)()?e=>(0,r(d[46]).askAIAboutRole)(e,Yo):void 0,L[225]=Yo,L[226]=Pa):Pa=L[226],L[227]!==Yo||L[228]!==Qo||L[229]!==ja||L[230]!==Pa?(ka=(0,r(d[42]).jsx)(h.RoleCardSimple,{visible:ja,roleId:Qo,onClose:Yo,showRealIdentity:!0,onAskAI:Pa}),L[227]=Yo,L[228]=Qo,L[229]=ja,L[230]=Pa,L[231]=ka):ka=L[231],L[232]!==Po||L[233]!==ko||L[234]!==Io||L[235]!==Ie||L[236]!==jo||L[237]!==To||L[238]!==Bo||L[239]!==Ao||L[240]!==wo?(Ia=(0,r(d[42]).jsx)(T.PlayerProfileCard,{visible:wo,onClose:Po,targetUserId:Ao,targetSeat:Bo,rosterName:To,isHost:Ie,isSelf:jo,onKick:ko,onLeaveSeat:Io}),L[232]=Po,L[233]=ko,L[234]=Io,L[235]=Ie,L[236]=jo,L[237]=To,L[238]=Bo,L[239]=Ao,L[240]=wo,L[241]=Ia):Ia=L[241],L[242]!==at||L[243]!==Xo||L[244]!==ot?(Oa=ot&&Xo&&(0,r(d[42]).jsx)(w.NightReviewModal,{visible:ot,data:Xo,onClose:at}),L[242]=at,L[243]=Xo,L[244]=ot,L[245]=Oa):Oa=L[245],L[246]!==et||L[247]!==Xo||L[248]!==Zo||L[249]!==je?(Ma=et&&Xo&&(0,r(d[42]).jsx)(n.default,{style:ee.hiddenShareCardContainer,children:(0,r(d[42]).jsx)(A.NightReviewShareCard,{ref:Zo,data:Xo,roomCode:je})}),L[246]=et,L[247]=Xo,L[248]=Zo,L[249]=je,L[250]=Ma):Ma=L[250],L[251]!==nt||L[252]!==Ve||L[253]!==ke||L[254]!==rt||L[255]!==st?(Na=st&&ke&&(0,r(d[42]).jsx)(I.ShareReviewModal,{visible:st,seats:Array.from(ke.players.entries()).filter(e=>{const[o,t]=e;return null!==t&&o!==Ve}).map(K).sort(Y),currentAllowedSeats:ke.nightReviewAllowedSeats??[],onConfirm:rt,onClose:nt}),L[251]=nt,L[252]=Ve,L[253]=ke,L[254]=rt,L[255]=st,L[256]=Na):Na=L[256],L[257]!==je?(Ga=(0,r(d[37]).buildRoomUrl)(je),L[257]=je,L[258]=Ga):Ga=L[258],L[259]===Symbol.for("react.memo_cache_sentinel")?(La=()=>ce(!1),L[259]=La):La=L[259],L[260]!==ye||L[261]!==Re||L[262]!==de||L[263]!==je||L[264]!==Ga?(Ea=(0,r(d[42]).jsx)(j.QRCodeModal,{visible:de,roomCode:je,roomUrl:Ga,onShareImage:Re,onCopyLink:ye,onClose:La}),L[260]=ye,L[261]=Re,L[262]=de,L[263]=je,L[264]=Ga,L[265]=Ea):Ea=L[265],L[266]!==qe||L[267]!==Je||L[268]!==Ye||L[269]!==ke.boardNominations||L[270]!==ke.template.numberOfPlayers||L[271]!==Ie||L[272]!==me||L[273]!==J?.id?(Da=me&&(0,r(d[42]).jsx)(p.BoardNominationModal,{visible:me,nominations:ke?.boardNominations,myUserId:J?.id??null,isHost:Ie,currentPlayerCount:ke?.template.numberOfPlayers??0,onUpvote:e=>{qe(e)},onWithdraw:()=>{Je()},clearAllSeats:Ye,onClose:()=>ue(!1)}),L[266]=qe,L[267]=Je,L[268]=Ye,L[269]=ke.boardNominations,L[270]=ke.template.numberOfPlayers,L[271]=Ie,L[272]=me,L[273]=J?.id,L[274]=Da):Da=L[274],L[275]!==mt||L[276]!==ct||L[277]!==ut||L[278]!==lt||L[279]!==it||L[280]!==Me?.ui?.confirmText||L[281]!==ke.bottomCards||L[282]!==dt?(Va=lt&&ke?.bottomCards&&(0,r(d[42]).jsx)(r(d[47]).ChooseBottomCardModal,{visible:lt,bottomCards:ke.bottomCards,confirmText:Me?.ui?.confirmText??"",disabledIndices:ct,disabledHint:mt,subtitle:ut,onChoose:e=>{dt(e)},onClose:it}),L[275]=mt,L[276]=ct,L[277]=ut,L[278]=lt,L[279]=it,L[280]=Me?.ui?.confirmText,L[281]=ke.bottomCards,L[282]=dt,L[283]=Va):Va=L[283],L[284]!==ne?(Ha=(0,r(d[42]).jsx)(c.BoardStrategyModal,{boardName:ne,onClose:ie}),L[284]=ne,L[285]=Ha):Ha=L[285],L[286]!==ma||L[287]!==ua||L[288]!==Sa||L[289]!==Ra||L[290]!==xa||L[291]!==Aa||L[292]!==Ba||L[293]!==Ta||L[294]!==ka||L[295]!==Ia||L[296]!==Oa||L[297]!==Ma||L[298]!==Na||L[299]!==Ea||L[300]!==Da||L[301]!==Va||L[302]!==Ha?(Ua=(0,r(d[42]).jsxs)(r(d[32]).SafeAreaView,{style:Vt,edges:Ht,testID:r(d[43]).TESTIDS.roomScreenRoot,children:[ma,ua,Sa,Ra,xa,Aa,Ba,Ta,ka,Ia,Oa,Ma,Na,Ea,Da,Va,Ha]}),L[286]=ma,L[287]=ua,L[288]=Sa,L[289]=Ra,L[290]=xa,L[291]=Aa,L[292]=Ba,L[293]=Ta,L[294]=ka,L[295]=Ia,L[296]=Oa,L[297]=Ma,L[298]=Na,L[299]=Ea,L[300]=Da,L[301]=Va,L[302]=Ha,L[303]=Ua):Ua=L[303],Ua};function E(e){"copied"===e?l.toast.success("\u623f\u95f4\u94fe\u63a5\u5df2\u590d\u5236"):"failed"===e&&(0,r(d[48]).showErrorAlert)("\u94fe\u63a5\u5206\u4eab\u5931\u8d25","\u65e0\u6cd5\u590d\u5236\u94fe\u63a5\uff0c\u8bf7\u624b\u52a8\u5206\u4eab\u623f\u95f4\u53f7")}function D(e){(0,r(d[49]).handleError)(e,{label:"\u5206\u4eab\u623f\u95f4",logger:r(d[50]).roomScreenLog,alertTitle:"\u94fe\u63a5\u5206\u4eab\u5931\u8d25",alertMessage:"\u65e0\u6cd5\u590d\u5236\u94fe\u63a5\uff0c\u8bf7\u624b\u52a8\u5206\u4eab\u623f\u95f4\u53f7"})}function V(e){(0,r(d[49]).handleError)(e,{label:"\u5206\u4eab\u4e8c\u7ef4\u7801",logger:r(d[50]).roomScreenLog,alertTitle:"\u4e8c\u7ef4\u7801\u5206\u4eab\u5931\u8d25",alertMessage:"\u65e0\u6cd5\u5206\u4eab\u4e8c\u7ef4\u7801\u56fe\u7247"})}function H(e){return null!==e}function U(e){(0,r(d[49]).handleError)(e,{label:"fillWithBots",logger:r(d[50]).roomScreenLog,alertTitle:!1})}function W(e){(0,r(d[49]).handleError)(e,{label:"markAllBotsViewed",logger:r(d[50]).roomScreenLog,alertTitle:!1})}function z(e){(0,r(d[49]).handleError)(e,{label:"markAllBotsGroupConfirmed",logger:r(d[50]).roomScreenLog,alertTitle:!1})}function F(e){(0,r(d[49]).handleError)(e,{label:"clearAllSeats",logger:r(d[50]).roomScreenLog,alertTitle:!1})}function Q(e){return e&&!e.hasViewedRole}function K(e){const[o,t]=e;return{seat:o,displayName:t.displayName??`\u73a9\u5bb6${o+1}`}}function Y(e,o){return e.seat-o.seat}},2054,[1013,497,549,585,459,599,1883,1119,1899,1889,2055,1930,2056,2057,2058,2059,2060,2061,2062,2063,2064,2066,2069,2109,2110,2111,2112,2116,2117,2182,1092,1090,1006,2183,1098,2184,36,2188,1904,1893,2189,1880,700,1872,2192,1060,1105,2193,1073,1903,1061]);
2290
+ __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"RoomScreen",{enumerable:!0,get:function(){return E}});var o=e(r(d[0])),t=e(r(d[1])),a=e(r(d[2])),s=e(r(d[3])),n=e(r(d[4])),l=r(d[5]),c=r(d[6]),u=r(d[7]),S=r(d[8]),h=r(d[9]),f=r(d[10]),C=r(d[11]),b=r(d[12]),y=r(d[13]),p=r(d[14]),R=r(d[15]),v=r(d[16]),x=r(d[17]),w=r(d[18]),A=r(d[19]),B=r(d[20]),k=r(d[21]),j=r(d[22]),P=r(d[23]),I=r(d[24]),T=r(d[25]),O=r(d[26]),M=r(d[27]),_=r(d[28]),N=r(d[29]),G=r(d[30]);const L=new Set(Object.keys(c.BOARD_STRATEGY)),E=e=>{const b=(0,r(d[31]).c)(304),{route:E,navigation:q}=e,{user:J}=(0,r(d[32]).useAuthContext)(),X=(0,r(d[33]).useSafeAreaInsets)();let Z;b[0]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,r(d[34]).createRoomScreenStyles)(r(d[35]).colors),b[0]=Z):Z=b[0];const ee=Z;let oe;b[1]===Symbol.for("react.memo_cache_sentinel")?(oe=(0,r(d[36]).createRoomScreenComponentStyles)(r(d[35]).colors),b[1]=oe):oe=b[1];const te=oe;let ae;(0,f.useSkiaShaderWarmup)(),b[2]!==q||b[3]!==E.params.roomCode?(ae=()=>{q.navigate("Notepad",{roomCode:E.params.roomCode})},b[2]=q,b[3]=E.params.roomCode,b[4]=ae):ae=b[4];const se=ae,[ne,re]=(0,r(d[37]).useState)(null);let le;b[5]===Symbol.for("react.memo_cache_sentinel")?(le=()=>{re(null)},b[5]=le):le=b[5];const ie=le,[de,ce]=(0,r(d[37]).useState)(!1),[me,ue]=(0,r(d[37]).useState)(!1),Se=(0,r(d[37]).useRef)(!1),{data:ge}=(0,C.useGachaStatusQuery)(),he=ge?ge.normalDraws+ge.goldenDraws:null;let fe;b[6]===Symbol.for("react.memo_cache_sentinel")?(fe=()=>{ce(!0)},b[6]=fe):fe=b[6];const Ce=fe;let be;b[7]!==E.params.roomCode?(be=()=>{(0,r(d[38]).shareOrCopyRoomLink)(E.params.roomCode).then(D).catch(V)},b[7]=E.params.roomCode,b[8]=be):be=b[8];const ye=be;let pe;b[9]!==E.params.roomCode?(pe=e=>{(0,G.shareQRCodeImage)(e,E.params.roomCode).catch(H)},b[9]=E.params.roomCode,b[10]=pe):pe=b[10];const Re=pe;let ve;b[11]!==q||b[12]!==E.params.roomCode?(ve=()=>{q.navigate("Settings",{roomCode:E.params.roomCode})},b[11]=q,b[12]=E.params.roomCode,b[13]=ve):ve=b[13];const xe=ve;let we;b[14]!==q||b[15]!==E.params.roomCode?(we=()=>{q.navigate("Encyclopedia",{roomCode:E.params.roomCode})},b[14]=q,b[15]=E.params.roomCode,b[16]=we):we=b[16];const Ae=we;let Be;b[17]!==q||b[18]!==E.params.roomCode?(Be=()=>{q.navigate("MusicSettings",{roomCode:E.params.roomCode})},b[17]=q,b[18]=E.params.roomCode,b[19]=Be):Be=b[19];const ke=Be,{roomCode:je,template:Pe,gameState:Ie,isHost:Te,roomStatus:Oe,currentSchema:Me,isAudioPlaying:Ne,resolvedRoleRevealAnimation:Ge,connectionStatus:Le,manualReconnect:Ee,gameRoomError:De,effectiveSeat:Ve,effectiveRole:He,isDebugMode:Ue,controlledSeat:We,hasBots:ze,fillWithBots:Fe,markAllBotsViewed:Qe,markAllBotsGroupConfirmed:Ke,clearAllSeats:Ye,setControlledSeat:$e,boardUpvote:qe,boardWithdraw:Je,isBgmPlaying:Xe,playBgm:Ze,stopBgm:eo,isInitialized:oo,loadingMessage:to,showRetryButton:ao,handleRetry:so,needsAuth:no,clearNeedsAuth:ro,seatViewModels:lo,villagerCount:io,wolfRoleItems:co,godRoleItems:mo,specialRoleItems:uo,villagerRoleItems:So,nightProgress:go,speakingOrderText:ho,guideMessage:fo,actionMessage:Co,imActioner:bo,dispatchInteraction:yo,onSeatTapped:po,onSeatLongPressed:Ro,getBottomAction:vo,handleDebugTitleTap:xo,profileCardVisible:wo,profileCardTargetUserId:Ao,profileCardTargetSeat:Bo,profileCardRosterName:ko,profileCardIsSelf:jo,closeProfileCard:Po,handleProfileKick:Io,handleProfileLeaveSeat:To,isStartingGame:Oo,isHostActionSubmitting:Mo,isActionSubmitting:_o,seatModalVisible:No,pendingSeat:Go,modalType:Lo,isSeatSubmitting:Eo,handleConfirmSeat:Do,handleCancelSeat:Vo,handleConfirmLeave:Ho,roleCardVisible:Uo,shouldPlayRevealAnimation:Wo,isLoadingRole:zo,handleRoleCardClose:Fo,skillPreviewRoleId:Qo,handleSkillPreviewOpen:Ko,handleSkillPreviewClose:Yo,resumeAfterRejoin:$o,needsContinueOverlay:qo,showLastNightInfo:Jo,nightReviewData:Xo,nightReviewShareCardRef:Zo,isCapturingShareCard:et,nightReviewVisible:ot,openNightReview:tt,closeNightReview:at,shareReviewVisible:st,closeShareReview:nt,shareNightReview:rt,chooseCardModalVisible:lt,closeChooseCardModal:it,handleChooseCard:dt,bottomCardDisabledIndices:ct,bottomCardDisabledHint:mt,bottomCardSubtitle:ut}=(0,N.useRoomScreenState)(E.params,q),St=Oe===r(d[39]).GameStatus.Unseated||Oe===r(d[39]).GameStatus.Seated;let gt;b[20]!==Ie?(gt=Ie?.boardNominations?Object.keys(Ie.boardNominations).length:0,b[20]=Ie,b[21]=gt):gt=b[21];const ht=gt,ft=!!J?.id&&!!Ie?.boardNominations?.[J.id];let Ct;b[22]!==q||b[23]!==je?(Ct=()=>{q.navigate("BoardPicker",{nominateMode:{roomCode:je}})},b[22]=q,b[23]=je,b[24]=Ct):Ct=b[24];const bt=Ct;let yt;b[25]===Symbol.for("react.memo_cache_sentinel")?(yt=()=>{ue(!0)},b[25]=yt):yt=b[25];const pt=yt;let Rt,vt,xt;b[26]!==St?(Rt=()=>{St||ue(!1)},vt=[St],b[26]=St,b[27]=Rt,b[28]=vt):(Rt=b[27],vt=b[28]),(0,r(d[37]).useEffect)(Rt,vt);e:{if(!Ie){xt=null;break e}const e=Ie.template.roles,o=Ie.template.name;if(o&&L.has(o)){xt=o;break e}let t;b[29]!==e?(t=(0,r(d[40]).findClosestPresetName)(e,.1,L),b[29]=e,b[30]=t):t=b[30],xt=t}const wt=xt;let At;b[31]!==wt?(At=()=>{wt&&re(wt)},b[31]=wt,b[32]=At):At=b[32];const Bt=At;let kt,jt;b[33]!==Ve||b[34]!==Ie?.nightReviewAllowedSeats||b[35]!==bo||b[36]!==Ne||b[37]!==Te||b[38]!==Mo||b[39]!==Oo||b[40]!==Oe?(kt=()=>({roomStatus:Oe,isHost:Te,effectiveSeat:Ve,imActioner:bo,isAudioPlaying:Ne,isStartingGame:Oo,isHostActionSubmitting:Mo,nightReviewAllowedSeats:Ie?.nightReviewAllowedSeats??[]}),b[33]=Ve,b[34]=Ie?.nightReviewAllowedSeats,b[35]=bo,b[36]=Ne,b[37]=Te,b[38]=Mo,b[39]=Oo,b[40]=Oe,b[41]=kt):kt=b[41],b[42]!==kt?(jt=kt(),b[42]=kt,b[43]=jt):jt=b[43];const Pt=jt;let It;b[44]!==vo?(It=vo(),b[44]=vo,b[45]=It):It=b[45];const Tt=It;let Ot;b[46]!==Pt||b[47]!==Tt?(Ot={ctx:Pt,schemaVM:Tt},b[46]=Pt,b[47]=Tt,b[48]=Ot):Ot=b[48];const Mt=(0,r(d[41]).useBottomLayout)(Ot);let _t;b[49]!==yo?(_t=e=>{yo({kind:"BOTTOM_ACTION",intent:e})},b[49]=yo,b[50]=_t):_t=b[50];const Nt=_t;let Gt;b[51]!==yo||b[52]!==tt||b[53]!==Jo?(Gt=e=>{e:switch(e){case"viewRole":yo({kind:"VIEW_ROLE"});break e;case"waitForHost":l.toast.info("\u7b49\u5f85\u623f\u4e3b\u5f00\u59cb\u5206\u914d\u89d2\u8272");break e;case"settings":yo({kind:"HOST_CONTROL",action:"settings"});break e;case"prepareToFlip":yo({kind:"HOST_CONTROL",action:"prepareToFlip"});break e;case"startGame":yo({kind:"HOST_CONTROL",action:"startGame"});break e;case"restart":yo({kind:"HOST_CONTROL",action:"restart"});break e;case"lastNightInfo":Jo();break e;case"nightReview":tt()}},b[51]=yo,b[52]=tt,b[53]=Jo,b[54]=Gt):Gt=b[54];const Lt=Gt;let Et,Dt;if(b[55]!==Ie||b[56]!==Te||b[57]!==oo||b[58]!==Pe?(Et=()=>{oo&&Ie&&Te&&Pe&&!Se.current&&(Se.current=!0,ce(!0))},Dt=[oo,Ie,Te,Pe],b[55]=Ie,b[56]=Te,b[57]=oo,b[58]=Pe,b[59]=Et,b[60]=Dt):(Et=b[59],Dt=b[60]),(0,r(d[37]).useEffect)(Et,Dt),!oo||!Ie){if(no){if((0,r(d[42]).isMiniProgram)()){let e;return b[61]!==ro||b[62]!==q?(e=(0,r(d[43]).jsx)(_.WxAuthFailedOverlay,{onCancel:()=>{ro(),q.navigate("Home")}}),b[61]=ro,b[62]=q,b[63]=e):e=b[63],e}let e,o,t;return b[64]!==ro||b[65]!==so?(e=()=>{ro(),so()},b[64]=ro,b[65]=so,b[66]=e):e=b[66],b[67]!==ro||b[68]!==q?(o=()=>{ro(),q.navigate("Home")},b[67]=ro,b[68]=q,b[69]=o):o=b[69],b[70]!==e||b[71]!==o?(t=(0,r(d[43]).jsx)(y.AuthGateOverlay,{onSuccess:e,onCancel:o}),b[70]=e,b[71]=o,b[72]=t):t=b[72],t}const e=ao&&De?De:to;if(ao){let t,l,c,u,S,h,f,C,y,p;return b[73]===Symbol.for("react.memo_cache_sentinel")?(t=(0,r(d[43]).jsx)(o.default,{name:"warning-outline",size:r(d[35]).spacing.xxlarge+r(d[35]).spacing.medium,color:r(d[35]).colors.error,style:{marginBottom:r(d[35]).spacing.medium}}),b[73]=t):t=b[73],b[74]===Symbol.for("react.memo_cache_sentinel")?(l=[ee.loadingText,ee.errorMessageText],b[74]=l):l=b[74],b[75]!==e?(c=(0,r(d[43]).jsx)(a.default,{style:l,children:e}),b[75]=e,b[76]=c):c=b[76],b[77]===Symbol.for("react.memo_cache_sentinel")?(u=(0,r(d[43]).jsx)(a.default,{style:ee.errorBackButtonText,children:"\u91cd\u8bd5"}),b[77]=u):u=b[77],b[78]!==so?(S=(0,r(d[43]).jsx)(s.default,{style:ee.errorBackButton,onPress:so,children:u}),b[78]=so,b[79]=S):S=b[79],b[80]!==q?(h=()=>q.navigate("Home"),b[80]=q,b[81]=h):h=b[81],b[82]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r(d[43]).jsx)(a.default,{style:ee.errorSecondaryButtonText,children:"\u8fd4\u56de\u9996\u9875"}),b[82]=f):f=b[82],b[83]!==h?(C=(0,r(d[43]).jsx)(s.default,{style:ee.errorSecondaryButton,onPress:h,children:f}),b[83]=h,b[84]=C):C=b[84],b[85]!==S||b[86]!==C?(y=(0,r(d[43]).jsxs)(n.default,{style:ee.retryButtonRow,children:[S,C]}),b[85]=S,b[86]=C,b[87]=y):y=b[87],b[88]!==c||b[89]!==y?(p=(0,r(d[43]).jsxs)(n.default,{style:ee.loadingContainer,children:[t,c,y]}),b[88]=c,b[89]=y,b[90]=p):p=b[90],p}let t;return b[91]!==e?(t=(0,r(d[43]).jsx)(S.LoadingScreen,{message:e}),b[91]=e,b[92]=t):t=b[92],t}const Vt=ee.container;let Ht;b[93]===Symbol.for("react.memo_cache_sentinel")?(Ht=["left","right"],b[93]=Ht):Ht=b[93];const Ut=X.top+r(d[35]).layout.headerPaddingV;let Wt,zt,Ft,Qt,Kt,Yt,$t,qt,Jt,Xt,Zt;b[94]!==Ut?(Wt=[ee.header,{paddingTop:Ut}],b[94]=Ut,b[95]=Wt):Wt=b[95],b[96]!==yo?(zt=()=>yo({kind:"LEAVE_ROOM"}),b[96]=yo,b[97]=zt):zt=b[97],b[98]===Symbol.for("react.memo_cache_sentinel")?(Ft=(0,r(d[43]).jsx)(o.default,{name:"chevron-back",size:r(d[35]).componentSizes.icon.lg,color:r(d[35]).colors.text}),b[98]=Ft):Ft=b[98],b[99]!==zt?(Qt=(0,r(d[43]).jsx)(u.Button,{variant:"icon",onPress:zt,style:ee.backButton,testID:r(d[44]).TESTIDS.roomBackButton,children:Ft}),b[99]=zt,b[100]=Qt):Qt=b[100],b[101]!==Ne||b[102]!==Xe||b[103]!==Ze||b[104]!==Oe||b[105]!==eo?(Kt=Oe===r(d[39]).GameStatus.Ended&&!Ne&&(0,r(d[43]).jsx)(u.Button,{variant:"icon",onPress:Xe?eo:Ze,style:ee.backButton,testID:r(d[44]).TESTIDS.bgmToggleButton,children:(0,r(d[43]).jsx)(o.default,{name:Xe?"pause":"musical-notes",size:r(d[35]).componentSizes.icon.md,color:Xe?r(d[35]).colors.primary:r(d[35]).colors.text})}),b[101]=Ne,b[102]=Xe,b[103]=Ze,b[104]=Oe,b[105]=eo,b[106]=Kt):Kt=b[106],b[107]!==Qt||b[108]!==Kt?(Yt=(0,r(d[43]).jsxs)(n.default,{style:ee.headerLeft,children:[Qt,Kt]}),b[107]=Qt,b[108]=Kt,b[109]=Yt):Yt=b[109],b[110]!==je?($t=(0,r(d[43]).jsxs)(a.default,{style:ee.headerTitle,children:["\u623f\u95f4 ",je]}),b[110]=je,b[111]=$t):$t=b[111],b[112]!==xo||b[113]!==$t?(qt=(0,r(d[43]).jsx)(n.default,{style:ee.headerCenter,children:(0,r(d[43]).jsx)(s.default,{onPress:xo,activeOpacity:1,children:$t})}),b[112]=xo,b[113]=$t,b[114]=qt):qt=b[114],b[115]===Symbol.for("react.memo_cache_sentinel")?(Jt=(0,r(d[43]).jsx)(o.default,{name:"book-outline",size:r(d[35]).componentSizes.icon.md,color:r(d[35]).colors.text}),b[115]=Jt):Jt=b[115],b[116]!==Ae?(Xt=(0,r(d[43]).jsx)(u.Button,{variant:"icon",onPress:Ae,style:ee.backButton,testID:r(d[44]).TESTIDS.roomEncyclopediaButton,children:Jt}),b[116]=Ae,b[117]=Xt):Xt=b[117],b[118]!==Oe?(Zt=!(0,r(d[42]).isMiniProgram)()&&(Oe===r(d[39]).GameStatus.Unseated||Oe===r(d[39]).GameStatus.Seated),b[118]=Oe,b[119]=Zt):Zt=b[119];const ea=Te&&!Oo&&!Ne&&Oe!==r(d[39]).GameStatus.Ongoing,oa=Te&&Oe===r(d[39]).GameStatus.Unseated,ta=Te&&Ue&&Oe===r(d[39]).GameStatus.Assigned,aa=Te&&Ue&&!Ne&&Oe===r(d[39]).GameStatus.Ongoing&&"groupConfirm"===Me?.kind;let sa,na,ra,la,ia,da,ca,ma,ua,Sa;b[120]!==Ie||b[121]!==Te||b[122]!==Oe?(sa=Te&&(Oe===r(d[39]).GameStatus.Unseated||Oe===r(d[39]).GameStatus.Seated)&&!!Ie&&Array.from(Ie.players.values()).some(U),b[120]=Ie,b[121]=Te,b[122]=Oe,b[123]=sa):sa=b[123],b[124]!==Fe?(na=()=>{Fe().catch(W)},b[124]=Fe,b[125]=na):na=b[125],b[126]!==Qe?(ra=()=>{Qe().catch(z)},b[126]=Qe,b[127]=ra):ra=b[127],b[128]!==Ke?(la=()=>{Ke().catch(F)},b[128]=Ke,b[129]=la):la=b[129],b[130]!==Ye?(ia=()=>{Ye().catch(Q)},b[130]=Ye,b[131]=ia):ia=b[131],b[132]!==xe||b[133]!==ke||b[134]!==Zt||b[135]!==ea||b[136]!==oa||b[137]!==ta||b[138]!==aa||b[139]!==sa||b[140]!==na||b[141]!==ra||b[142]!==la||b[143]!==ia||b[144]!==he||b[145]!==J?(da=(0,r(d[43]).jsx)(w.HeaderActions,{visible:!0,user:J,ticketCount:he,showUserSettings:!0,showShareRoom:Zt,showMusicSettings:ea,showFillWithBots:oa,showMarkAllBotsViewed:ta,showMarkAllBotsGroupConfirmed:aa,showClearAllSeats:sa,onFillWithBots:na,onMarkAllBotsViewed:ra,onMarkAllBotsGroupConfirmed:la,onClearAllSeats:ia,onMusicSettings:ke,onUserSettings:xe,onShareRoom:Ce,styles:te.headerActions}),b[132]=xe,b[133]=ke,b[134]=Zt,b[135]=ea,b[136]=oa,b[137]=ta,b[138]=aa,b[139]=sa,b[140]=na,b[141]=ra,b[142]=la,b[143]=ia,b[144]=he,b[145]=J,b[146]=da):da=b[146],b[147]!==Xt||b[148]!==da?(ca=(0,r(d[43]).jsxs)(n.default,{style:ee.headerRight,children:[Xt,da]}),b[147]=Xt,b[148]=da,b[149]=ca):ca=b[149],b[150]!==Wt||b[151]!==Yt||b[152]!==qt||b[153]!==ca?(ma=(0,r(d[43]).jsxs)(n.default,{style:Wt,testID:r(d[44]).TESTIDS.roomHeader,children:[Yt,qt,ca]}),b[150]=Wt,b[151]=Yt,b[152]=qt,b[153]=ca,b[154]=ma):ma=b[154],b[155]!==Le||b[156]!==fo||b[157]!==Ee||b[158]!==go||b[159]!==ho?(ua=(0,r(d[43]).jsx)(M.StatusRibbon,{connectionStatus:Le,onManualReconnect:Ee,nightProgress:go,guideMessage:fo,speakingOrderText:ho,styles:te.statusRibbon,connectionStatusBarStyles:te.connectionStatusBar,nightProgressIndicatorStyles:te.nightProgressIndicator,hostGuideBannerStyles:te.hostGuideBanner}),b[155]=Le,b[156]=fo,b[157]=Ee,b[158]=go,b[159]=ho,b[160]=ua):ua=b[160],b[161]!==We||b[162]!==Ie.players||b[163]!==ze||b[164]!==Ue||b[165]!==Te||b[166]!==Oe||b[167]!==$e?(Sa=Ue&&Te&&ze&&Oe===r(d[39]).GameStatus.Ongoing&&(null!==We&&Ie.players.get(We)?(0,r(d[43]).jsx)(x.ControlledSeatBanner,{mode:"controlled",controlledSeat:We,botDisplayName:Ie.players.get(We)?.displayName||"Bot",onRelease:()=>$e(null),styles:te.controlledSeatBanner}):(0,r(d[43]).jsx)(x.ControlledSeatBanner,{mode:"hint",styles:te.controlledSeatBanner})),b[161]=We,b[162]=Ie.players,b[163]=ze,b[164]=Ue,b[165]=Te,b[166]=Oe,b[167]=$e,b[168]=Sa):Sa=b[168];const ga=Oe===r(d[39]).GameStatus.Ongoing||Oe===r(d[39]).GameStatus.Ended,ha=wt?Bt:void 0;let fa;b[169]!==Ie.template.numberOfPlayers||b[170]!==mo||b[171]!==bt||b[172]!==se||b[173]!==Ko||b[174]!==ft||b[175]!==ht||b[176]!==St||b[177]!==uo||b[178]!==ga||b[179]!==ha||b[180]!==io||b[181]!==So||b[182]!==co?(fa=(0,r(d[43]).jsx)(p.BoardInfoCard,{playerCount:Ie.template.numberOfPlayers,wolfRoleItems:co,godRoleItems:mo,specialRoleItems:uo,villagerCount:io,villagerRoleItems:So,collapsed:ga,onRolePress:Ko,onNotepadPress:se,onStrategyPress:ha,styles:te.boardInfoCard,showNominations:St,hasMyNomination:ft,nominationCount:ht,onNominatePress:bt,onViewNominations:pt}),b[169]=Ie.template.numberOfPlayers,b[170]=mo,b[171]=bt,b[172]=se,b[173]=Ko,b[174]=ft,b[175]=ht,b[176]=St,b[177]=uo,b[178]=ga,b[179]=ha,b[180]=io,b[181]=So,b[182]=co,b[183]=fa):fa=b[183];const Ca=Oe===r(d[39]).GameStatus.Ongoing&&Ne||_o,ba=Ue&&Te,ya=Oe!==r(d[39]).GameStatus.Ongoing;let pa,Ra;b[184]!==We||b[185]!==Ro||b[186]!==po||b[187]!==lo||b[188]!==Ca||b[189]!==ba||b[190]!==ya?(pa=(0,r(d[43]).jsx)(k.PlayerGrid,{seats:lo,onSeatPress:po,onSeatLongPress:Ro,disabled:Ca,controlledSeat:We,showBotRoles:ba,showLevels:ya}),b[184]=We,b[185]=Ro,b[186]=po,b[187]=lo,b[188]=Ca,b[189]=ba,b[190]=ya,b[191]=pa):pa=b[191],b[192]!==fa||b[193]!==pa?(Ra=(0,r(d[43]).jsxs)(t.default,{style:ee.scrollView,contentContainerStyle:ee.scrollContent,children:[fa,pa]}),b[192]=fa,b[193]=pa,b[194]=Ra):Ra=b[194];const va=!Ne&&(bo||Oe===r(d[39]).GameStatus.Ended);let xa,wa,Aa,Ba,ka;b[195]!==Co||b[196]!==Mt||b[197]!==Nt||b[198]!==Lt||b[199]!==X.bottom||b[200]!==va?(xa=(0,r(d[43]).jsx)(v.BottomActionPanel,{message:Co,showMessage:va,layout:Mt,onSchemaButtonPress:Nt,onStaticButtonPress:Lt,styles:te.bottomActionPanel,bottomInset:X.bottom}),b[195]=Co,b[196]=Mt,b[197]=Nt,b[198]=Lt,b[199]=X.bottom,b[200]=va,b[201]=xa):xa=b[201],b[202]!==$o?(wa=[{text:"\u7ee7\u7eed\u6e38\u620f",onPress:$o}],b[202]=$o,b[203]=wa):wa=b[203],b[204]!==qo||b[205]!==$o||b[206]!==wa?(Aa=(0,r(d[43]).jsx)(r(d[45]).AlertModal,{visible:qo,title:"\u6e38\u620f\u5df2\u6062\u590d",message:"\u70b9\u51fb\u4e0b\u65b9\u6309\u94ae\u7ee7\u7eed\u6e38\u620f\u5e76\u6062\u590d\u97f3\u9891",buttons:wa,onClose:$o}),b[204]=qo,b[205]=$o,b[206]=wa,b[207]=Aa):Aa=b[207],b[208]!==Vo||b[209]!==Ho||b[210]!==Do||b[211]!==Eo||b[212]!==Lo||b[213]!==Go||b[214]!==No?(Ba=null!==Go&&(0,r(d[43]).jsx)(T.SeatConfirmModal,{visible:No,modalType:Lo,seat:Go,isSubmitting:Eo,onConfirm:"enter"===Lo?Do:Ho,onCancel:Vo,styles:te.seatConfirmModal}),b[208]=Vo,b[209]=Ho,b[210]=Do,b[211]=Eo,b[212]=Lo,b[213]=Go,b[214]=No,b[215]=Ba):Ba=b[215],b[216]!==He||b[217]!==Ie||b[218]!==Fo||b[219]!==zo||b[220]!==Ge||b[221]!==Uo||b[222]!==Wo||b[223]!==Pe?.roles?(ka=(Uo||zo)&&He&&(0,r(d[43]).jsx)(I.RoleCardModal,{visible:Uo,isLoading:zo,roleId:He,resolvedAnimation:Ge,shouldPlayAnimation:Wo,allRoleIds:Ie?.template?.roles??Pe?.roles??[],remainingCards:Ie?Array.from(Ie.players.values()).filter(K).length+(Wo?1:0):0,onClose:Fo,seerLabelMap:Ie?.seerLabelMap}),b[216]=He,b[217]=Ie,b[218]=Fo,b[219]=zo,b[220]=Ge,b[221]=Uo,b[222]=Wo,b[223]=Pe?.roles,b[224]=ka):ka=b[224];const ja=null!==Qo;let Pa,Ia,Ta,Oa,Ma,Na,Ga,La,Ea,Da,Va,Ha,Ua;return b[225]!==Yo?(Pa=(0,r(d[46]).isAIChatReady)()?e=>(0,r(d[47]).askAIAboutRole)(e,Yo):void 0,b[225]=Yo,b[226]=Pa):Pa=b[226],b[227]!==Yo||b[228]!==Qo||b[229]!==ja||b[230]!==Pa?(Ia=(0,r(d[43]).jsx)(h.RoleCardSimple,{visible:ja,roleId:Qo,onClose:Yo,showRealIdentity:!0,onAskAI:Pa}),b[227]=Yo,b[228]=Qo,b[229]=ja,b[230]=Pa,b[231]=Ia):Ia=b[231],b[232]!==Po||b[233]!==Io||b[234]!==To||b[235]!==Te||b[236]!==jo||b[237]!==ko||b[238]!==Bo||b[239]!==Ao||b[240]!==wo?(Ta=(0,r(d[43]).jsx)(j.PlayerProfileCard,{visible:wo,onClose:Po,targetUserId:Ao,targetSeat:Bo,rosterName:ko,isHost:Te,isSelf:jo,onKick:Io,onLeaveSeat:To}),b[232]=Po,b[233]=Io,b[234]=To,b[235]=Te,b[236]=jo,b[237]=ko,b[238]=Bo,b[239]=Ao,b[240]=wo,b[241]=Ta):Ta=b[241],b[242]!==at||b[243]!==Xo||b[244]!==ot?(Oa=ot&&Xo&&(0,r(d[43]).jsx)(A.NightReviewModal,{visible:ot,data:Xo,onClose:at}),b[242]=at,b[243]=Xo,b[244]=ot,b[245]=Oa):Oa=b[245],b[246]!==et||b[247]!==Xo||b[248]!==Zo||b[249]!==je?(Ma=et&&Xo&&(0,r(d[43]).jsx)(n.default,{style:ee.hiddenShareCardContainer,children:(0,r(d[43]).jsx)(B.NightReviewShareCard,{ref:Zo,data:Xo,roomCode:je})}),b[246]=et,b[247]=Xo,b[248]=Zo,b[249]=je,b[250]=Ma):Ma=b[250],b[251]!==nt||b[252]!==Ve||b[253]!==Ie||b[254]!==rt||b[255]!==st?(Na=st&&Ie&&(0,r(d[43]).jsx)(O.ShareReviewModal,{visible:st,seats:Array.from(Ie.players.entries()).filter(e=>{const[o,t]=e;return null!==t&&o!==Ve}).map(Y).sort($),currentAllowedSeats:Ie.nightReviewAllowedSeats??[],onConfirm:rt,onClose:nt}),b[251]=nt,b[252]=Ve,b[253]=Ie,b[254]=rt,b[255]=st,b[256]=Na):Na=b[256],b[257]!==je?(Ga=(0,r(d[38]).buildRoomUrl)(je),b[257]=je,b[258]=Ga):Ga=b[258],b[259]===Symbol.for("react.memo_cache_sentinel")?(La=()=>ce(!1),b[259]=La):La=b[259],b[260]!==ye||b[261]!==Re||b[262]!==de||b[263]!==je||b[264]!==Ga?(Ea=(0,r(d[43]).jsx)(P.QRCodeModal,{visible:de,roomCode:je,roomUrl:Ga,onShareImage:Re,onCopyLink:ye,onClose:La}),b[260]=ye,b[261]=Re,b[262]=de,b[263]=je,b[264]=Ga,b[265]=Ea):Ea=b[265],b[266]!==qe||b[267]!==Je||b[268]!==Ye||b[269]!==Ie.boardNominations||b[270]!==Ie.template.numberOfPlayers||b[271]!==Te||b[272]!==me||b[273]!==J?.id?(Da=me&&(0,r(d[43]).jsx)(R.BoardNominationModal,{visible:me,nominations:Ie?.boardNominations,myUserId:J?.id??null,isHost:Te,currentPlayerCount:Ie?.template.numberOfPlayers??0,onUpvote:e=>{qe(e)},onWithdraw:()=>{Je()},clearAllSeats:Ye,onClose:()=>ue(!1)}),b[266]=qe,b[267]=Je,b[268]=Ye,b[269]=Ie.boardNominations,b[270]=Ie.template.numberOfPlayers,b[271]=Te,b[272]=me,b[273]=J?.id,b[274]=Da):Da=b[274],b[275]!==mt||b[276]!==ct||b[277]!==ut||b[278]!==lt||b[279]!==it||b[280]!==Me?.ui?.confirmText||b[281]!==Ie.bottomCards||b[282]!==dt?(Va=lt&&Ie?.bottomCards&&(0,r(d[43]).jsx)(r(d[48]).ChooseBottomCardModal,{visible:lt,bottomCards:Ie.bottomCards,confirmText:Me?.ui?.confirmText??"",disabledIndices:ct,disabledHint:mt,subtitle:ut,onChoose:e=>dt(e),onClose:it}),b[275]=mt,b[276]=ct,b[277]=ut,b[278]=lt,b[279]=it,b[280]=Me?.ui?.confirmText,b[281]=Ie.bottomCards,b[282]=dt,b[283]=Va):Va=b[283],b[284]!==ne?(Ha=(0,r(d[43]).jsx)(c.BoardStrategyModal,{boardName:ne,onClose:ie}),b[284]=ne,b[285]=Ha):Ha=b[285],b[286]!==ma||b[287]!==ua||b[288]!==Sa||b[289]!==Ra||b[290]!==xa||b[291]!==Aa||b[292]!==Ba||b[293]!==ka||b[294]!==Ia||b[295]!==Ta||b[296]!==Oa||b[297]!==Ma||b[298]!==Na||b[299]!==Ea||b[300]!==Da||b[301]!==Va||b[302]!==Ha?(Ua=(0,r(d[43]).jsxs)(r(d[33]).SafeAreaView,{style:Vt,edges:Ht,testID:r(d[44]).TESTIDS.roomScreenRoot,children:[ma,ua,Sa,Ra,xa,Aa,Ba,ka,Ia,Ta,Oa,Ma,Na,Ea,Da,Va,Ha]}),b[286]=ma,b[287]=ua,b[288]=Sa,b[289]=Ra,b[290]=xa,b[291]=Aa,b[292]=Ba,b[293]=ka,b[294]=Ia,b[295]=Ta,b[296]=Oa,b[297]=Ma,b[298]=Na,b[299]=Ea,b[300]=Da,b[301]=Va,b[302]=Ha,b[303]=Ua):Ua=b[303],Ua};function D(e){"copied"===e?l.toast.success("\u623f\u95f4\u94fe\u63a5\u5df2\u590d\u5236"):"failed"===e&&(0,r(d[49]).showErrorAlert)("\u94fe\u63a5\u5206\u4eab\u5931\u8d25","\u65e0\u6cd5\u590d\u5236\u94fe\u63a5\uff0c\u8bf7\u624b\u52a8\u5206\u4eab\u623f\u95f4\u53f7")}function V(e){(0,b.handleError)(e,{label:"\u5206\u4eab\u94fe\u63a5",logger:r(d[50]).roomScreenLog,alertMessage:"\u65e0\u6cd5\u590d\u5236\u94fe\u63a5\uff0c\u8bf7\u624b\u52a8\u5206\u4eab\u623f\u95f4\u53f7"})}function H(e){(0,b.handleError)(e,{label:"\u5206\u4eab\u4e8c\u7ef4\u7801",logger:r(d[50]).roomScreenLog,alertMessage:"\u65e0\u6cd5\u5206\u4eab\u4e8c\u7ef4\u7801\u56fe\u7247"})}function U(e){return null!==e}function W(e){(0,b.handleError)(e,{label:"fillWithBots",logger:r(d[50]).roomScreenLog,feedback:!1})}function z(e){(0,b.handleError)(e,{label:"markAllBotsViewed",logger:r(d[50]).roomScreenLog,feedback:!1})}function F(e){(0,b.handleError)(e,{label:"markAllBotsGroupConfirmed",logger:r(d[50]).roomScreenLog,feedback:!1})}function Q(e){(0,b.handleError)(e,{label:"clearAllSeats",logger:r(d[50]).roomScreenLog,feedback:!1})}function K(e){return e&&!e.hasViewedRole}function Y(e){const[o,t]=e;return{seat:o,displayName:t.displayName??`\u73a9\u5bb6${o+1}`}}function $(e,o){return e.seat-o.seat}},2054,[1013,497,549,585,459,599,1883,1119,1899,1889,2055,1930,1903,2056,2057,2058,2059,2060,2061,2062,2063,2064,2066,2069,2109,2110,2111,2112,2116,2117,2182,1092,1090,1006,2183,1098,2184,36,2188,1904,1893,2189,1880,700,1872,2192,1060,1105,2193,1073,1061]);
2291
2291
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSkiaShaderWarmup=function(){const t=(0,r(d[2]).c)(1);let l;t[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],t[0]=l):l=t[0];(0,r(d[3]).useEffect)(s,l)};var t=r(d[0]),l=r(d[1]);const n=(function({_worklet_12189222123093_init_data:t,Skia:l,SIZE:n}){const s=function(){const t=l.Surface.MakeOffscreen(n,n);if(!t)return;const s=t.getCanvas(),c=l.Paint();c.setColor(l.Color('#ff0000')),s.drawCircle(2,2,2,c);const o=l.ImageFilter.MakeBlur(3,3,0,null);c.setImageFilter(o),s.drawCircle(2,2,2,c),c.setImageFilter(null),c.setStyle(1),c.setStrokeWidth(1),c.setImageFilter(o),s.drawCircle(2,2,1,c),c.setImageFilter(null),c.setStyle(0);const u=l.RRectXY(l.XYWHRect(0,0,n,n),1,1);c.setStyle(1),c.setImageFilter(o),s.drawRRect(u,c),c.setImageFilter(null),c.setStyle(0);const S=l.Path.Make();S.moveTo(0,0),S.lineTo(n,n),c.setStyle(1),s.drawPath(S,c),c.setStyle(0);const p=l.ImageFilter.MakeBlur(30,30,0,null);c.setImageFilter(p),s.drawCircle(2,2,2,c),c.setImageFilter(null),t.flush()};return s.__closure={Skia:l,SIZE:n},s.__workletHash=0xb1606413655,s.__initData=t,s})({_worklet_12189222123093_init_data:{code:"function warmupShaders_SkiaShaderWarmupTsx1(){const{Skia,SIZE}=this.__closure;const surface=Skia.Surface.MakeOffscreen(SIZE,SIZE);if(!surface)return;const canvas=surface.getCanvas();const paint=Skia.Paint();paint.setColor(Skia.Color('#ff0000'));canvas.drawCircle(2,2,2,paint);const blurFilter=Skia.ImageFilter.MakeBlur(3,3,0,null);paint.setImageFilter(blurFilter);canvas.drawCircle(2,2,2,paint);paint.setImageFilter(null);paint.setStyle(1);paint.setStrokeWidth(1);paint.setImageFilter(blurFilter);canvas.drawCircle(2,2,1,paint);paint.setImageFilter(null);paint.setStyle(0);const rrect=Skia.RRectXY(Skia.XYWHRect(0,0,SIZE,SIZE),1,1);paint.setStyle(1);paint.setImageFilter(blurFilter);canvas.drawRRect(rrect,paint);paint.setImageFilter(null);paint.setStyle(0);const path=Skia.Path.Make();path.moveTo(0,0);path.lineTo(SIZE,SIZE);paint.setStyle(1);canvas.drawPath(path,paint);paint.setStyle(0);const heavyBlur=Skia.ImageFilter.MakeBlur(30,30,0,null);paint.setImageFilter(heavyBlur);canvas.drawCircle(2,2,2,paint);paint.setImageFilter(null);surface.flush();}"},Skia:t.Skia,SIZE:4});function s(){(0,l.runOnUI)(n)()}},2055,[1251,608,1092,36]);
2292
2292
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AuthGateOverlay",{enumerable:!0,get:function(){return u}});var t=e(r(d[0])),n=e(r(d[1])),o=r(d[2]),l=r(d[3]);const u=e=>{const u=(0,r(d[4]).c)(17),{onSuccess:c,onCancel:s}=e,{width:f}=(0,t.default)();let y;u[0]!==f?(y=(0,l.createHomeScreenStyles)(r(d[5]).colors,f),u[0]=f,u[1]=y):y=u[1];const v=y,h=(0,r(d[6]).useNavigation)(),{user:C}=(0,r(d[7]).useAuthContext)(),b=(0,r(d[8]).useRef)(!1);let x,O,_,j,S,A,P;return u[2]!==h?(x=()=>{b.current||(b.current=!0,h.navigate("AuthLogin",{loginTitle:"\u767b\u5f55",loginSubtitle:"\u9009\u62e9\u767b\u5f55\u65b9\u5f0f\u4ee5\u52a0\u5165\u623f\u95f4"}))},O=[h],u[2]=h,u[3]=x,u[4]=O):(x=u[3],O=u[4]),(0,r(d[8]).useEffect)(x,O),u[5]!==c||u[6]!==C?(_=()=>{C&&b.current&&c()},j=[C,c],u[5]=c,u[6]=C,u[7]=_,u[8]=j):(_=u[7],j=u[8]),(0,r(d[8]).useEffect)(_,j),u[9]!==s?(S=(0,r(d[9]).jsx)(o.Button,{variant:"ghost",buttonColor:r(d[5]).colors.background,textColor:r(d[5]).colors.textSecondary,onPress:s,children:"\u8fd4\u56de\u9996\u9875"}),u[9]=s,u[10]=S):S=u[10],u[11]!==v.modalContent||u[12]!==S?(A=(0,r(d[9]).jsx)(n.default,{style:v.modalContent,children:S}),u[11]=v.modalContent,u[12]=S,u[13]=A):A=u[13],u[14]!==v.modalOverlay||u[15]!==A?(P=(0,r(d[9]).jsx)(n.default,{style:v.modalOverlay,children:A}),u[14]=v.modalOverlay,u[15]=A,u[16]=P):P=u[16],P}},2056,[1046,459,1119,1947,1092,1098,1704,1090,36,700]);
2293
2293
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"BoardInfoCard",{enumerable:!0,get:function(){return u}});var o=e(r(d[0])),t=e(r(d[1])),l=e(r(d[2])),n=e(r(d[3]));function s(e){const o=(0,r(d[4]).c)(10),{items:t,onRolePress:l,styles:s,color:c}=e,u=s.roleChipRow;let y,f;if(o[0]!==c||o[1]!==t||o[2]!==l){let e;o[4]!==c||o[5]!==l?(e=e=>(0,r(d[5]).jsx)(r(d[6]).FactionChip,{label:e.count>1?`${e.displayName}\xd7${e.count}`:e.displayName,color:c,size:"md",onPress:l?()=>l(e.roleId):void 0},e.roleId),o[4]=c,o[5]=l,o[6]=e):e=o[6],y=t.map(e),o[0]=c,o[1]=t,o[2]=l,o[3]=y}else y=o[3];return o[7]!==s.roleChipRow||o[8]!==y?(f=(0,r(d[5]).jsx)(n.default,{style:u,children:y}),o[7]=s.roleChipRow,o[8]=y,o[9]=f):f=o[9],f}const c=e=>{const c=(0,r(d[4]).c)(47),{playerCount:u,wolfRoleItems:y,godRoleItems:f,specialRoleItems:x,villagerCount:p,villagerRoleItems:h,collapsed:j,onRolePress:v,onNotepadPress:C,onStrategyPress:R,styles:b,showNominations:I,hasMyNomination:B,nominationCount:P,onNominatePress:w,onViewNominations:z}=e,O=void 0!==j&&j,N=void 0!==I&&I,T=void 0!==B&&B,S=void 0===P?0:P,[_,L]=(0,r(d[7]).useState)(O),[$,M]=(0,r(d[7]).useState)(!1);let F,H,k;c[0]!==O||c[1]!==$?(F=()=>{$||L(O)},H=[O,$],c[0]=O,c[1]=$,c[2]=F,c[3]=H):(F=c[2],H=c[3]),(0,r(d[7]).useEffect)(F,H),c[4]!==_?(k=()=>{M(!0),L(!_)},c[4]=_,c[5]=k):k=c[5];const E=k;let U,V,q;c[6]!==u||c[7]!==b.boardInfoTitle?(U=(0,r(d[5]).jsxs)(t.default,{style:b.boardInfoTitle,children:["\u914d\u7f6e\uff08",u,"\u4eba\uff09"]}),c[6]=u,c[7]=b.boardInfoTitle,c[8]=U):U=c[8],c[9]!==R||c[10]!==b.notepadBtn||c[11]!==b.notepadBtnText?(V=null!=R&&(0,r(d[5]).jsxs)(l.default,{onPress:R,style:b.notepadBtn,activeOpacity:r(d[8]).fixed.activeOpacity,children:[(0,r(d[5]).jsx)(o.default,{name:"book-outline",size:r(d[8]).componentSizes.icon.sm,color:r(d[8]).colors.primary}),(0,r(d[5]).jsx)(t.default,{style:b.notepadBtnText,children:"\u653b\u7565"})]}),c[9]=R,c[10]=b.notepadBtn,c[11]=b.notepadBtnText,c[12]=V):V=c[12],c[13]!==C||c[14]!==b.notepadBtn||c[15]!==b.notepadBtnText?(q=null!=C&&(0,r(d[5]).jsxs)(l.default,{onPress:C,style:b.notepadBtn,activeOpacity:r(d[8]).fixed.activeOpacity,children:[(0,r(d[5]).jsx)(o.default,{name:"document-text-outline",size:r(d[8]).componentSizes.icon.sm,color:r(d[8]).colors.primary}),(0,r(d[5]).jsx)(t.default,{style:b.notepadBtnText,children:"\u7b14\u8bb0"})]}),c[13]=C,c[14]=b.notepadBtn,c[15]=b.notepadBtnText,c[16]=q):q=c[16];const A=_?"chevron-down":"chevron-up";let D,G,J,K,Q;return c[17]!==A?(D=(0,r(d[5]).jsx)(o.default,{name:A,size:r(d[8]).componentSizes.icon.sm,color:r(d[8]).colors.textSecondary}),c[17]=A,c[18]=D):D=c[18],c[19]!==b.headerRowRight||c[20]!==q||c[21]!==D||c[22]!==V?(G=(0,r(d[5]).jsxs)(n.default,{style:b.headerRowRight,children:[V,q,D]}),c[19]=b.headerRowRight,c[20]=q,c[21]=D,c[22]=V,c[23]=G):G=c[23],c[24]!==E||c[25]!==b.headerRow||c[26]!==G||c[27]!==U?(J=(0,r(d[5]).jsxs)(l.default,{style:b.headerRow,onPress:E,activeOpacity:r(d[8]).fixed.activeOpacity,children:[U,G]}),c[24]=E,c[25]=b.headerRow,c[26]=G,c[27]=U,c[28]=J):J=c[28],c[29]!==f||c[30]!==T||c[31]!==_||c[32]!==S||c[33]!==w||c[34]!==v||c[35]!==z||c[36]!==N||c[37]!==x||c[38]!==b||c[39]!==p||c[40]!==h||c[41]!==y?(K=!_&&(0,r(d[5]).jsxs)(n.default,{style:b.boardInfoContent,children:[y.length>0&&(0,r(d[5]).jsxs)(n.default,{style:b.roleCategory,children:[(0,r(d[5]).jsx)(t.default,{style:b.roleCategoryLabel,children:"\u72fc\u4eba\uff1a"}),(0,r(d[5]).jsx)(s,{items:y,onRolePress:v,styles:b,color:r(d[8]).colors.wolf})]}),f.length>0&&(0,r(d[5]).jsxs)(n.default,{style:b.roleCategory,children:[(0,r(d[5]).jsx)(t.default,{style:b.roleCategoryLabel,children:"\u795e\u804c\uff1a"}),(0,r(d[5]).jsx)(s,{items:f,onRolePress:v,styles:b,color:r(d[8]).colors.god})]}),x.length>0&&(0,r(d[5]).jsxs)(n.default,{style:b.roleCategory,children:[(0,r(d[5]).jsx)(t.default,{style:b.roleCategoryLabel,children:"\u7279\u6b8a\uff1a"}),(0,r(d[5]).jsx)(s,{items:x,onRolePress:v,styles:b,color:r(d[8]).colors.third})]}),(p>0||h.length>0)&&(0,r(d[5]).jsxs)(n.default,{style:b.roleCategory,children:[(0,r(d[5]).jsx)(t.default,{style:b.roleCategoryLabel,children:"\u6751\u6c11\uff1a"}),(0,r(d[5]).jsxs)(n.default,{style:b.roleChipRow,children:[p>0&&(0,r(d[5]).jsx)(r(d[6]).FactionChip,{label:p>1?`\u6751\u6c11\xd7${p}`:"\u6751\u6c11",color:r(d[8]).colors.villager,size:"md",onPress:v?()=>v("villager"):void 0}),h.map(e=>(0,r(d[5]).jsx)(r(d[6]).FactionChip,{label:e.count>1?`${e.displayName}\xd7${e.count}`:e.displayName,color:r(d[8]).colors.villager,size:"md",onPress:v?()=>v(e.roleId):void 0},e.roleId))]})]}),(0,r(d[5]).jsxs)(n.default,{style:b.nominationButtonRow,children:[(0,r(d[5]).jsxs)(t.default,{style:b.boardInfoHint,numberOfLines:1,children:[(0,r(d[5]).jsx)(o.default,{name:r(d[9]).UI_ICONS.HINT,size:r(d[8]).componentSizes.icon.xs,color:r(d[8]).colors.textMuted})," \u70b9\u51fb\u89d2\u8272\u540d\u67e5\u770b\u8bf4\u660e"]}),N&&null!=w&&(0,r(d[5]).jsxs)(l.default,{style:b.nominationBtn,onPress:w,activeOpacity:r(d[8]).fixed.activeOpacity,children:[(0,r(d[5]).jsx)(o.default,{name:T?"create-outline":"bulb-outline",size:r(d[8]).componentSizes.icon.sm,color:r(d[8]).colors.primary}),(0,r(d[5]).jsx)(t.default,{style:b.nominationBtnText,children:T?"\u4fee\u6539\u5efa\u8bae":"\u6211\u6765\u5efa\u8bae"})]}),N&&S>0&&null!=z&&(0,r(d[5]).jsxs)(l.default,{style:b.nominationBtn,onPress:z,activeOpacity:r(d[8]).fixed.activeOpacity,children:[(0,r(d[5]).jsx)(o.default,{name:"list-outline",size:r(d[8]).componentSizes.icon.sm,color:r(d[8]).colors.primary}),(0,r(d[5]).jsxs)(t.default,{style:b.nominationBtnText,children:["\u67e5\u770b\u5efa\u8bae (",S,")"]})]})]})]}),c[29]=f,c[30]=T,c[31]=_,c[32]=S,c[33]=w,c[34]=v,c[35]=z,c[36]=N,c[37]=x,c[38]=b,c[39]=p,c[40]=h,c[41]=y,c[42]=K):K=c[42],c[43]!==b.boardInfoContainer||c[44]!==J||c[45]!==K?(Q=(0,r(d[5]).jsxs)(n.default,{style:b.boardInfoContainer,children:[J,K]}),c[43]=b.boardInfoContainer,c[44]=J,c[45]=K,c[46]=Q):Q=c[46],Q},u=(0,r(d[7]).memo)(c);u.displayName='BoardInfoCard'},2057,[1013,549,585,459,1092,700,1895,36,1098,1112]);
@@ -2380,19 +2380,19 @@ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e
2380
2380
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"HostGuideBanner",{enumerable:!0,get:function(){return c}});var t=e(r(d[0])),n=e(r(d[1])),s=e(r(d[2]));const o=e=>{const o=(0,r(d[3]).c)(9),{message:c,styles:u}=e;let l,y,f;return o[0]!==u.icon?(l=(0,r(d[4]).jsx)(t.default,{name:r(d[5]).UI_ICONS.HINT,size:r(d[6]).typography.secondary,style:u.icon}),o[0]=u.icon,o[1]=l):l=o[1],o[2]!==c||o[3]!==u.text?(y=(0,r(d[4]).jsx)(n.default,{style:u.text,children:c}),o[2]=c,o[3]=u.text,o[4]=y):y=o[4],o[5]!==u.container||o[6]!==l||o[7]!==y?(f=(0,r(d[4]).jsxs)(s.default,{style:u.container,children:[l,y]}),o[5]=u.container,o[6]=l,o[7]=y,o[8]=f):f=o[8],f},c=(0,r(d[7]).memo)(o);c.displayName='HostGuideBanner'},2114,[1013,549,459,1092,700,1112,1098,36]);
2381
2381
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NightProgressIndicator",{enumerable:!0,get:function(){return n}});var t=e(r(d[0])),s=e(r(d[1]));const o=e=>{const o=(0,r(d[2]).c)(26),{currentStep:n,totalSteps:l,currentRoleName:c,styles:u}=e,p=l>0?n/l*100:0;let y,h,x,f,j,T;o[0]!==n||o[1]!==u.stepText||o[2]!==l?(y=(0,r(d[3]).jsxs)(t.default,{style:u.stepText,children:["\u7b2c",n,"\u6b65 / \u5171",l,"\u6b65"]}),o[0]=n,o[1]=u.stepText,o[2]=l,o[3]=y):y=o[3],o[4]!==c||o[5]!==u.roleText?(h=c&&(0,r(d[3]).jsx)(t.default,{style:u.roleText,children:c}),o[4]=c,o[5]=u.roleText,o[6]=h):h=o[6],o[7]!==u.headerRow||o[8]!==y||o[9]!==h?(x=(0,r(d[3]).jsxs)(s.default,{style:u.headerRow,children:[y,h]}),o[7]=u.headerRow,o[8]=y,o[9]=h,o[10]=x):x=o[10],o[11]===Symbol.for("react.memo_cache_sentinel")?(f=[r(d[4]).colors.primaryLight,r(d[4]).colors.primary],j={x:0,y:0},T={x:1,y:0},o[11]=f,o[12]=j,o[13]=T):(f=o[11],j=o[12],T=o[13]);const _=`${p}%`;let B,I,P,S;return o[14]!==_?(B={width:_},o[14]=_,o[15]=B):B=o[15],o[16]!==u.progressBarFill||o[17]!==B?(I=(0,r(d[3]).jsx)(r(d[5]).LinearGradient,{colors:f,start:j,end:T,style:[u.progressBarFill,B]}),o[16]=u.progressBarFill,o[17]=B,o[18]=I):I=o[18],o[19]!==u.progressBarContainer||o[20]!==I?(P=(0,r(d[3]).jsx)(s.default,{style:u.progressBarContainer,children:I}),o[19]=u.progressBarContainer,o[20]=I,o[21]=P):P=o[21],o[22]!==u.container||o[23]!==P||o[24]!==x?(S=(0,r(d[3]).jsxs)(s.default,{style:u.container,testID:r(d[6]).TESTIDS.nightProgressIndicator,children:[x,P]}),o[22]=u.container,o[23]=P,o[24]=x,o[25]=S):S=o[25],S},n=(0,r(d[7]).memo)(o);n.displayName='NightProgressIndicator'},2115,[549,459,1092,700,1098,1121,1872,36]);
2382
2382
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WxAuthFailedOverlay",{enumerable:!0,get:function(){return s}});var t=e(r(d[0])),l=e(r(d[1])),o=e(r(d[2])),n=r(d[3]),c=r(d[4]);const s=e=>{const s=(0,r(d[5]).c)(17),{onCancel:y}=e,{width:f}=(0,l.default)();let x;s[0]!==f?(x=(0,c.createHomeScreenStyles)(r(d[6]).colors,f),s[0]=f,s[1]=x):x=s[1];const h=x,b=u;let j,v,_,S,C,O;return s[2]!==h.modalTitle?(j=(0,r(d[7]).jsx)(t.default,{style:h.modalTitle,children:"\u5fae\u4fe1\u767b\u5f55\u5931\u8d25"}),s[2]=h.modalTitle,s[3]=j):j=s[3],s[4]!==h.modalSubtitle?(v=(0,r(d[7]).jsx)(t.default,{style:h.modalSubtitle,children:"\u8bf7\u91cd\u65b0\u8fdb\u5165\u5c0f\u7a0b\u5e8f\u4ee5\u83b7\u53d6\u65b0\u7684\u767b\u5f55\u51ed\u8bc1"}),s[4]=h.modalSubtitle,s[5]=v):v=s[5],s[6]===Symbol.for("react.memo_cache_sentinel")?(_=(0,r(d[7]).jsx)(n.Button,{variant:"primary",onPress:b,children:"\u91cd\u65b0\u8fdb\u5165"}),s[6]=_):_=s[6],s[7]!==y?(S=(0,r(d[7]).jsx)(n.Button,{variant:"ghost",buttonColor:r(d[6]).colors.background,textColor:r(d[6]).colors.textSecondary,onPress:y,children:"\u8fd4\u56de\u9996\u9875"}),s[7]=y,s[8]=S):S=s[8],s[9]!==h.modalContent||s[10]!==j||s[11]!==v||s[12]!==S?(C=(0,r(d[7]).jsxs)(o.default,{style:h.modalContent,children:[j,v,_,S]}),s[9]=h.modalContent,s[10]=j,s[11]=v,s[12]=S,s[13]=C):C=s[13],s[14]!==h.modalOverlay||s[15]!==C?(O=(0,r(d[7]).jsx)(o.default,{style:h.modalOverlay,children:C}),s[14]=h.modalOverlay,s[15]=C,s[16]=O):O=s[16],O};function u(){window.wx?.miniProgram?.reLaunch({url:"/pages/index/index"})}},2116,[549,1046,459,1119,1947,1092,1098,700]);
2383
- __d(function(g,_r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomScreenState=function(n,l){const{roomCode:u,isHost:c=!1,template:S}=n,{gameState:h,isHost:f,mySeat:R,myRole:v,myUserId:C,roomStatus:p,currentActionRole:w,currentSchema:b,currentStepId:A,isAudioPlaying:y,connectionStatus:I,manualReconnect:P,error:D,initializeRoom:k,joinRoom:N,leaveRoom:G,takeSeat:L,leaveSeat:M,assignRoles:E,startGame:V,restartGame:T,clearAllSeats:U,shareNightReview:H,viewedRole:B,submitAction:O,hasWolfVoted:W,getLastNightInfo:F,getCurseInfo:j,lastSeatError:q,clearLastSeatError:x,needsAuth:_,clearNeedsAuth:$,requestSnapshot:z,submitRevealAck:K,submitGroupConfirmAck:Q,sendWolfRobotHunterStatusViewed:Z,kickPlayer:J,isDebugMode:X,fillWithBots:Y,markAllBotsViewed:ee,markAllBotsGroupConfirmed:te,controlledSeat:oe,setControlledSeat:ae,effectiveSeat:re,effectiveRole:ie,postProgression:se,boardNominate:ne,boardUpvote:le,boardWithdraw:ue,isBgmPlaying:de,playBgm:ce,stopBgm:me,resumeAfterRejoin:Se,needsContinueOverlay:ge,dismissContinueOverlay:he}=(0,t.useGameRoom)(),{user:fe}=(0,_r(d[3]).useAuthContext)(),{data:Re}=(0,_r(d[4]).useUserStatsQuery)(),ve=(0,_r(d[5]).useMemo)(()=>{const t=fe?.equippedEffect;if(!t)return'none';if('none'===t)return'none';if('random'===t){const t=(0,_r(d[6]).getUnlockedRoleRevealEffects)(Re?.unlockedItems??[]);if(0===t.size)return'none';const o=[...t],r=(0,_r(d[7]).resolveRandomAnimation)(u);return o.includes(r)?r:o[0]}return _r(d[7]).RANDOMIZABLE_ANIMATIONS.includes(t)?t:(_r(d[8]).roomScreenLog.warn('Unknown equippedEffect from profile, falling back to none',{effect:t}),'none')},[fe?.equippedEffect,Re?.unlockedItems,u]),Ce=(0,_r(d[5]).useMemo)(()=>!!h&&Array.from(h.players.values()).some(t=>t?.isBot),[h]),[pe,we]=(0,_r(d[5]).useState)(null),[be,Ae]=(0,_r(d[5]).useState)(null),[ye,Ie]=(0,_r(d[5]).useState)([]),[Pe,De]=(0,_r(d[5]).useState)(!1),[ke,Ne]=(0,_r(d[5]).useState)(!1),[Ge,Le]=(0,_r(d[5]).useState)(null),[Me,Ee]=(0,_r(d[5]).useState)('enter'),Ve=(0,_r(d[9]).useStepDeadlineCountdown)({stepDeadline:h?.stepDeadline,isHost:f,roomStatus:p,postProgression:se}),{handleDebugTitleTap:Te}=(0,_r(d[10]).useHiddenDebugTrigger)(),Ue=(0,_r(d[11]).useRoomInit)({roomCode:u,isHostParam:c,template:S,initializeRoom:k,joinRoom:N,hasGameState:!!h,gameRoomError:D}),He=(0,_r(d[5]).useRef)(!1);(0,_r(d[5]).useEffect)(()=>{if(!D)return;s.has(D)&&(He.current||(He.current=!0,_r(d[8]).roomScreenLog.debug('Fatal room error, redirecting to Home',{error:D}),(0,_r(d[12]).showErrorAlert)('\u623f\u95f4\u5f02\u5e38',D),l.navigate('Home')))},[D,l]);const Be=(0,_r(d[5]).useMemo)(()=>{const t=h?.currentNightResults?.wolfVotesBySeat;if(!t)return new Map;const o=new Map;for(const[r,i]of Object.entries(t))o.set(Number.parseInt(r,10),i);return o},[h?.currentNightResults]),{actorSeatForUi:Oe,actorRoleForUi:We,isDelegating:Fe}=(0,_r(d[13]).useRoomIdentity)({mySeat:R,myRole:v,effectiveSeat:re,effectiveRole:ie,controlledSeat:oe}),{imActioner:je,showWolves:qe}=(0,_r(d[14]).useActionerState)({actorRole:We,currentActionRole:w,currentSchema:b,actorSeat:Oe,wolfVotes:Be,actions:h?.actions??i,treasureMasterChosenCard:h?.treasureMasterChosenCard,thiefChosenCard:h?.thiefChosenCard});(0,_r(d[5]).useEffect)(()=>{q&&(_r(d[8]).roomScreenLog.warn('Seat error received',{lastSeatError:q}),(0,_r(d[12]).showErrorAlert)('\u5165\u5ea7\u5931\u8d25','\u8be5\u5ea7\u4f4d\u5df2\u88ab\u5360\u7528\uff0c\u8bf7\u9009\u62e9\u5176\u4ed6\u4f4d\u7f6e\u3002'),x())},[q,x]),(0,_r(d[5]).useEffect)(()=>{h&&(p!==_r(d[15]).GameStatus.Unseated&&p!==_r(d[15]).GameStatus.Seated||(_r(d[8]).roomScreenLog.debug('Resetting UI state for restart',{roomStatus:p}),De(!1),we(null),Ie([])))},[h,p]),(0,_r(d[5]).useEffect)(()=>{Ie([])},[A]);const xe=(0,_r(d[5]).useMemo)(()=>({gameState:h,roomStatus:p,currentActionRole:w,currentSchema:b,imActioner:je,actorSeat:Oe,actorRole:We,isAudioPlaying:y,firstSwapSeat:pe,multiSelectedSeats:ye,countdownTick:Ve}),[h,p,w,b,je,Oe,We,y,pe,ye,Ve]),_e=(0,_r(d[5]).useMemo)(()=>({hasWolfVoted:W,getWolfVoteSummary:()=>h?(0,_r(d[16]).getWolfVoteSummary)((0,_r(d[16]).toGameRoomLike)(h)):'0/0 \u72fc\u4eba\u5df2\u786e\u8ba4',getWitchContext:()=>h?.witchContext??null}),[h,W]),{getActionIntent:$e,getAutoTriggerIntent:ze,getWolfStatusLine:Ke,getBottomAction:Qe}=(0,_r(d[17]).useRoomActions)(xe,_e),Ze=(0,_r(d[18]).useRoomDerived)({gameState:h,currentSchema:b,currentActionRole:w,roomStatus:p,actorSeatForUi:Oe,showWolves:qe,imActioner:je,firstSwapSeat:pe,secondSeat:be,multiSelectedSeats:ye,getWolfStatusLine:Ke,effectiveRole:ie}),Je=(0,_r(d[19]).useRoomActionDialogs)(),Xe=(0,_r(d[5]).useCallback)(()=>{_r(d[8]).roomScreenLog.debug('handleLeaveRoomCleanup: calling leaveRoom'),G()},[G]),Ye=(0,_r(d[20]).useRoomSeatDialogs)({pendingSeat:Ge,setPendingSeat:Le,setSeatModalVisible:Ne,setModalType:Ee,takeSeat:L,leaveSeat:M,roomStatus:p,navigation:l,onLeaveRoom:Xe}),{showEnterSeatDialog:et,showLeaveSeatDialog:tt,handleConfirmSeat:ot,handleCancelSeat:at,handleConfirmLeave:rt,handleLeaveRoom:it,isSeatSubmitting:st}=Ye,[nt,lt]=(0,_r(d[5]).useState)(!1),ut=(0,_r(d[5]).useCallback)(()=>lt(!0),[]),dt=(0,_r(d[5]).useCallback)(()=>lt(!1),[]),{handleActionIntent:ct,isActionSubmitting:mt}=(0,_r(d[21]).useActionOrchestrator)({gameState:h,roomStatus:p,currentActionRole:w,currentSchema:b,effectiveSeat:re,effectiveRole:ie,controlledSeat:oe,actorSeatForUi:Oe,imActioner:je,isAudioPlaying:y,myUserId:C,needsContinueOverlay:ge,firstSwapSeat:pe,setFirstSwapSeat:we,setSecondSeat:Ae,submitAction:O,submitRevealAck:K,sendWolfRobotHunterStatusViewed:Z,submitGroupConfirmAck:Q,multiSelectedSeats:ye,setMultiSelectedSeats:Ie,getAutoTriggerIntent:ze,actionDialogs:Je,openChooseCardModal:ut}),{showPrepareToFlipDialog:St,showStartGameDialog:gt,showRestartDialog:ht,handleSettingsPress:ft,isHostActionSubmitting:Rt}=(0,_r(d[22]).useRoomHostDialogs)({gameState:h,assignRoles:E,startGame:V,restartGame:T,setIsStartingGame:De,navigation:l,roomCode:u}),vt=(0,_r(d[5]).useMemo)(()=>h?.currentNightResults?h.status!==_r(d[15]).GameStatus.Ended?null:(0,_r(d[23]).buildNightReviewData)(h):null,[h]),Ct=(0,_r(d[5]).useRef)(null),[pt,wt]=(0,_r(d[5]).useState)(!1),bt=(0,_r(d[5]).useRef)(null),At=(0,_r(d[5]).useCallback)(async()=>{bt.current=null,wt(!0);try{await new Promise(t=>requestAnimationFrame(()=>requestAnimationFrame(t)));const t=await(0,o.captureNightReviewCard)(Ct);return bt.current=t,t}catch{return null}finally{wt(!1)}},[]),yt=(0,_r(d[5]).useCallback)(async()=>{if(!vt)return void(0,_r(d[12]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u5f53\u524d\u6682\u65e0\u53ef\u5206\u4eab\u7684\u6218\u62a5');const t=bt.current;if((0,_r(d[24]).isMiniProgram)()){try{const t=(0,o.renderNightReviewToCanvas)(vt,u,_r(d[25],"@/theme").colors),r=await(0,_r(d[26],"@/services/feature/ShareImageService").uploadShareImage)(t);await(0,_r(d[24]).wxPreviewImage)(r)}catch(t){_r(d[8]).roomScreenLog.error('Mini program share failed',t),(0,_r(d[12]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u5206\u4eab\u6218\u62a5\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5')}return}if(t){return void('failed'===await(0,o.shareNightReviewReportImage)(()=>Promise.resolve(t),u)&&(0,_r(d[12]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u5206\u4eab\u6218\u62a5\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5'))}const r=await At();if(!r)return void(0,_r(d[12]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u751f\u6210\u6218\u62a5\u622a\u56fe\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5');'failed'===await(0,o.shareNightReviewReportImage)(()=>Promise.resolve(r),u)&&(0,_r(d[12]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u5206\u4eab\u6218\u62a5\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5')},[vt,u,At]),{roleCardVisible:It,shouldPlayRevealAnimation:Pt,isLoadingRole:Dt,setRoleCardVisible:kt,setShouldPlayRevealAnimation:Nt,setIsLoadingRole:Gt,handleRoleCardClose:Lt,skillPreviewRoleId:Mt,handleSkillPreviewOpen:Et,handleSkillPreviewClose:Vt,nightReviewVisible:Tt,openNightReview:Ut,closeNightReview:Ht,shareReviewVisible:Bt,closeShareReview:Ot,handleShareNightReview:Wt,showLastNightInfo:Ft}=(0,_r(d[27]).useRoomModals)({isHost:f,canShareReport:f||null!==re&&!0===h?.nightReviewAllowedSeats?.includes(re),getLastNightInfo:F,getCurseInfo:j,shareNightReview:H,beginReportCapture:At,shareNightReviewReport:yt}),{dispatchInteraction:jt,onSeatTapped:qt,onSeatLongPressed:xt,profileCardVisible:_t,profileCardTargetUserId:$t,profileCardTargetSeat:zt,profileCardRosterName:Kt,profileCardIsSelf:Qt,closeProfileCard:Zt,handleProfileKick:Jt,handleProfileLeaveSeat:Xt}=(0,r.useInteractionDispatcher)({gameState:h,roomStatus:p,isAudioPlaying:y,isHost:f,imActioner:je,mySeat:R,myRole:v,effectiveSeat:re,actorSeatForUi:Oe,actorRoleForUi:We,isDebugMode:X,controlledSeat:oe,isDelegating:Fe,handleActionIntent:ct,getActionIntent:$e,showEnterSeatDialog:et,showLeaveSeatDialog:tt,leaveSeat:M,setShouldPlayRevealAnimation:Nt,setIsLoadingRole:Gt,setRoleCardVisible:kt,setControlledSeat:ae,viewedRole:B,handleLeaveRoom:it,handleSettingsPress:ft,showPrepareToFlipDialog:St,showStartGameDialog:gt,showRestartDialog:ht,kickPlayer:J}),{nightProgress:Yt}=(0,_r(d[28]).useNightProgress)({currentStepId:A,gameState:h}),eo=(0,_r(d[29]).useSpeakingOrder)({roomStatus:p,isAudioPlaying:y,gameState:h}),to=(0,_r(d[5]).useMemo)(()=>{if(!h)return null;const t=h.players,o=h.template.numberOfPlayers;if(f)switch(p){case _r(d[15]).GameStatus.Unseated:case _r(d[15]).GameStatus.Seated:{let r=0;for(const o of t.values())null!==o&&r++;return 0===r?'\u7b49\u5f85\u73a9\u5bb6\u5165\u5ea7\uff0c\u6216\u5206\u4eab\u623f\u95f4\u9080\u8bf7\u597d\u53cb':r<o?`\u8fd8\u6709 ${o-r} \u4e2a\u7a7a\u4f4d\u7b49\u5f85\u5165\u5ea7`:'\u5168\u5458\u5df2\u5c31\u4f4d \u2192 \u70b9\u51fb\u4e0b\u65b9\u300c\u5206\u914d\u89d2\u8272\u300d'}case _r(d[15]).GameStatus.Assigned:{let r=0;for(const o of t.values())o&&o.hasViewedRole&&r++;return r<o?`${r}/${o} \u4f4d\u73a9\u5bb6\u5df2\u67e5\u770b\u89d2\u8272\uff0c\u7b49\u5f85\u5269\u4f59\u73a9\u5bb6`:null}case _r(d[15]).GameStatus.Ready:return'\u5168\u5458\u5c31\u7eea \u2192 \u300c\u5f00\u59cb\u5929\u9ed1\u300d\ud83d\udd0a';case _r(d[15]).GameStatus.Ongoing:return null;case _r(d[15]).GameStatus.Ended:return'\u5929\u4eae\u4e86 \u2192\u300c\u6628\u591c\u4fe1\u606f\u300d\u67e5\u770b\u7ed3\u679c\uff0c\u300c\u8be6\u7ec6\u4fe1\u606f\u300d\u67e5\u770b/\u5206\u4eab\u6218\u62a5';default:return null}switch(p){case _r(d[15]).GameStatus.Unseated:case _r(d[15]).GameStatus.Seated:return'\u7b49\u5f85\u6240\u6709\u73a9\u5bb6\u5165\u5ea7';case _r(d[15]).GameStatus.Assigned:{let r=0;for(const o of t.values())o&&o.hasViewedRole&&r++;return r<o?'\u8bf7\u70b9\u51fb\u4f60\u7684\u5934\u50cf\u67e5\u770b\u8eab\u4efd':null}case _r(d[15]).GameStatus.Ready:return'\u51c6\u5907\u5c31\u7eea\uff0c\u7b49\u5f85\u623f\u4e3b\u5f00\u59cb';case _r(d[15]).GameStatus.Ended:{let o=null;for(const[r,i]of t)if(i?.userId===h.hostUserId){o=r;break}return`\u5929\u4eae\u4e86 \u2192 \u6628\u591c\u4fe1\u606f/\u8be6\u7ec6\u4fe1\u606f\u7531${null!==o?`${o+1}\u53f7\u73a9\u5bb6`:'\u623f\u4e3b'}\u64cd\u4f5c`}default:return null}},[f,h,p]),oo=(0,_r(d[5]).useRef)(p);(0,_r(d[5]).useEffect)(()=>{const t=oo.current;if(void 0!==t&&t!==_r(d[15]).GameStatus.Unseated&&t!==_r(d[15]).GameStatus.Seated&&p===_r(d[15]).GameStatus.Seated){const t=(0,_r(d[30]).getNotepadStorageKey)(h?.roomCode??null);t&&_r(d[31]).storage.remove(t)}oo.current=p},[p,h?.roomCode]);const ao=(0,_r(d[5]).useCallback)(async t=>{dt(),await O(null,{cardIndex:t})},[dt,O]),ro='thiefChoose'===b?.id,io=h?.bottomCards,{bottomCardDisabledIndices:so,bottomCardDisabledHint:no,bottomCardSubtitle:lo}=(0,_r(d[5]).useMemo)(()=>{if(!io)return{bottomCardDisabledIndices:[],bottomCardDisabledHint:void 0,bottomCardSubtitle:''};const t=io.map(t=>_r(d[32]).ROLE_SPECS[t]?.faction),o=t.some(t=>t===_r(d[33]).Faction.Wolf);if(ro){return{bottomCardDisabledIndices:o?io.map((t,o)=>o).filter(o=>t[o]!==_r(d[33]).Faction.Wolf):[],bottomCardDisabledHint:o?'\u5fc5\u987b\u9009\u62e9\u72fc\u4eba\u9635\u8425':void 0,bottomCardSubtitle:o?'\u5e95\u724c\u542b\u72fc\u4eba\u9635\u8425':'\u5e95\u724c\u5747\u4e3a\u597d\u4eba\u9635\u8425'}}const r=io.map((t,o)=>o).filter(o=>t[o]===_r(d[33]).Faction.Wolf);return{bottomCardDisabledIndices:r,bottomCardDisabledHint:r.length>0?'\u4e0d\u53ef\u9009\u62e9\u72fc\u4eba\u9635\u8425':void 0,bottomCardSubtitle:'\u4f60\u7684\u9635\u8425\uff1a\u72fc\u4eba\u9635\u8425'}},[io,ro]);return Object.assign({roomCode:u,template:S,gameState:h,isHost:f,roomStatus:p,currentActionRole:w,currentSchema:b,isAudioPlaying:y,resolvedRoleRevealAnimation:ve,connectionStatus:I,gameRoomError:D,effectiveSeat:re,effectiveRole:ie,isDebugMode:X,controlledSeat:oe,hasBots:Ce,fillWithBots:Y,markAllBotsViewed:ee,markAllBotsGroupConfirmed:te,clearAllSeats:U,requestSnapshot:z,manualReconnect:P,setControlledSeat:ae,boardNominate:ne,boardUpvote:le,boardWithdraw:ue,isBgmPlaying:de,playBgm:ce,stopBgm:me},Ue,{needsAuth:_,clearNeedsAuth:$},Ze,{nightProgress:Yt,speakingOrderText:eo,guideMessage:to,imActioner:je,dispatchInteraction:jt,onSeatTapped:qt,onSeatLongPressed:xt,getBottomAction:Qe,handleDebugTitleTap:Te,profileCardVisible:_t,profileCardTargetUserId:$t,profileCardTargetSeat:zt,profileCardRosterName:Kt,profileCardIsSelf:Qt,closeProfileCard:Zt,handleProfileKick:Jt,handleProfileLeaveSeat:Xt,isStartingGame:Pe,isHostActionSubmitting:Rt,isActionSubmitting:mt,seatModalVisible:ke,pendingSeat:Ge,modalType:Me,isSeatSubmitting:st,handleConfirmSeat:ot,handleCancelSeat:at,handleConfirmLeave:rt,roleCardVisible:It,shouldPlayRevealAnimation:Pt,isLoadingRole:Dt,handleRoleCardClose:Lt,skillPreviewRoleId:Mt,handleSkillPreviewOpen:Et,handleSkillPreviewClose:Vt,resumeAfterRejoin:Se,needsContinueOverlay:ge,dismissContinueOverlay:he,showLastNightInfo:Ft,nightReviewData:vt,nightReviewShareCardRef:Ct,isCapturingShareCard:pt,nightReviewVisible:Tt,openNightReview:Ut,closeNightReview:Ht,shareReviewVisible:Bt,closeShareReview:Ot,shareNightReview:Wt,chooseCardModalVisible:nt,closeChooseCardModal:dt,handleChooseCard:ao,bottomCardDisabledIndices:so,bottomCardDisabledHint:no,bottomCardSubtitle:lo})};var t=_r(d[0]),o=_r(d[1]),r=_r(d[2]);const i=new Map,s=new Set(['\u623f\u95f4\u4e0d\u5b58\u5728','\u623f\u95f4\u72b6\u6001\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u521b\u5efa\u623f\u95f4'])},2117,[2118,2130,2142,1090,1859,36,2148,2149,1061,2150,2151,2152,1073,2153,2154,1904,2155,2157,2159,2160,2161,2162,2176,2177,1880,1098,2178,2179,2180,2181,2052,1054,1081,1082]);
2384
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"useGameRoom",{enumerable:!0,get:function(){return n}});var t=r(d[0]),o=r(d[1]),s=r(d[2]);const n=()=>{const n=(0,r(d[3]).c)(125),u=(0,r(d[4]).useGameFacade)(),{authService:S}=(0,r(d[5]).useServices)(),f=(0,r(d[6]).useIsFocused)(),{user:A}=(0,r(d[7]).useAuthContext)(),[R,h]=(0,r(d[8]).useState)(null);let v;n[0]!==u||n[1]!==A?(v=()=>{A?.id&&u.updateMyUserId(A.id)},n[0]=u,n[1]=A,n[2]=v):v=n[2];const b=A?.id;let k;n[3]!==u||n[4]!==b?(k=[b,u],n[3]=u,n[4]=b,n[5]=k):k=n[5],(0,r(d[8]).useEffect)(v,k);const p=(0,r(d[9]).useConnectionStatus)(u),[y,B]=(0,r(d[8]).useState)(!1);let C;n[6]!==u||n[7]!==f?(C=t=>f?u.subscribe(t):l,n[6]=u,n[7]=f,n[8]=C):C=n[8];const P=C;let W;n[9]!==u?(W=()=>u.getState(),n[9]=u,n[10]=W):W=n[10];const w=W,I=(0,r(d[8]).useSyncExternalStore)(P,w);let G;n[11]!==I?(G=I?(0,r(d[10]).toLocalState)(I):null,n[11]=I,n[12]=G):G=n[12];const N=G;let L;n[13]!==u||n[14]!==I?(L=null!==I&&u.isHostPlayer(),n[13]=u,n[14]=I,n[15]=L):L=n[15];const E=L;let V;n[16]!==u||n[17]!==I?(V=null!==I?u.getMyUserId():null,n[16]=u,n[17]=I,n[18]=V):V=n[18];const M=V;let U;n[19]!==u||n[20]!==I?(U=null!==I?u.getMySeat():null,n[19]=u,n[20]=I,n[21]=U):U=n[21];const j=U;let H,D;n[22]!==u||n[23]!==f||n[24]!==E||n[25]!==j?(H={facade:u,isHost:E,mySeat:j,isFocused:f},n[22]=u,n[23]=f,n[24]=E,n[25]=j,n[26]=H):H=n[26],(0,o.useLastActionToast)(H),n[27]!==u||n[28]!==f?(D={facade:u,isFocused:f},n[27]=u,n[28]=f,n[29]=D):D=n[29],(0,s.useSettleToast)(D);const{setStateRevision:F,onStateReceived:_,setLastStateReceivedAt:q}=p;let O,z;n[30]!==u||n[31]!==f||n[32]!==_||n[33]!==q||n[34]!==F||n[35]!==I?(O=()=>{f&&(I?(r(d[11]).gameRoomLog.debug("State update from facade",{roomCode:I.roomCode,status:I.status}),F(u.getStateRevision()),_(),u.isHostPlayer()&&I.status===r(d[12]).GameStatus.Ongoing&&u.wasAudioInterrupted&&((0,r(d[13]).setAlertBlocked)(!0),B(!0))):(F(0),q(null)))},z=[f,I,u,F,_,q],n[30]=u,n[31]=f,n[32]=_,n[33]=q,n[34]=F,n[35]=I,n[36]=O,n[37]=z):(O=n[36],z=n[37]),(0,r(d[8]).useEffect)(O,z);const x=(0,r(d[14]).useBgmControl)(E,N?.status??null,N?.isAudioPlaying??!1),T=(0,r(d[15]).useDebugMode)(u,j,N),J=(0,r(d[16]).useNightDerived)(N);let K;n[38]!==u?(K=()=>u.manualReconnect(),n[38]=u,n[39]=K):K=n[39];const Q=K;let X;n[40]!==S||n[41]!==u||n[42]!==A?(X={facade:u,authService:S,user:A,setRoomRecord:h},n[40]=S,n[41]=u,n[42]=A,n[43]=X):X=n[43];const Y=(0,r(d[17]).useRoomLifecycle)(X);let Z,$,ee;n[44]!==p.connectionStatus||n[45]!==u||n[46]!==j||n[47]!==A?(Z=()=>{if(p.connectionStatus!==r(d[18]).ConnectionStatus.Live)return;if(null===j)return;if(!A)return;const t=A.displayName??void 0;u.updatePlayerProfile(t,A.avatarUrl??void 0,A.avatarFrame??"",A.seatFlair??"",A.nameStyle??"",A.equippedEffect??"",A.seatAnimation??"").catch(c)},$=[p.connectionStatus,j,u,A],n[44]=p.connectionStatus,n[45]=u,n[46]=j,n[47]=A,n[48]=Z,n[49]=$):(Z=n[48],$=n[49]),(0,r(d[8]).useEffect)(Z,$),n[50]!==x||n[51]!==T||n[52]!==u||n[53]!==N||n[54]!==j?(ee={facade:u,bgm:x,debug:T,mySeat:j,gameState:N},n[50]=x,n[51]=T,n[52]=u,n[53]=N,n[54]=j,n[55]=ee):ee=n[55];const te=(0,t.useGameActions)(ee);let oe;n[56]!==x||n[57]!==u?(oe=()=>{(0,r(d[13]).setAlertBlocked)(!1),B(!1),x.startBgmIfEnabled(),u.resumeAfterRejoin()},n[56]=x,n[57]=u,n[58]=oe):oe=n[58];const ae=oe;let se;n[59]===Symbol.for("react.memo_cache_sentinel")?(se=()=>{(0,r(d[13]).setAlertBlocked)(!1),B(!1)},n[59]=se):se=n[59];const re=se;let ie;n[60]!==N||n[61]!==j?(ie=null!==j&&N?N.players.get(j)?.role??null:null,n[60]=N,n[61]=j,n[62]=ie):ie=n[62];const ne=ie,le=N?.status??r(d[12]).GameStatus.Unseated,ce=f&&y;let ue;return n[63]!==te.assignRoles||n[64]!==te.boardNominate||n[65]!==te.boardUpvote||n[66]!==te.boardWithdraw||n[67]!==te.clearAllSeats||n[68]!==te.getCurseInfo||n[69]!==te.getLastNightInfo||n[70]!==te.hasWolfVoted||n[71]!==te.postProgression||n[72]!==te.restartGame||n[73]!==te.sendWolfRobotHunterStatusViewed||n[74]!==te.shareNightReview||n[75]!==te.startGame||n[76]!==te.submitAction||n[77]!==te.submitGroupConfirmAck||n[78]!==te.submitRevealAck||n[79]!==te.viewedRole||n[80]!==x.isBgmPlaying||n[81]!==x.playBgm||n[82]!==x.stopBgm||n[83]!==p.connectionStatus||n[84]!==p.lastStateReceivedAt||n[85]!==T.controlledSeat||n[86]!==T.effectiveRole||n[87]!==T.effectiveSeat||n[88]!==T.fillWithBots||n[89]!==T.isDebugMode||n[90]!==T.markAllBotsGroupConfirmed||n[91]!==T.markAllBotsViewed||n[92]!==T.setControlledSeat||n[93]!==u||n[94]!==N||n[95]!==E||n[96]!==Y.clearLastSeatError||n[97]!==Y.clearNeedsAuth||n[98]!==Y.error||n[99]!==Y.initializeRoom||n[100]!==Y.joinRoom||n[101]!==Y.kickPlayer||n[102]!==Y.lastSeatError||n[103]!==Y.leaveRoom||n[104]!==Y.leaveSeat||n[105]!==Y.leaveSeatWithAck||n[106]!==Y.loading||n[107]!==Y.needsAuth||n[108]!==Y.requestSnapshot||n[109]!==Y.takeSeat||n[110]!==Y.takeSeatWithAck||n[111]!==Q||n[112]!==ne||n[113]!==j||n[114]!==M||n[115]!==J.currentActionRole||n[116]!==J.currentSchema||n[117]!==J.currentSchemaId||n[118]!==J.currentStepId||n[119]!==J.isAudioPlaying||n[120]!==ae||n[121]!==R||n[122]!==le||n[123]!==ce?(ue={facade:u,roomRecord:R,gameState:N,isHost:E,myUserId:M,mySeat:j,myRole:ne,controlledSeat:T.controlledSeat,effectiveSeat:T.effectiveSeat,effectiveRole:T.effectiveRole,setControlledSeat:T.setControlledSeat,isDebugMode:T.isDebugMode,fillWithBots:T.fillWithBots,markAllBotsViewed:T.markAllBotsViewed,markAllBotsGroupConfirmed:T.markAllBotsGroupConfirmed,roomStatus:le,currentActionRole:J.currentActionRole,isAudioPlaying:J.isAudioPlaying,currentSchemaId:J.currentSchemaId,currentSchema:J.currentSchema,currentStepId:J.currentStepId,connectionStatus:p.connectionStatus,manualReconnect:Q,lastStateReceivedAt:p.lastStateReceivedAt,loading:Y.loading,error:Y.error,initializeRoom:Y.initializeRoom,joinRoom:Y.joinRoom,leaveRoom:Y.leaveRoom,takeSeat:Y.takeSeat,leaveSeat:Y.leaveSeat,takeSeatWithAck:Y.takeSeatWithAck,leaveSeatWithAck:Y.leaveSeatWithAck,kickPlayer:Y.kickPlayer,requestSnapshot:Y.requestSnapshot,lastSeatError:Y.lastSeatError,clearLastSeatError:Y.clearLastSeatError,needsAuth:Y.needsAuth,clearNeedsAuth:Y.clearNeedsAuth,assignRoles:te.assignRoles,startGame:te.startGame,restartGame:te.restartGame,clearAllSeats:te.clearAllSeats,shareNightReview:te.shareNightReview,viewedRole:te.viewedRole,submitAction:te.submitAction,submitRevealAck:te.submitRevealAck,submitGroupConfirmAck:te.submitGroupConfirmAck,sendWolfRobotHunterStatusViewed:te.sendWolfRobotHunterStatusViewed,getLastNightInfo:te.getLastNightInfo,getCurseInfo:te.getCurseInfo,hasWolfVoted:te.hasWolfVoted,postProgression:te.postProgression,boardNominate:te.boardNominate,boardUpvote:te.boardUpvote,boardWithdraw:te.boardWithdraw,isBgmPlaying:x.isBgmPlaying,playBgm:x.playBgm,stopBgm:x.stopBgm,resumeAfterRejoin:ae,needsContinueOverlay:ce,dismissContinueOverlay:re},n[63]=te.assignRoles,n[64]=te.boardNominate,n[65]=te.boardUpvote,n[66]=te.boardWithdraw,n[67]=te.clearAllSeats,n[68]=te.getCurseInfo,n[69]=te.getLastNightInfo,n[70]=te.hasWolfVoted,n[71]=te.postProgression,n[72]=te.restartGame,n[73]=te.sendWolfRobotHunterStatusViewed,n[74]=te.shareNightReview,n[75]=te.startGame,n[76]=te.submitAction,n[77]=te.submitGroupConfirmAck,n[78]=te.submitRevealAck,n[79]=te.viewedRole,n[80]=x.isBgmPlaying,n[81]=x.playBgm,n[82]=x.stopBgm,n[83]=p.connectionStatus,n[84]=p.lastStateReceivedAt,n[85]=T.controlledSeat,n[86]=T.effectiveRole,n[87]=T.effectiveSeat,n[88]=T.fillWithBots,n[89]=T.isDebugMode,n[90]=T.markAllBotsGroupConfirmed,n[91]=T.markAllBotsViewed,n[92]=T.setControlledSeat,n[93]=u,n[94]=N,n[95]=E,n[96]=Y.clearLastSeatError,n[97]=Y.clearNeedsAuth,n[98]=Y.error,n[99]=Y.initializeRoom,n[100]=Y.joinRoom,n[101]=Y.kickPlayer,n[102]=Y.lastSeatError,n[103]=Y.leaveRoom,n[104]=Y.leaveSeat,n[105]=Y.leaveSeatWithAck,n[106]=Y.loading,n[107]=Y.needsAuth,n[108]=Y.requestSnapshot,n[109]=Y.takeSeat,n[110]=Y.takeSeatWithAck,n[111]=Q,n[112]=ne,n[113]=j,n[114]=M,n[115]=J.currentActionRole,n[116]=J.currentSchema,n[117]=J.currentSchemaId,n[118]=J.currentStepId,n[119]=J.isAudioPlaying,n[120]=ae,n[121]=R,n[122]=le,n[123]=ce,n[124]=ue):ue=n[124],ue};function l(){}function c(t){r(d[11]).gameRoomLog.warn("Profile sync on reconnect failed",t)}},2118,[2119,2120,2121,1092,1089,1091,1704,1090,36,1857,2122,1061,1904,1074,2125,2126,2127,2128,1858]);
2383
+ __d(function(g,_r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomScreenState=function(c,S){const{roomCode:h,isHost:f=!1,template:R}=c,{gameState:v,isHost:C,mySeat:p,myRole:w,myUserId:b,roomStatus:A,currentActionRole:y,currentSchema:I,currentStepId:P,isAudioPlaying:D,connectionStatus:k,manualReconnect:N,error:G,initializeRoom:L,joinRoom:M,leaveRoom:E,takeSeat:V,leaveSeat:T,assignRoles:U,startGame:H,restartGame:B,clearAllSeats:O,shareNightReview:W,viewedRole:F,submitAction:j,hasWolfVoted:q,getLastNightInfo:x,getCurseInfo:_,lastSeatError:$,clearLastSeatError:z,needsAuth:K,clearNeedsAuth:Q,requestSnapshot:Z,submitRevealAck:J,submitGroupConfirmAck:X,sendWolfRobotHunterStatusViewed:Y,kickPlayer:ee,isDebugMode:te,fillWithBots:oe,markAllBotsViewed:ae,markAllBotsGroupConfirmed:re,controlledSeat:ie,setControlledSeat:se,effectiveSeat:ne,effectiveRole:le,postProgression:ue,boardNominate:de,boardUpvote:ce,boardWithdraw:me,isBgmPlaying:Se,playBgm:ge,stopBgm:he,resumeAfterRejoin:fe,needsContinueOverlay:Re,dismissContinueOverlay:ve}=(0,t.useGameRoom)(),{user:Ce}=(0,_r(d[6]).useAuthContext)(),{data:pe}=(0,_r(d[7]).useUserStatsQuery)(),we=(0,_r(d[8]).useMemo)(()=>{const t=Ce?.equippedEffect;if(!t)return'none';if('none'===t)return'none';if('random'===t){const t=(0,_r(d[9]).getUnlockedRoleRevealEffects)(pe?.unlockedItems??[]);if(0===t.size)return'none';const o=[...t],r=(0,_r(d[10]).resolveRandomAnimation)(h);return o.includes(r)?r:o[0]}return _r(d[10]).RANDOMIZABLE_ANIMATIONS.includes(t)?t:(_r(d[11]).roomScreenLog.warn('Unknown equippedEffect from profile, falling back to none',{effect:t}),'none')},[Ce?.equippedEffect,pe?.unlockedItems,h]),be=(0,_r(d[8]).useMemo)(()=>!!v&&Array.from(v.players.values()).some(t=>t?.isBot),[v]),[Ae,ye]=(0,_r(d[8]).useState)(null),[Ie,Pe]=(0,_r(d[8]).useState)(null),[De,ke]=(0,_r(d[8]).useState)([]),[Ne,Ge]=(0,_r(d[8]).useState)(!1),[Le,Me]=(0,_r(d[8]).useState)(!1),[Ee,Ve]=(0,_r(d[8]).useState)(null),[Te,Ue]=(0,_r(d[8]).useState)('enter'),He=(0,_r(d[12]).useStepDeadlineCountdown)({stepDeadline:v?.stepDeadline,isHost:C,roomStatus:A,postProgression:ue}),{handleDebugTitleTap:Be}=(0,_r(d[13]).useHiddenDebugTrigger)(),Oe=(0,_r(d[14]).useRoomInit)({roomCode:h,isHostParam:f,template:R,initializeRoom:L,joinRoom:M,hasGameState:!!v}),We=(0,_r(d[8]).useRef)(!1);(0,_r(d[8]).useEffect)(()=>{if(!G)return;u.has(G)&&(We.current||(We.current=!0,_r(d[11]).roomScreenLog.debug('Fatal room error, redirecting to Home',{error:G}),(0,_r(d[15]).showErrorAlert)('\u623f\u95f4\u5f02\u5e38',G),S.navigate('Home')))},[G,S]);const Fe=(0,_r(d[8]).useMemo)(()=>{const t=v?.currentNightResults?.wolfVotesBySeat;if(!t)return new Map;const o=new Map;for(const[r,i]of Object.entries(t))o.set(Number.parseInt(r,10),i);return o},[v?.currentNightResults]),{actorSeatForUi:je,actorRoleForUi:qe,isDelegating:xe}=(0,_r(d[16]).useRoomIdentity)({mySeat:p,myRole:w,effectiveSeat:ne,effectiveRole:le,controlledSeat:ie}),{imActioner:_e,showWolves:$e}=(0,_r(d[17]).useActionerState)({actorRole:qe,currentActionRole:y,currentSchema:I,actorSeat:je,wolfVotes:Fe,actions:v?.actions??l,treasureMasterChosenCard:v?.treasureMasterChosenCard,thiefChosenCard:v?.thiefChosenCard});(0,_r(d[8]).useEffect)(()=>{$&&(_r(d[11]).roomScreenLog.warn('Seat error received',{lastSeatError:$}),(0,_r(d[15]).showErrorAlert)('\u5165\u5ea7\u5931\u8d25','\u8be5\u5ea7\u4f4d\u5df2\u88ab\u5360\u7528\uff0c\u8bf7\u9009\u62e9\u5176\u4ed6\u4f4d\u7f6e\u3002'),z())},[$,z]),(0,_r(d[8]).useEffect)(()=>{v&&(A!==_r(d[18]).GameStatus.Unseated&&A!==_r(d[18]).GameStatus.Seated||(_r(d[11]).roomScreenLog.debug('Resetting UI state for restart',{roomStatus:A}),Ge(!1),ye(null),ke([])))},[v,A]),(0,_r(d[8]).useEffect)(()=>{ke([])},[P]);const ze=(0,_r(d[8]).useMemo)(()=>({gameState:v,roomStatus:A,currentActionRole:y,currentSchema:I,imActioner:_e,actorSeat:je,actorRole:qe,isAudioPlaying:D,firstSwapSeat:Ae,multiSelectedSeats:De,countdownTick:He}),[v,A,y,I,_e,je,qe,D,Ae,De,He]),Ke=(0,_r(d[8]).useMemo)(()=>({hasWolfVoted:q,getWolfVoteSummary:()=>v?(0,_r(d[19]).getWolfVoteSummary)((0,_r(d[19]).toGameRoomLike)(v)):'0/0 \u72fc\u4eba\u5df2\u786e\u8ba4',getWitchContext:()=>v?.witchContext??null}),[v,q]),{getActionIntent:Qe,getAutoTriggerIntent:Ze,getWolfStatusLine:Je,getBottomAction:Xe}=(0,_r(d[20]).useRoomActions)(ze,Ke),Ye=(0,_r(d[21]).useRoomDerived)({gameState:v,currentSchema:I,currentActionRole:y,roomStatus:A,actorSeatForUi:je,showWolves:$e,imActioner:_e,firstSwapSeat:Ae,secondSeat:Ie,multiSelectedSeats:De,getWolfStatusLine:Je,effectiveRole:le}),et=(0,_r(d[22]).useRoomActionDialogs)(),tt=(0,_r(d[8]).useCallback)(()=>{_r(d[11]).roomScreenLog.debug('handleLeaveRoomCleanup: calling leaveRoom'),E()},[E]),ot=(0,_r(d[23]).useRoomSeatDialogs)({pendingSeat:Ee,setPendingSeat:Ve,setSeatModalVisible:Me,setModalType:Ue,takeSeat:V,leaveSeat:T,roomStatus:A,navigation:S,onLeaveRoom:tt}),{showEnterSeatDialog:at,showLeaveSeatDialog:rt,handleConfirmSeat:it,handleCancelSeat:st,handleConfirmLeave:nt,handleLeaveRoom:lt,isSeatSubmitting:ut}=ot,[dt,ct]=(0,_r(d[8]).useState)(!1),mt=(0,_r(d[8]).useCallback)(()=>ct(!0),[]),St=(0,_r(d[8]).useCallback)(()=>ct(!1),[]),{handleActionIntent:gt,isActionSubmitting:ht}=(0,i.useActionOrchestrator)({gameState:v,roomStatus:A,currentActionRole:y,currentSchema:I,effectiveSeat:ne,effectiveRole:le,controlledSeat:ie,actorSeatForUi:je,imActioner:_e,isAudioPlaying:D,myUserId:b,needsContinueOverlay:Re,firstSwapSeat:Ae,setFirstSwapSeat:ye,setSecondSeat:Pe,submitAction:j,submitRevealAck:J,sendWolfRobotHunterStatusViewed:Y,submitGroupConfirmAck:X,multiSelectedSeats:De,setMultiSelectedSeats:ke,getAutoTriggerIntent:Ze,actionDialogs:et,openChooseCardModal:mt}),{showPrepareToFlipDialog:ft,showStartGameDialog:Rt,showRestartDialog:vt,handleSettingsPress:Ct,isHostActionSubmitting:pt}=(0,r.useRoomHostDialogs)({gameState:v,assignRoles:U,startGame:H,restartGame:B,setIsStartingGame:Ge,navigation:S,roomCode:h}),wt=(0,_r(d[8]).useMemo)(()=>v?.currentNightResults?v.status!==_r(d[18]).GameStatus.Ended?null:(0,_r(d[24]).buildNightReviewData)(v):null,[v]),bt=(0,_r(d[8]).useRef)(null),[At,yt]=(0,_r(d[8]).useState)(!1),It=(0,_r(d[8]).useRef)(null),Pt=(0,_r(d[8]).useCallback)(async()=>{It.current=null,yt(!0);try{await new Promise(t=>requestAnimationFrame(()=>requestAnimationFrame(t)));const t=await(0,o.captureNightReviewCard)(bt);return It.current=t,t}catch{return null}finally{yt(!1)}},[]),Dt=(0,_r(d[8]).useCallback)(async()=>{if(!wt)return void(0,_r(d[15]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u5f53\u524d\u6682\u65e0\u53ef\u5206\u4eab\u7684\u6218\u62a5');const t=It.current;if((0,_r(d[25]).isMiniProgram)()){try{const t=(0,o.renderNightReviewToCanvas)(wt,h,_r(d[26],"@/theme").colors),r=await(0,_r(d[27],"@/services/feature/ShareImageService").uploadShareImage)(t);await(0,_r(d[25]).wxPreviewImage)(r)}catch(t){_r(d[11]).roomScreenLog.error('Mini program share failed',t),(0,_r(d[15]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u5206\u4eab\u6218\u62a5\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5')}return}if(t){return void('failed'===await(0,o.shareNightReviewReportImage)(()=>Promise.resolve(t),h)&&(0,_r(d[15]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u5206\u4eab\u6218\u62a5\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5'))}const r=await Pt();if(!r)return void(0,_r(d[15]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u751f\u6210\u6218\u62a5\u622a\u56fe\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5');'failed'===await(0,o.shareNightReviewReportImage)(()=>Promise.resolve(r),h)&&(0,_r(d[15]).showErrorAlert)('\u5206\u4eab\u5931\u8d25','\u65e0\u6cd5\u5206\u4eab\u6218\u62a5\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5')},[wt,h,Pt]),{roleCardVisible:kt,shouldPlayRevealAnimation:Nt,isLoadingRole:Gt,setRoleCardVisible:Lt,setShouldPlayRevealAnimation:Mt,setIsLoadingRole:Et,handleRoleCardClose:Vt,skillPreviewRoleId:Tt,handleSkillPreviewOpen:Ut,handleSkillPreviewClose:Ht,nightReviewVisible:Bt,openNightReview:Ot,closeNightReview:Wt,shareReviewVisible:Ft,closeShareReview:jt,handleShareNightReview:qt,showLastNightInfo:xt}=(0,_r(d[28]).useRoomModals)({isHost:C,canShareReport:C||null!==ne&&!0===v?.nightReviewAllowedSeats?.includes(ne),getLastNightInfo:x,getCurseInfo:_,shareNightReview:W,beginReportCapture:Pt,shareNightReviewReport:Dt}),{dispatchInteraction:_t,onSeatTapped:$t,onSeatLongPressed:zt,profileCardVisible:Kt,profileCardTargetUserId:Qt,profileCardTargetSeat:Zt,profileCardRosterName:Jt,profileCardIsSelf:Xt,closeProfileCard:Yt,handleProfileKick:eo,handleProfileLeaveSeat:to}=(0,s.useInteractionDispatcher)({gameState:v,roomStatus:A,isAudioPlaying:D,isHost:C,imActioner:_e,mySeat:p,myRole:w,effectiveSeat:ne,actorSeatForUi:je,actorRoleForUi:qe,isDebugMode:te,controlledSeat:ie,isDelegating:xe,handleActionIntent:gt,getActionIntent:Qe,showEnterSeatDialog:at,showLeaveSeatDialog:rt,leaveSeat:T,setShouldPlayRevealAnimation:Mt,setIsLoadingRole:Et,setRoleCardVisible:Lt,setControlledSeat:se,viewedRole:F,handleLeaveRoom:lt,handleSettingsPress:Ct,showPrepareToFlipDialog:ft,showStartGameDialog:Rt,showRestartDialog:vt,kickPlayer:ee}),{nightProgress:oo}=(0,_r(d[29]).useNightProgress)({currentStepId:P,gameState:v}),ao=(0,n.useSpeakingOrder)({roomStatus:A,isAudioPlaying:D,gameState:v}),ro=(0,_r(d[8]).useMemo)(()=>{if(!v)return null;const t=v.players,o=v.template.numberOfPlayers;if(C)switch(A){case _r(d[18]).GameStatus.Unseated:case _r(d[18]).GameStatus.Seated:{let r=0;for(const o of t.values())null!==o&&r++;return 0===r?'\u7b49\u5f85\u73a9\u5bb6\u5165\u5ea7\uff0c\u6216\u5206\u4eab\u623f\u95f4\u9080\u8bf7\u597d\u53cb':r<o?`\u8fd8\u6709 ${o-r} \u4e2a\u7a7a\u4f4d\u7b49\u5f85\u5165\u5ea7`:'\u5168\u5458\u5df2\u5c31\u4f4d \u2192 \u70b9\u51fb\u4e0b\u65b9\u300c\u5206\u914d\u89d2\u8272\u300d'}case _r(d[18]).GameStatus.Assigned:{let r=0;for(const o of t.values())o&&o.hasViewedRole&&r++;return r<o?`${r}/${o} \u4f4d\u73a9\u5bb6\u5df2\u67e5\u770b\u89d2\u8272\uff0c\u7b49\u5f85\u5269\u4f59\u73a9\u5bb6`:null}case _r(d[18]).GameStatus.Ready:return'\u5168\u5458\u5c31\u7eea \u2192 \u300c\u5f00\u59cb\u5929\u9ed1\u300d\ud83d\udd0a';case _r(d[18]).GameStatus.Ongoing:return null;case _r(d[18]).GameStatus.Ended:return'\u5929\u4eae\u4e86 \u2192\u300c\u6628\u591c\u4fe1\u606f\u300d\u67e5\u770b\u7ed3\u679c\uff0c\u300c\u8be6\u7ec6\u4fe1\u606f\u300d\u67e5\u770b/\u5206\u4eab\u6218\u62a5';default:return null}switch(A){case _r(d[18]).GameStatus.Unseated:case _r(d[18]).GameStatus.Seated:return'\u7b49\u5f85\u6240\u6709\u73a9\u5bb6\u5165\u5ea7';case _r(d[18]).GameStatus.Assigned:{let r=0;for(const o of t.values())o&&o.hasViewedRole&&r++;return r<o?'\u8bf7\u70b9\u51fb\u4f60\u7684\u5934\u50cf\u67e5\u770b\u8eab\u4efd':null}case _r(d[18]).GameStatus.Ready:return'\u51c6\u5907\u5c31\u7eea\uff0c\u7b49\u5f85\u623f\u4e3b\u5f00\u59cb';case _r(d[18]).GameStatus.Ended:{let o=null;for(const[r,i]of t)if(i?.userId===v.hostUserId){o=r;break}return`\u5929\u4eae\u4e86 \u2192 \u6628\u591c\u4fe1\u606f/\u8be6\u7ec6\u4fe1\u606f\u7531${null!==o?`${o+1}\u53f7\u73a9\u5bb6`:'\u623f\u4e3b'}\u64cd\u4f5c`}default:return null}},[C,v,A]),io=(0,_r(d[8]).useRef)(A);(0,_r(d[8]).useEffect)(()=>{const t=io.current;if(void 0!==t&&t!==_r(d[18]).GameStatus.Unseated&&t!==_r(d[18]).GameStatus.Seated&&A===_r(d[18]).GameStatus.Seated){const t=(0,_r(d[30]).getNotepadStorageKey)(v?.roomCode??null);t&&_r(d[31]).storage.remove(t)}io.current=A},[A,v?.roomCode]);const so=(0,_r(d[8]).useCallback)(async t=>{St(),await j(null,{cardIndex:t})},[St,j]),no='thiefChoose'===I?.id,lo=v?.bottomCards,{bottomCardDisabledIndices:uo,bottomCardDisabledHint:co,bottomCardSubtitle:mo}=(0,_r(d[8]).useMemo)(()=>{if(!lo)return{bottomCardDisabledIndices:[],bottomCardDisabledHint:void 0,bottomCardSubtitle:''};const t=lo.map(t=>_r(d[32]).ROLE_SPECS[t]?.faction),o=t.some(t=>t===_r(d[33]).Faction.Wolf);if(no){return{bottomCardDisabledIndices:o?lo.map((t,o)=>o).filter(o=>t[o]!==_r(d[33]).Faction.Wolf):[],bottomCardDisabledHint:o?'\u5fc5\u987b\u9009\u62e9\u72fc\u4eba\u9635\u8425':void 0,bottomCardSubtitle:o?'\u5e95\u724c\u542b\u72fc\u4eba\u9635\u8425':'\u5e95\u724c\u5747\u4e3a\u597d\u4eba\u9635\u8425'}}const r=lo.map((t,o)=>o).filter(o=>t[o]===_r(d[33]).Faction.Wolf);return{bottomCardDisabledIndices:r,bottomCardDisabledHint:r.length>0?'\u4e0d\u53ef\u9009\u62e9\u72fc\u4eba\u9635\u8425':void 0,bottomCardSubtitle:'\u4f60\u7684\u9635\u8425\uff1a\u72fc\u4eba\u9635\u8425'}},[lo,no]);return Object.assign({roomCode:h,template:R,gameState:v,isHost:C,roomStatus:A,currentActionRole:y,currentSchema:I,isAudioPlaying:D,resolvedRoleRevealAnimation:we,connectionStatus:k,gameRoomError:G,effectiveSeat:ne,effectiveRole:le,isDebugMode:te,controlledSeat:ie,hasBots:be,fillWithBots:oe,markAllBotsViewed:ae,markAllBotsGroupConfirmed:re,clearAllSeats:O,requestSnapshot:Z,manualReconnect:N,setControlledSeat:se,boardNominate:de,boardUpvote:ce,boardWithdraw:me,isBgmPlaying:Se,playBgm:ge,stopBgm:he},Oe,{needsAuth:K,clearNeedsAuth:Q},Ye,{nightProgress:oo,speakingOrderText:ao,guideMessage:ro,imActioner:_e,dispatchInteraction:_t,onSeatTapped:$t,onSeatLongPressed:zt,getBottomAction:Xe,handleDebugTitleTap:Be,profileCardVisible:Kt,profileCardTargetUserId:Qt,profileCardTargetSeat:Zt,profileCardRosterName:Jt,profileCardIsSelf:Xt,closeProfileCard:Yt,handleProfileKick:eo,handleProfileLeaveSeat:to,isStartingGame:Ne,isHostActionSubmitting:pt,isActionSubmitting:ht,seatModalVisible:Le,pendingSeat:Ee,modalType:Te,isSeatSubmitting:ut,handleConfirmSeat:it,handleCancelSeat:st,handleConfirmLeave:nt,roleCardVisible:kt,shouldPlayRevealAnimation:Nt,isLoadingRole:Gt,handleRoleCardClose:Vt,skillPreviewRoleId:Tt,handleSkillPreviewOpen:Ut,handleSkillPreviewClose:Ht,resumeAfterRejoin:fe,needsContinueOverlay:Re,dismissContinueOverlay:ve,showLastNightInfo:xt,nightReviewData:wt,nightReviewShareCardRef:bt,isCapturingShareCard:At,nightReviewVisible:Bt,openNightReview:Ot,closeNightReview:Wt,shareReviewVisible:Ft,closeShareReview:jt,shareNightReview:qt,chooseCardModalVisible:dt,closeChooseCardModal:St,handleChooseCard:so,bottomCardDisabledIndices:uo,bottomCardDisabledHint:co,bottomCardSubtitle:mo})};var t=_r(d[0]),o=_r(d[1]),r=_r(d[2]),i=_r(d[3]),s=_r(d[4]),n=_r(d[5]);const l=new Map,u=new Set(['\u623f\u95f4\u4e0d\u5b58\u5728','\u623f\u95f4\u72b6\u6001\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u521b\u5efa\u623f\u95f4'])},2117,[2118,2130,2142,2143,2157,2163,1090,1859,36,2164,2165,1061,2166,2167,2168,1073,2169,2170,1904,2171,2173,2175,2176,2177,2178,1880,1098,2179,2180,2181,2052,1054,1081,1082]);
2384
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"useGameRoom",{enumerable:!0,get:function(){return l}});var t=r(d[0]),o=r(d[1]),s=r(d[2]),n=r(d[3]);const l=()=>{const l=(0,r(d[4]).c)(125),S=(0,r(d[5]).useGameFacade)(),{authService:f}=(0,r(d[6]).useServices)(),A=(0,r(d[7]).useIsFocused)(),{user:R}=(0,r(d[8]).useAuthContext)(),[h,v]=(0,r(d[9]).useState)(null);let b;l[0]!==S||l[1]!==R?(b=()=>{R?.id&&S.updateMyUserId(R.id)},l[0]=S,l[1]=R,l[2]=b):b=l[2];const k=R?.id;let p;l[3]!==S||l[4]!==k?(p=[k,S],l[3]=S,l[4]=k,l[5]=p):p=l[5],(0,r(d[9]).useEffect)(b,p);const y=(0,r(d[10]).useConnectionStatus)(S),[B,C]=(0,r(d[9]).useState)(!1);let P;l[6]!==S||l[7]!==A?(P=t=>A?S.subscribe(t):c,l[6]=S,l[7]=A,l[8]=P):P=l[8];const W=P;let w;l[9]!==S?(w=()=>S.getState(),l[9]=S,l[10]=w):w=l[10];const I=w,G=(0,r(d[9]).useSyncExternalStore)(W,I);let N;l[11]!==G?(N=G?(0,r(d[11]).toLocalState)(G):null,l[11]=G,l[12]=N):N=l[12];const L=N;let E;l[13]!==S||l[14]!==G?(E=null!==G&&S.isHostPlayer(),l[13]=S,l[14]=G,l[15]=E):E=l[15];const V=E;let M;l[16]!==S||l[17]!==G?(M=null!==G?S.getMyUserId():null,l[16]=S,l[17]=G,l[18]=M):M=l[18];const U=M;let j;l[19]!==S||l[20]!==G?(j=null!==G?S.getMySeat():null,l[19]=S,l[20]=G,l[21]=j):j=l[21];const H=j;let D,F;l[22]!==S||l[23]!==A||l[24]!==V||l[25]!==H?(D={facade:S,isHost:V,mySeat:H,isFocused:A},l[22]=S,l[23]=A,l[24]=V,l[25]=H,l[26]=D):D=l[26],(0,o.useLastActionToast)(D),l[27]!==S||l[28]!==A?(F={facade:S,isFocused:A},l[27]=S,l[28]=A,l[29]=F):F=l[29],(0,n.useSettleToast)(F);const{setStateRevision:_,onStateReceived:q,setLastStateReceivedAt:O}=y;let z,x;l[30]!==S||l[31]!==A||l[32]!==q||l[33]!==O||l[34]!==_||l[35]!==G?(z=()=>{A&&(G?(r(d[12]).gameRoomLog.debug("State update from facade",{roomCode:G.roomCode,status:G.status}),_(S.getStateRevision()),q(),S.isHostPlayer()&&G.status===r(d[13]).GameStatus.Ongoing&&S.wasAudioInterrupted&&((0,r(d[14]).setAlertBlocked)(!0),C(!0))):(_(0),O(null)))},x=[A,G,S,_,q,O],l[30]=S,l[31]=A,l[32]=q,l[33]=O,l[34]=_,l[35]=G,l[36]=z,l[37]=x):(z=l[36],x=l[37]),(0,r(d[9]).useEffect)(z,x);const T=(0,r(d[15]).useBgmControl)(V,L?.status??null,L?.isAudioPlaying??!1),J=(0,r(d[16]).useDebugMode)(S,H,L),K=(0,r(d[17]).useNightDerived)(L);let Q;l[38]!==S?(Q=()=>S.manualReconnect(),l[38]=S,l[39]=Q):Q=l[39];const X=Q;let Y;l[40]!==f||l[41]!==S||l[42]!==R?(Y={facade:S,authService:f,user:R,setRoomRecord:v},l[40]=f,l[41]=S,l[42]=R,l[43]=Y):Y=l[43];const Z=(0,s.useRoomLifecycle)(Y);let $,ee,te;l[44]!==y.connectionStatus||l[45]!==S||l[46]!==H||l[47]!==R?($=()=>{if(y.connectionStatus!==r(d[18]).ConnectionStatus.Live)return;if(null===H)return;if(!R)return;const t=R.displayName??void 0;S.updatePlayerProfile(t,R.avatarUrl??void 0,R.avatarFrame??"",R.seatFlair??"",R.nameStyle??"",R.equippedEffect??"",R.seatAnimation??"").catch(u)},ee=[y.connectionStatus,H,S,R],l[44]=y.connectionStatus,l[45]=S,l[46]=H,l[47]=R,l[48]=$,l[49]=ee):($=l[48],ee=l[49]),(0,r(d[9]).useEffect)($,ee),l[50]!==T||l[51]!==J||l[52]!==S||l[53]!==L||l[54]!==H?(te={facade:S,bgm:T,debug:J,mySeat:H,gameState:L},l[50]=T,l[51]=J,l[52]=S,l[53]=L,l[54]=H,l[55]=te):te=l[55];const oe=(0,t.useGameActions)(te);let ae;l[56]!==T||l[57]!==S?(ae=()=>{(0,r(d[14]).setAlertBlocked)(!1),C(!1),T.startBgmIfEnabled(),S.resumeAfterRejoin()},l[56]=T,l[57]=S,l[58]=ae):ae=l[58];const se=ae;let re;l[59]===Symbol.for("react.memo_cache_sentinel")?(re=()=>{(0,r(d[14]).setAlertBlocked)(!1),C(!1)},l[59]=re):re=l[59];const ie=re;let ne;l[60]!==L||l[61]!==H?(ne=null!==H&&L?L.players.get(H)?.role??null:null,l[60]=L,l[61]=H,l[62]=ne):ne=l[62];const le=ne,ce=L?.status??r(d[13]).GameStatus.Unseated,ue=A&&B;let de;return l[63]!==oe.assignRoles||l[64]!==oe.boardNominate||l[65]!==oe.boardUpvote||l[66]!==oe.boardWithdraw||l[67]!==oe.clearAllSeats||l[68]!==oe.getCurseInfo||l[69]!==oe.getLastNightInfo||l[70]!==oe.hasWolfVoted||l[71]!==oe.postProgression||l[72]!==oe.restartGame||l[73]!==oe.sendWolfRobotHunterStatusViewed||l[74]!==oe.shareNightReview||l[75]!==oe.startGame||l[76]!==oe.submitAction||l[77]!==oe.submitGroupConfirmAck||l[78]!==oe.submitRevealAck||l[79]!==oe.viewedRole||l[80]!==T.isBgmPlaying||l[81]!==T.playBgm||l[82]!==T.stopBgm||l[83]!==y.connectionStatus||l[84]!==y.lastStateReceivedAt||l[85]!==J.controlledSeat||l[86]!==J.effectiveRole||l[87]!==J.effectiveSeat||l[88]!==J.fillWithBots||l[89]!==J.isDebugMode||l[90]!==J.markAllBotsGroupConfirmed||l[91]!==J.markAllBotsViewed||l[92]!==J.setControlledSeat||l[93]!==S||l[94]!==L||l[95]!==V||l[96]!==Z.clearLastSeatError||l[97]!==Z.clearNeedsAuth||l[98]!==Z.error||l[99]!==Z.initializeRoom||l[100]!==Z.joinRoom||l[101]!==Z.kickPlayer||l[102]!==Z.lastSeatError||l[103]!==Z.leaveRoom||l[104]!==Z.leaveSeat||l[105]!==Z.leaveSeatWithAck||l[106]!==Z.loading||l[107]!==Z.needsAuth||l[108]!==Z.requestSnapshot||l[109]!==Z.takeSeat||l[110]!==Z.takeSeatWithAck||l[111]!==X||l[112]!==le||l[113]!==H||l[114]!==U||l[115]!==K.currentActionRole||l[116]!==K.currentSchema||l[117]!==K.currentSchemaId||l[118]!==K.currentStepId||l[119]!==K.isAudioPlaying||l[120]!==se||l[121]!==h||l[122]!==ce||l[123]!==ue?(de={facade:S,roomRecord:h,gameState:L,isHost:V,myUserId:U,mySeat:H,myRole:le,controlledSeat:J.controlledSeat,effectiveSeat:J.effectiveSeat,effectiveRole:J.effectiveRole,setControlledSeat:J.setControlledSeat,isDebugMode:J.isDebugMode,fillWithBots:J.fillWithBots,markAllBotsViewed:J.markAllBotsViewed,markAllBotsGroupConfirmed:J.markAllBotsGroupConfirmed,roomStatus:ce,currentActionRole:K.currentActionRole,isAudioPlaying:K.isAudioPlaying,currentSchemaId:K.currentSchemaId,currentSchema:K.currentSchema,currentStepId:K.currentStepId,connectionStatus:y.connectionStatus,manualReconnect:X,lastStateReceivedAt:y.lastStateReceivedAt,loading:Z.loading,error:Z.error,initializeRoom:Z.initializeRoom,joinRoom:Z.joinRoom,leaveRoom:Z.leaveRoom,takeSeat:Z.takeSeat,leaveSeat:Z.leaveSeat,takeSeatWithAck:Z.takeSeatWithAck,leaveSeatWithAck:Z.leaveSeatWithAck,kickPlayer:Z.kickPlayer,requestSnapshot:Z.requestSnapshot,lastSeatError:Z.lastSeatError,clearLastSeatError:Z.clearLastSeatError,needsAuth:Z.needsAuth,clearNeedsAuth:Z.clearNeedsAuth,assignRoles:oe.assignRoles,startGame:oe.startGame,restartGame:oe.restartGame,clearAllSeats:oe.clearAllSeats,shareNightReview:oe.shareNightReview,viewedRole:oe.viewedRole,submitAction:oe.submitAction,submitRevealAck:oe.submitRevealAck,submitGroupConfirmAck:oe.submitGroupConfirmAck,sendWolfRobotHunterStatusViewed:oe.sendWolfRobotHunterStatusViewed,getLastNightInfo:oe.getLastNightInfo,getCurseInfo:oe.getCurseInfo,hasWolfVoted:oe.hasWolfVoted,postProgression:oe.postProgression,boardNominate:oe.boardNominate,boardUpvote:oe.boardUpvote,boardWithdraw:oe.boardWithdraw,isBgmPlaying:T.isBgmPlaying,playBgm:T.playBgm,stopBgm:T.stopBgm,resumeAfterRejoin:se,needsContinueOverlay:ue,dismissContinueOverlay:ie},l[63]=oe.assignRoles,l[64]=oe.boardNominate,l[65]=oe.boardUpvote,l[66]=oe.boardWithdraw,l[67]=oe.clearAllSeats,l[68]=oe.getCurseInfo,l[69]=oe.getLastNightInfo,l[70]=oe.hasWolfVoted,l[71]=oe.postProgression,l[72]=oe.restartGame,l[73]=oe.sendWolfRobotHunterStatusViewed,l[74]=oe.shareNightReview,l[75]=oe.startGame,l[76]=oe.submitAction,l[77]=oe.submitGroupConfirmAck,l[78]=oe.submitRevealAck,l[79]=oe.viewedRole,l[80]=T.isBgmPlaying,l[81]=T.playBgm,l[82]=T.stopBgm,l[83]=y.connectionStatus,l[84]=y.lastStateReceivedAt,l[85]=J.controlledSeat,l[86]=J.effectiveRole,l[87]=J.effectiveSeat,l[88]=J.fillWithBots,l[89]=J.isDebugMode,l[90]=J.markAllBotsGroupConfirmed,l[91]=J.markAllBotsViewed,l[92]=J.setControlledSeat,l[93]=S,l[94]=L,l[95]=V,l[96]=Z.clearLastSeatError,l[97]=Z.clearNeedsAuth,l[98]=Z.error,l[99]=Z.initializeRoom,l[100]=Z.joinRoom,l[101]=Z.kickPlayer,l[102]=Z.lastSeatError,l[103]=Z.leaveRoom,l[104]=Z.leaveSeat,l[105]=Z.leaveSeatWithAck,l[106]=Z.loading,l[107]=Z.needsAuth,l[108]=Z.requestSnapshot,l[109]=Z.takeSeat,l[110]=Z.takeSeatWithAck,l[111]=X,l[112]=le,l[113]=H,l[114]=U,l[115]=K.currentActionRole,l[116]=K.currentSchema,l[117]=K.currentSchemaId,l[118]=K.currentStepId,l[119]=K.isAudioPlaying,l[120]=se,l[121]=h,l[122]=ce,l[123]=ue,l[124]=de):de=l[124],de};function c(){}function u(t){r(d[12]).gameRoomLog.warn("Profile sync on reconnect failed",t)}},2118,[2119,2120,2121,2123,1092,1089,1091,1704,1090,36,1857,2124,1061,1904,1074,2127,2128,2129,1858]);
2385
2385
  __d(function(g,r,i,a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useGameActions=function(c){const l=(0,r(_d[4]).c)(65),{facade:u,bgm:f,debug:R,mySeat:d,gameState:y}=c;let S;l[0]!==u?(S=async t=>{if(!u.isHostPlayer())return;n(await u.updateTemplate(t),"\u66f4\u65b0\u6a21\u677f",s)},l[0]=u,l[1]=S):S=l[1];const w=S;let h;l[2]!==u?(h=async()=>{if(!u.isHostPlayer())return;n(await u.assignRoles(),"\u5206\u914d\u89d2\u8272",s)},l[2]=u,l[3]=h):h=l[3];const v=h;let b;l[4]!==u?(b=async()=>{if(!u.isHostPlayer())return;n(await u.startNight(),"\u5f00\u59cb\u6e38\u620f",s)},l[4]=u,l[5]=b):b=l[5];const p=b;let E;l[6]!==f||l[7]!==R||l[8]!==u?(E=async()=>{if(!u.isHostPlayer())return;f.stopBgm(),R.setControlledSeat(null);n(await u.restartGame(),"\u91cd\u65b0\u5f00\u59cb",s)},l[6]=f,l[7]=R,l[8]=u,l[9]=E):E=l[9];const A=E;let N;l[10]!==u?(N=async()=>{if(!u.isHostPlayer())return;n(await u.clearAllSeats(),"\u5168\u5458\u8d77\u7acb",s)},l[10]=u,l[11]=N):N=l[11];const P=N;let _;l[12]!==u?(_=async t=>{if(!u.isHostPlayer())return;n(await u.shareNightReview(t),"\u5206\u4eab\u8be6\u7ec6\u4fe1\u606f",s)},l[12]=u,l[13]=_):_=l[13];const O=_;let H;l[14]!==u?(H=async t=>u.isHostPlayer()?u.setAudioPlaying(t):{success:!1,reason:"host_only"},l[14]=u,l[15]=H):H=l[15];const T=H;let W;l[16]!==R.controlledSeat||l[17]!==u||l[18]!==d?(W=async()=>{const t=R.controlledSeat??d;if(null===t)return{success:!1,reason:"NO_SEAT"};const o=await u.markViewedRole(t);return n(o,"\u67e5\u770b\u8eab\u4efd",s),o},l[16]=R.controlledSeat,l[17]=u,l[18]=d,l[19]=W):W=l[19];const V=W;let C;l[20]!==R.effectiveRole||l[21]!==R.effectiveSeat||l[22]!==u?(C=async(t,s)=>{const o=R.effectiveSeat,c=R.effectiveRole;if(null===o||!c)return;n(await u.submitAction(o,c,t,s),"\u63d0\u4ea4\u884c\u52a8")},l[20]=R.effectiveRole,l[21]=R.effectiveSeat,l[22]=u,l[23]=C):C=l[23];const G=C;let k;l[24]!==u?(k=async()=>{const t=await u.submitRevealAck();return n(t,"\u786e\u8ba4\u63ed\u793a",s),t},l[24]=u,l[25]=k):k=l[25];const $=k;let D;l[26]!==R.effectiveSeat||l[27]!==u?(D=async()=>{const t=R.effectiveSeat;if(null===t)return{success:!1,reason:"NO_SEAT"};const o=await u.submitGroupConfirmAck(t);return n(o,"\u786e\u8ba4\u50ac\u7720",s),o},l[26]=R.effectiveSeat,l[27]=u,l[28]=D):D=l[28];const j=D;let I;l[29]!==u?(I=async t=>{n(await u.sendWolfRobotHunterStatusViewed(t),"\u786e\u8ba4\u730e\u4eba\u72b6\u6001",s)},l[29]=u,l[30]=I):I=l[30];const K=I;let U;l[31]!==u?(U=async()=>{if(!u.isHostPlayer())return!1;return(await u.postProgression()).success},l[31]=u,l[32]=U):U=l[32];const L=U;let B;l[33]!==u?(B=async(o,c)=>{const l=await u.boardNominate(o,c);l.success&&"DEDUPLICATED"===l.reason?t.toast.info("\u5df2\u6709\u76f8\u540c\u677f\u5b50\u5efa\u8bae\uff0c\u5df2\u81ea\u52a8\u4e3a\u4f60\u6295\u7968"):n(l,"\u63d0\u4ea4\u5efa\u8bae",s)},l[33]=u,l[34]=B):B=l[34];const M=B;let q;l[35]!==u?(q=async t=>{n(await u.boardUpvote(t),"\u70b9\u8d5e",s)},l[35]=u,l[36]=q):q=l[36];const x=q;let z;l[37]!==u?(z=async()=>{n(await u.boardWithdraw(),"\u64a4\u56de\u5efa\u8bae",s)},l[37]=u,l[38]=z):z=l[38];const F=z;let J;l[39]!==y?(J=()=>{if(!y)return"\u65e0\u4fe1\u606f";const t=[],s=y.lastNightDeaths;if(s&&0!==s.length){const n=s.map(o).join(", ");t.push("\u6628\u591c\u6b7b\u4ea1: "+n)}else t.push("\u6628\u591c\u5e73\u5b89\u591c");const n=y.currentNightResults;return null!=n.silencedSeat&&t.push(`${(0,r(_d[5]).formatSeat)(n.silencedSeat)}\u88ab\u7981\u8a00`),null!=n.votebannedSeat&&t.push(`${(0,r(_d[5]).formatSeat)(n.votebannedSeat)}\u88ab\u7981\u7968`),t.join("\n")},l[39]=y,l[40]=J):J=l[40];const Q=J;let X;l[41]!==y?(X=()=>{if(!y)return null;if(!y.template.roles.includes("crow"))return null;const{cursedSeat:t}=y.currentNightResults;return null==t?"\u4e4c\u9e26\u672a\u8bc5\u5492\u4efb\u4f55\u4eba":`${(0,r(_d[5]).formatSeat)(t)}\u88ab\u8bc5\u5492\uff08\u653e\u9010+1\u7968\uff09`},l[41]=y,l[42]=X):X=l[42];const Y=X;let Z;l[43]!==y?(Z=t=>!!y&&y.wolfVotes.has(t),l[43]=y,l[44]=Z):Z=l[44];const tt=Z;let et;l[45]!==v||l[46]!==M||l[47]!==x||l[48]!==F||l[49]!==P||l[50]!==Y||l[51]!==Q||l[52]!==tt||l[53]!==L||l[54]!==A||l[55]!==K||l[56]!==T||l[57]!==O||l[58]!==p||l[59]!==G||l[60]!==j||l[61]!==$||l[62]!==w||l[63]!==V?(et={updateTemplate:w,assignRoles:v,startGame:p,restartGame:A,clearAllSeats:P,shareNightReview:O,setAudioPlaying:T,viewedRole:V,submitAction:G,submitRevealAck:$,submitGroupConfirmAck:j,sendWolfRobotHunterStatusViewed:K,postProgression:L,boardNominate:M,boardUpvote:x,boardWithdraw:F,getLastNightInfo:Q,getCurseInfo:Y,hasWolfVoted:tt},l[45]=v,l[46]=M,l[47]=x,l[48]=F,l[49]=P,l[50]=Y,l[51]=Q,l[52]=tt,l[53]=L,l[54]=A,l[55]=K,l[56]=T,l[57]=O,l[58]=p,l[59]=G,l[60]=j,l[61]=$,l[62]=w,l[63]=V,l[64]=et):et=l[64];return et};var t=r(_d[0]);function s(s,n){t.toast.error(s,{description:n})}function n(t,s,n){if(t.success)return;const{reason:o}=t;'NETWORK_ERROR'!==o&&'SERVER_ERROR'!==o?n?.(`${s}\u5931\u8d25`,(0,r(_d[3]).translateReasonCode)(o)):(0,r(_d[1]).showErrorAlert)(`${s}\u5931\u8d25`,'NETWORK_ERROR'===o?r(_d[2]).NETWORK_ERROR:r(_d[2]).SERVER_ERROR)}function o(t){return(0,r(_d[5]).formatSeat)(t)}},2119,[599,1073,1069,1088,1092,1071]);
2386
2386
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useLastActionToast=function(s){const n=(0,r(d[1]).c)(6),{facade:o,isHost:c,mySeat:u,isFocused:f}=s,l=(0,r(d[2]).useRef)(u);let A,_;n[0]!==o||n[1]!==f||n[2]!==c||n[3]!==u?(A=()=>{if(!f)return;const s=l.current;l.current=u;const n=o.consumeLastAction();if(n&&!c){r(d[3]).gameRoomLog.debug("lastAction consumed",{action:n});t:switch(n){case"KICK_PLAYER":null!==s&&null===u&&t.toast.warning(`\u4f60\u5df2\u88ab\u79fb\u51fa ${s} \u53f7\u5ea7\u4f4d`);break t;case"CLEAR_ALL_SEATS":null!==s&&null===u&&t.toast.warning("\u623f\u4e3b\u5df2\u6e05\u7a7a\u6240\u6709\u5ea7\u4f4d");break t;case"ASSIGN_ROLES":t.toast.info("\u89d2\u8272\u5df2\u5206\u914d\uff0c\u70b9\u51fb\u4f60\u7684\u5ea7\u4f4d\u67e5\u770b");break t;case"START_NIGHT":t.toast.info("\u591c\u5e55\u964d\u4e34\uff0c\u8bf7\u7b49\u5f85\u6307\u793a");break t;case"END_NIGHT":t.toast.info("\u5929\u4eae\u4e86\uff0c\u8bf7\u67e5\u770b\u9876\u90e8\u53d1\u8a00\u987a\u5e8f");break t;case"RESTART_GAME":t.toast.info("\u623f\u4e3b\u5df2\u91cd\u65b0\u5f00\u59cb\u6e38\u620f")}}},_=[o,c,u,f],n[0]=o,n[1]=f,n[2]=c,n[3]=u,n[4]=A,n[5]=_):(A=n[4],_=n[5]);(0,r(d[2]).useEffect)(A,_)};var t=r(d[0])},2120,[599,1092,36,1061]);
2387
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSettleToast=function(t){const s=(0,r(d[2]).c)(5),{facade:o,isFocused:u}=t,l=(0,r(d[3]).useQueryClient)();let c,p;s[0]!==o||s[1]!==u||s[2]!==l?(c=()=>{if(!u)return;return o.addSettleResultListener(t=>{n(t),l.invalidateQueries({queryKey:(0,r(d[4]).gachaStatusOptions)().queryKey}),l.invalidateQueries({queryKey:(0,r(d[4]).userStatsOptions)().queryKey})})},p=[o,u,l],s[0]=o,s[1]=u,s[2]=l,s[3]=c,s[4]=p):(c=s[3],p=s[4]);(0,r(d[5]).useEffect)(c,p)};var t=r(d[0]);function n(n){const s=n.newLevel>n.previousLevel;r(d[1]).gameRoomLog.debug('Settle toast',{xpEarned:n.xpEarned,leveledUp:s}),s&&n.goldenDrawsEarned>0?t.toast.success(`\u5347\u7ea7 Lv.${n.newLevel}\uff01\u83b7\u5f97\u9ec4\u91d1\u62bd\u5956\u5238`,{description:`+${n.xpEarned} XP \xb7 \u83b7\u5f97 ${n.normalDrawsEarned} \u5f20\u62bd\u5956\u5238`,duration:1e4}):s?t.toast.success(`\u5347\u7ea7 Lv.${n.newLevel}\uff01`,{description:`+${n.xpEarned} XP \xb7 \u83b7\u5f97 ${n.normalDrawsEarned} \u5f20\u62bd\u5956\u5238`,duration:1e4}):n.normalDrawsEarned>0?t.toast.info(`+${n.xpEarned} XP \xb7 \u83b7\u5f97 ${n.normalDrawsEarned} \u5f20\u62bd\u5956\u5238`,{duration:1e4}):t.toast.info(`+${n.xpEarned} XP`,{duration:1e4})}},2121,[599,1061,1092,1807,1853,36]);
2388
- __d(function(g,r,i,_a,m,_e,d){"use strict";const e=["players","templateRoles","actions","currentNightResults","lastNightDeaths","status","roster"];Object.defineProperty(_e,'__esModule',{value:!0}),_e.toLocalState=function(t){const{players:a,templateRoles:n,actions:l,currentNightResults:c,lastNightDeaths:u,status:f,roster:p}=t,h=(0,s.default)(t,e),S=new Map;for(const[e,t]of Object.entries(a)){const a=Number.parseInt(e,10);S.set(a,t?o(t,a,p?.[t.userId]):null)}const v=(0,r(d[1]).createTemplateFromRoles)(n),w=new Map,y=l??[],I=e=>y.find(t=>t.schemaId===e),N=r(d[2]).NIGHT_STEPS.filter(e=>'chooseSeat'===r(d[2]).SCHEMAS[e.id]?.kind).map(e=>({schemaId:e.id,roleId:e.roleId}));for(const{schemaId:e,roleId:t}of N){const a=I(e);'number'==typeof a?.targetSeat&&w.set(t,(0,r(d[3]).makeActionTarget)(a.targetSeat))}for(const e of r(d[2]).NIGHT_STEPS)'confirm'===r(d[2]).SCHEMAS[e.id]?.kind&&I(e.id)&&w.set(e.roleId,{kind:'none'});if(c&&Array.isArray(c.swappedSeats)){const[e,t]=c.swappedSeats;'number'==typeof e&&'number'==typeof t&&w.set('magician',(0,r(d[3]).makeActionMagicianSwap)(e,t))}void 0!==c?.savedSeat?w.set('witch',(0,r(d[3]).makeActionWitch)((0,r(d[4]).makeWitchSave)(c.savedSeat))):void 0!==c?.poisonedSeat?w.set('witch',(0,r(d[3]).makeActionWitch)((0,r(d[4]).makeWitchPoison)(c.poisonedSeat))):I('witchAction')&&w.set('witch',(0,r(d[3]).makeActionWitch)((0,r(d[4]).makeWitchNone)()));const A=new Map,k=c?.wolfVotesBySeat;if(k)for(const[e,t]of Object.entries(k))A.set(Number.parseInt(e,10),t);return Object.assign({},h,{status:f,template:v,players:S,lastNightDeaths:u??[],currentNightResults:c??{},actions:w,wolfVotes:A})};var t,a=r(d[0]),s=(t=a)&&t.__esModule?t:{default:t};function o(e,t,a){return{userId:e.userId,seat:t,displayName:a?.displayName,avatarUrl:a?.avatarUrl,avatarFrame:a?.avatarFrame,seatFlair:a?.seatFlair,seatAnimation:a?.seatAnimation,nameStyle:a?.nameStyle,roleRevealEffect:a?.roleRevealEffect,level:a?.level,role:e.role??null,hasViewedRole:e.hasViewedRole,isBot:e.isBot}}},2122,[44,1893,1078,2123,2124]);
2389
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.makeActionTarget=function(t){return{kind:'target',targetSeat:t}},e.makeActionWitch=function(t){return{kind:'witch',witchAction:t}},e.makeActionMagicianSwap=function(t,n){return{kind:'magicianSwap',firstSeat:t,secondSeat:n}}},2123,[]);
2390
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.makeWitchNone=function(){return{kind:'none'}},e.makeWitchSave=function(n){return{kind:'save',targetSeat:n}},e.makeWitchPoison=function(n){return{kind:'poison',targetSeat:n}}},2124,[]);
2391
- __d(function(g,r,i,a,m,_e,d){"use strict";function t(t){if('random'===t)return r(d[0]).BGM_TRACKS.map(t=>t.asset);const e=r(d[0]).BGM_TRACKS.find(e=>e.id===t);return e?[e.asset]:r(d[0]).BGM_TRACKS.map(t=>t.asset)}function e(t){r(d[5]).bgmLog.warn("BGM manual play failed",t)}function n(t){r(d[5]).bgmLog.warn("BGM start failed",t)}function c(t){r(d[5]).bgmLog.warn("BGM start failed after toggle",t)}function s(t){r(d[5]).bgmLog.warn("BGM start failed on state transition",t)}function o(t){r(d[5]).bgmLog.warn("Failed to load BGM settings",t)}Object.defineProperty(_e,'__esModule',{value:!0}),_e.useBgmControl=function(u,l,f){const B=(0,r(d[1]).c)(24),[S,b]=(0,r(d[2]).useState)(!0),[_,G]=(0,r(d[2]).useState)(!1),{settingsService:y,audioService:E}=(0,r(d[3]).useServices)(),h=(0,r(d[2]).useRef)(y),p=(0,r(d[2]).useRef)(E);let M,R,w,T;B[0]!==E||B[1]!==y?(M=()=>{h.current=y,p.current=E},R=[y,E],B[0]=E,B[1]=y,B[2]=M,B[3]=R):(M=B[2],R=B[3]);(0,r(d[2]).useEffect)(M,R),B[4]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{(async()=>{await h.current.load(),b(h.current.isBgmEnabled()),p.current.setBgmVolume(h.current.getBgmVolume()),p.current.setRoleAudioVolume(h.current.getRoleAudioVolume())})().catch(o)},T=[],B[4]=w,B[5]=T):(w=B[4],T=B[5]);(0,r(d[2]).useEffect)(w,T);const A=(0,r(d[2]).useRef)(null);let L,k,v,C,O;B[6]!==l||B[7]!==u?(L=()=>{const e=A.current;if(A.current=l,u&&l===r(d[4]).GameStatus.Ongoing&&null!==e&&e!==r(d[4]).GameStatus.Ongoing){if(h.current.isBgmEnabled()){const e=t(h.current.getBgmTrack());p.current.startBgm(e).catch(s),G(!0)}}},k=[u,l],B[6]=l,B[7]=u,B[8]=L,B[9]=k):(L=B[8],k=B[9]);(0,r(d[2]).useEffect)(L,k),B[10]!==l||B[11]!==f||B[12]!==u?(v=()=>{u&&(l!==r(d[4]).GameStatus.Ended||f||(p.current.stopBgm(),G(!1)))},C=[u,l,f],B[10]=l,B[11]=f,B[12]=u,B[13]=v,B[14]=C):(v=B[13],C=B[14]);(0,r(d[2]).useEffect)(v,C),B[15]!==l?(O=async()=>{const e=await h.current.toggleBgm();if(b(e),e){if(l===r(d[4]).GameStatus.Ongoing){const e=t(h.current.getBgmTrack());p.current.startBgm(e).catch(c),G(!0)}}else p.current.stopBgm(),G(!1)},B[15]=l,B[16]=O):O=B[16];const V=O;let K;B[17]===Symbol.for("react.memo_cache_sentinel")?(K=()=>{if(h.current.isBgmEnabled()){const e=t(h.current.getBgmTrack());p.current.startBgm(e).catch(n),G(!0)}},B[17]=K):K=B[17];const P=K;let j;B[18]===Symbol.for("react.memo_cache_sentinel")?(j=()=>{const n=t(h.current.getBgmTrack());p.current.startBgm(n).catch(e),G(!0)},B[18]=j):j=B[18];const F=j;let I;B[19]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{p.current.stopBgm(),G(!1)},B[19]=I):I=B[19];const q=I;let x;B[20]!==S||B[21]!==_||B[22]!==V?(x={isBgmEnabled:S,isBgmPlaying:_,toggleBgm:V,startBgmIfEnabled:P,playBgm:F,stopBgm:q},B[20]=S,B[21]=_,B[22]=V,B[23]=x):x=B[23];return x}},2125,[1974,1092,36,1091,1904,1061]);
2392
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useDebugMode=function(t,s,l){const o=(0,r(d[0]).c)(17),[n,c]=(0,r(d[1]).useState)(null),u=n??s;let f;o[0]!==u||o[1]!==l?(f=null!==u&&l?l.players.get(u)?.role??null:null,o[0]=u,o[1]=l,o[2]=f):f=o[2];const y=f,_=!0===l?.debugMode?.botsEnabled;let b;o[3]!==t?(b=async()=>{if(!t.isHostPlayer())return{success:!1,reason:"host_only"};if(null!==t.getMySeat())try{await t.leaveSeat()}catch(t){const s=t;return r(d[2]).gameRoomLog.warn("Failed to leave seat before filling bots",s),{success:!1,reason:`failed_to_leave_seat: ${String(s)}`}}return t.fillWithBots()},o[3]=t,o[4]=b):b=o[4];const S=b;let h;o[5]!==t?(h=async()=>t.isHostPlayer()?t.markAllBotsViewed():{success:!1,reason:"host_only"},o[5]=t,o[6]=h):h=o[6];const v=h;let B;o[7]!==t?(B=async()=>t.isHostPlayer()?t.markAllBotsGroupConfirmed():{success:!1,reason:"host_only"},o[7]=t,o[8]=B):B=o[8];const M=B;let k;o[9]!==n||o[10]!==y||o[11]!==u||o[12]!==S||o[13]!==_||o[14]!==M||o[15]!==v?(k={controlledSeat:n,setControlledSeat:c,effectiveSeat:u,effectiveRole:y,isDebugMode:_,fillWithBots:S,markAllBotsViewed:v,markAllBotsGroupConfirmed:M},o[9]=n,o[10]=y,o[11]=u,o[12]=S,o[13]=_,o[14]=M,o[15]=v,o[16]=k):k=o[16];return k}},2126,[1092,36,1061]);
2393
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useNightDerived=function(t){const n=(0,r(d[0]).c)(15);let l;e:{let c;n[0]===Symbol.for("react.memo_cache_sentinel")?(c={currentActionRole:null,currentSchemaId:null},n[0]=c):c=n[0];const u=c;if(!t){l=u;break e}if(t.status!==r(d[1]).GameStatus.Ongoing){l=u;break e}let o;n[1]!==t.seerLabelMap||n[2]!==t.template.roles?(o=(0,r(d[2]).buildNightPlan)(t.template.roles,t.seerLabelMap),n[1]=t.seerLabelMap,n[2]=t.template.roles,n[3]=o):o=n[3];const s=o;if(t.currentStepIndex>=s.steps.length){l=u;break e}const p=s.steps[t.currentStepIndex],S=p.roleId,b=p.stepId;let h;n[4]!==S||n[5]!==b?(h={currentActionRole:S,currentSchemaId:b},n[4]=S,n[5]=b,n[6]=h):h=n[6],l=h}const{currentActionRole:c,currentSchemaId:u}=l;let o;e:{if(!u){o=null;break e}let t;n[7]!==u?(t=(0,r(d[3]).getSchema)(u),n[7]=u,n[8]=t):t=n[8],o=t}const s=o,p=t?.currentStepId??null,S=t?.isAudioPlaying??!1;let b;n[9]!==c||n[10]!==s||n[11]!==u||n[12]!==p||n[13]!==S?(b={currentActionRole:c,currentSchemaId:u,currentSchema:s,currentStepId:p,isAudioPlaying:S},n[9]=c,n[10]=s,n[11]=u,n[12]=p,n[13]=S,n[14]=b):b=n[14];return b}},2127,[1092,1904,1077,1078]);
2394
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useRoomLifecycle=function(e){const{facade:t,authService:o,user:s,setRoomRecord:l}=e,n=(0,r(d[0]).useQueryClient)(),{mutateAsync:c}=(0,r(d[1]).useJoinRoom)(),[u,y]=(0,r(d[2]).useState)(!1),[h,b]=(0,r(d[2]).useState)(null),[R,k]=(0,r(d[2]).useState)(!1),[S,v]=(0,r(d[2]).useState)(null),f=(0,r(d[2]).useCallback)(async(e,s)=>{y(!0),b(null);try{await o.waitForInit();const n=o.getCurrentUserId();return n?(l({roomCode:e,hostUserId:n,createdAt:new Date}),await t.createRoom(e,n,s),!0):(r(d[3]).gameRoomLog.info('initializeRoom: No userId, requesting auth'),k(!0),!1)}catch(e){if(e instanceof r(d[4]).SupersededError)return r(d[3]).gameRoomLog.debug('initializeRoom: Superseded by retry, ignoring'),!1;const t=(0,r(d[5]).getErrorMessage)(e,'\u623f\u95f4\u521d\u59cb\u5316\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5');return(0,r(d[6]).handleError)(e,{label:'\u623f\u95f4\u521d\u59cb\u5316',logger:r(d[3]).gameRoomLog,alertTitle:!1,isExpected:e=>e instanceof Error&&e.message.includes('channel closed before subscribe')}),b(t),!1}finally{y(!1)}},[t,o,l]),E=(0,r(d[2]).useCallback)(async e=>{y(!0),b(null);try{await o.waitForInit();const s=o.getCurrentUserId();if(!s)return r(d[3]).gameRoomLog.info('joinRoom: No userId, requesting auth'),k(!0),!1;const n=await c(e);if(!n)return b('\u623f\u95f4\u4e0d\u5b58\u5728'),r(d[7]).storage.remove(r(d[8]).LAST_ROOM_CODE_KEY),!1;if(l(n),n.hostUserId===s){r(d[3]).gameRoomLog.debug('Host rejoin detected, attempting recovery');const o=await t.joinRoom(e,s,!0);return o.success?(r(d[3]).gameRoomLog.debug('Host rejoin successful'),!0):(r(d[3]).gameRoomLog.error('Host rejoin failed',{reason:o.reason}),b('\u623f\u95f4\u72b6\u6001\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u521b\u5efa\u623f\u95f4'),!1)}return await t.joinRoom(e,s,!1),!0}catch(e){if(e instanceof r(d[4]).SupersededError)return r(d[3]).gameRoomLog.debug('joinRoom: Superseded by retry, ignoring'),!1;const t=(0,r(d[5]).getErrorMessage)(e,'\u52a0\u5165\u623f\u95f4\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5');return(0,r(d[6]).handleError)(e,{label:'\u52a0\u5165\u623f\u95f4',logger:r(d[3]).gameRoomLog,alertTitle:!1,isExpected:e=>e instanceof Error&&e.message.includes('channel closed before subscribe')}),b(t),!1}finally{y(!1)}},[t,o,c,l]),p=(0,r(d[2]).useCallback)(async()=>{try{await t.leaveRoom(),l(null)}catch(e){(0,r(d[6]).handleError)(e,{label:'\u79bb\u5f00\u623f\u95f4',logger:r(d[3]).gameRoomLog,alertTitle:!1})}},[t,l]),L=(0,r(d[2]).useCallback)(async e=>{try{const l=s?.displayName??o.generateDisplayName(),c=await n.ensureQueryData((0,r(d[9],"@/hooks/queries/queryOptions").userStatsOptions)()).then(e=>e.level).catch(()=>{});return await t.takeSeat(e,l,s?.avatarUrl??void 0,s?.avatarFrame??void 0,s?.seatFlair??void 0,s?.nameStyle??void 0,c,s?.equippedEffect??void 0,s?.seatAnimation??void 0)}catch(e){return(0,r(d[6]).handleError)(e,{label:'\u5165\u5ea7',logger:r(d[3]).gameRoomLog,alertTitle:'\u5165\u5ea7\u5931\u8d25'}),!1}},[t,o,s,n]),w=(0,r(d[2]).useCallback)(async()=>{try{await t.leaveSeat()}catch(e){(0,r(d[6]).handleError)(e,{label:'\u79bb\u5ea7',logger:r(d[3]).gameRoomLog,alertTitle:'\u79bb\u5ea7\u5931\u8d25'})}},[t]),C=(0,r(d[2]).useCallback)(async e=>{try{const l=s?.displayName??o.generateDisplayName(),c=await n.ensureQueryData((0,r(d[9],"@/hooks/queries/queryOptions").userStatsOptions)()).then(e=>e.level).catch(()=>{}),u=await t.takeSeatWithAck(e,l,s?.avatarUrl??void 0,s?.avatarFrame??void 0,s?.seatFlair??void 0,s?.nameStyle??void 0,c,s?.equippedEffect??void 0,s?.seatAnimation??void 0);return u.success||'seat_taken'!==u.reason||v({seat:e,reason:'seat_taken'}),u}catch(e){return(0,r(d[6]).handleError)(e,{label:'\u5165\u5ea7(ack)',logger:r(d[3]).gameRoomLog,alertTitle:!1}),{success:!1,reason:String(e)}}},[t,o,s,n]),A=(0,r(d[2]).useCallback)(async()=>{try{return await t.leaveSeatWithAck()}catch(e){return(0,r(d[6]).handleError)(e,{label:'\u79bb\u5ea7(ack)',logger:r(d[3]).gameRoomLog,alertTitle:!1}),{success:!1,reason:String(e)}}},[t]),T=(0,r(d[2]).useCallback)(async e=>{try{return await t.kickPlayer(e)}catch(e){return(0,r(d[6]).handleError)(e,{label:'\u79fb\u51fa\u5ea7\u4f4d',logger:r(d[3]).gameRoomLog,alertTitle:'\u79fb\u51fa\u5931\u8d25'}),{success:!1,reason:String(e)}}},[t]),j=(0,r(d[2]).useCallback)(async()=>{try{return await t.fetchStateFromDB()}catch(e){return(0,r(d[6]).handleError)(e,{label:'\u540c\u6b65\u72b6\u6001',logger:r(d[3]).gameRoomLog,alertTitle:!1}),!1}},[t]),q=(0,r(d[2]).useCallback)(()=>{v(null)},[]),_=(0,r(d[2]).useCallback)(()=>{k(!1)},[]);return{loading:u,error:h,needsAuth:R,clearNeedsAuth:_,lastSeatError:S,clearLastSeatError:q,initializeRoom:f,joinRoom:E,leaveRoom:p,takeSeat:L,leaveSeat:w,takeSeatWithAck:C,leaveSeatWithAck:A,kickPlayer:T,requestSnapshot:j}}},2128,[1807,1905,36,1061,2129,1088,1903,1054,1877,1853]);
2395
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ConnectionState",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"SupersededError",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"DEFAULT_MAX_ATTEMPTS",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"PING_INTERVAL_MS",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"PONG_TIMEOUT_MS",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"REVISION_POLL_BASE_MS",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"REVISION_POLL_MAX_MS",{enumerable:!0,get:function(){return f}});let n=(function(n){return n.Idle="Idle",n.Connecting="Connecting",n.Syncing="Syncing",n.Connected="Connected",n.Disconnected="Disconnected",n.Reconnecting="Reconnecting",n.Failed="Failed",n.Disposed="Disposed",n})({});class t extends Error{constructor(){super('Superseded by new connectAndWait'),this.name='SupersededError'}}const c=15,o=25e3,u=1e4,s=5e3,f=6e4},2129,[]);
2387
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useRoomLifecycle=function(o){const{facade:t,authService:s,user:n,setRoomRecord:c}=o,l=(0,r(d[1]).useQueryClient)(),{mutateAsync:u}=(0,r(d[2]).useJoinRoom)(),[h,y]=(0,r(d[3]).useState)(!1),[b,k]=(0,r(d[3]).useState)(null),[f,R]=(0,r(d[3]).useState)(!1),[v,S]=(0,r(d[3]).useState)(null),p=(0,r(d[3]).useCallback)(async(o,n)=>{y(!0),k(null);try{await s.waitForInit();const e=s.getCurrentUserId();return e?(c({roomCode:o,hostUserId:e,createdAt:new Date}),await t.createRoom(o,e,n),{success:!0}):(r(d[4]).gameRoomLog.info('initializeRoom: No userId, requesting auth'),R(!0),{success:!1,error:'needs_auth'})}catch(o){if(o instanceof r(d[5]).SupersededError)return r(d[4]).gameRoomLog.debug('initializeRoom: Superseded by retry, ignoring'),{success:!1,error:'superseded'};const t=(0,r(d[6]).getErrorMessage)(o,'\u623f\u95f4\u521d\u59cb\u5316\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5');return(0,e.handleError)(o,{label:'\u623f\u95f4\u521d\u59cb\u5316',logger:r(d[4]).gameRoomLog,feedback:!1,isExpected:e=>e instanceof Error&&e.message.includes('channel closed before subscribe')}),k(t),{success:!1,error:t}}finally{y(!1)}},[t,s,c]),E=(0,r(d[3]).useCallback)(async o=>{y(!0),k(null);try{await s.waitForInit();const e=s.getCurrentUserId();if(!e)return r(d[4]).gameRoomLog.info('joinRoom: No userId, requesting auth'),R(!0),{success:!1,error:'needs_auth'};const n=await u(o);if(!n){const e='\u623f\u95f4\u4e0d\u5b58\u5728';return k(e),r(d[7]).storage.remove(r(d[8]).LAST_ROOM_CODE_KEY),{success:!1,error:e}}if(c(n),n.hostUserId===e){r(d[4]).gameRoomLog.debug('Host rejoin detected, attempting recovery');const s=await t.joinRoom(o,e,!0);if(!s.success){const e='\u623f\u95f4\u72b6\u6001\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u521b\u5efa\u623f\u95f4';return r(d[4]).gameRoomLog.error('Host rejoin failed',{reason:s.reason}),k(e),{success:!1,error:e}}return r(d[4]).gameRoomLog.debug('Host rejoin successful'),{success:!0}}return await t.joinRoom(o,e,!1),{success:!0}}catch(o){if(o instanceof r(d[5]).SupersededError)return r(d[4]).gameRoomLog.debug('joinRoom: Superseded by retry, ignoring'),{success:!1,error:'superseded'};const t=(0,r(d[6]).getErrorMessage)(o,'\u52a0\u5165\u623f\u95f4\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5');return(0,e.handleError)(o,{label:'\u52a0\u5165\u623f\u95f4',logger:r(d[4]).gameRoomLog,feedback:!1,isExpected:e=>e instanceof Error&&e.message.includes('channel closed before subscribe')}),k(t),{success:!1,error:t}}finally{y(!1)}},[t,s,u,c]),L=(0,r(d[3]).useCallback)(async()=>{try{await t.leaveRoom(),c(null)}catch(o){(0,e.handleError)(o,{label:'\u79bb\u5f00\u623f\u95f4',logger:r(d[4]).gameRoomLog,feedback:!1})}},[t,c]),w=(0,r(d[3]).useCallback)(async o=>{try{const e=n?.displayName??s.generateDisplayName(),c=await l.ensureQueryData((0,r(d[9],"@/hooks/queries/queryOptions").userStatsOptions)()).then(e=>e.level).catch(()=>{});return await t.takeSeat(o,e,n?.avatarUrl??void 0,n?.avatarFrame??void 0,n?.seatFlair??void 0,n?.nameStyle??void 0,c,n?.equippedEffect??void 0,n?.seatAnimation??void 0)}catch(o){return(0,e.handleError)(o,{label:'\u5165\u5ea7',logger:r(d[4]).gameRoomLog}),!1}},[t,s,n,l]),C=(0,r(d[3]).useCallback)(async()=>{try{await t.leaveSeat()}catch(o){(0,e.handleError)(o,{label:'\u79bb\u5ea7',logger:r(d[4]).gameRoomLog})}},[t]),A=(0,r(d[3]).useCallback)(async o=>{try{const e=n?.displayName??s.generateDisplayName(),c=await l.ensureQueryData((0,r(d[9],"@/hooks/queries/queryOptions").userStatsOptions)()).then(e=>e.level).catch(()=>{}),u=await t.takeSeatWithAck(o,e,n?.avatarUrl??void 0,n?.avatarFrame??void 0,n?.seatFlair??void 0,n?.nameStyle??void 0,c,n?.equippedEffect??void 0,n?.seatAnimation??void 0);return u.success||'seat_taken'!==u.reason||S({seat:o,reason:'seat_taken'}),u}catch(o){return(0,e.handleError)(o,{label:'\u5165\u5ea7(ack)',logger:r(d[4]).gameRoomLog,feedback:!1}),{success:!1,reason:String(o)}}},[t,s,n,l]),_=(0,r(d[3]).useCallback)(async()=>{try{return await t.leaveSeatWithAck()}catch(o){return(0,e.handleError)(o,{label:'\u79bb\u5ea7(ack)',logger:r(d[4]).gameRoomLog,feedback:!1}),{success:!1,reason:String(o)}}},[t]),j=(0,r(d[3]).useCallback)(async o=>{try{return await t.kickPlayer(o)}catch(o){return(0,e.handleError)(o,{label:'\u79fb\u51fa',logger:r(d[4]).gameRoomLog}),{success:!1,reason:String(o)}}},[t]),q=(0,r(d[3]).useCallback)(async()=>{try{return await t.fetchStateFromDB()}catch(o){return(0,e.handleError)(o,{label:'\u540c\u6b65\u72b6\u6001',logger:r(d[4]).gameRoomLog,feedback:!1}),!1}},[t]),I=(0,r(d[3]).useCallback)(()=>{S(null)},[]),O=(0,r(d[3]).useCallback)(()=>{R(!1)},[]);return{loading:h,error:b,needsAuth:f,clearNeedsAuth:O,lastSeatError:v,clearLastSeatError:I,initializeRoom:p,joinRoom:E,leaveRoom:L,takeSeat:w,leaveSeat:C,takeSeatWithAck:A,leaveSeatWithAck:_,kickPlayer:j,requestSnapshot:q}};var e=r(d[0])},2121,[1903,1807,1905,36,1061,2122,1088,1054,1877,1853]);
2388
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ConnectionState",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"SupersededError",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"DEFAULT_MAX_ATTEMPTS",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"PING_INTERVAL_MS",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"PONG_TIMEOUT_MS",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"REVISION_POLL_BASE_MS",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"REVISION_POLL_MAX_MS",{enumerable:!0,get:function(){return f}});let n=(function(n){return n.Idle="Idle",n.Connecting="Connecting",n.Syncing="Syncing",n.Connected="Connected",n.Disconnected="Disconnected",n.Reconnecting="Reconnecting",n.Failed="Failed",n.Disposed="Disposed",n})({});class t extends Error{constructor(){super('Superseded by new connectAndWait'),this.name='SupersededError'}}const c=15,o=25e3,u=1e4,s=5e3,f=6e4},2122,[]);
2389
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSettleToast=function(t){const s=(0,r(d[2]).c)(5),{facade:o,isFocused:u}=t,l=(0,r(d[3]).useQueryClient)();let c,p;s[0]!==o||s[1]!==u||s[2]!==l?(c=()=>{if(!u)return;return o.addSettleResultListener(t=>{n(t),l.invalidateQueries({queryKey:(0,r(d[4]).gachaStatusOptions)().queryKey}),l.invalidateQueries({queryKey:(0,r(d[4]).userStatsOptions)().queryKey})})},p=[o,u,l],s[0]=o,s[1]=u,s[2]=l,s[3]=c,s[4]=p):(c=s[3],p=s[4]);(0,r(d[5]).useEffect)(c,p)};var t=r(d[0]);function n(n){const s=n.newLevel>n.previousLevel;r(d[1]).gameRoomLog.debug('Settle toast',{xpEarned:n.xpEarned,leveledUp:s}),s&&n.goldenDrawsEarned>0?t.toast.success(`\u5347\u7ea7 Lv.${n.newLevel}\uff01\u83b7\u5f97\u9ec4\u91d1\u62bd\u5956\u5238`,{description:`+${n.xpEarned} XP \xb7 \u83b7\u5f97 ${n.normalDrawsEarned} \u5f20\u62bd\u5956\u5238`,duration:1e4}):s?t.toast.success(`\u5347\u7ea7 Lv.${n.newLevel}\uff01`,{description:`+${n.xpEarned} XP \xb7 \u83b7\u5f97 ${n.normalDrawsEarned} \u5f20\u62bd\u5956\u5238`,duration:1e4}):n.normalDrawsEarned>0?t.toast.info(`+${n.xpEarned} XP \xb7 \u83b7\u5f97 ${n.normalDrawsEarned} \u5f20\u62bd\u5956\u5238`,{duration:1e4}):t.toast.info(`+${n.xpEarned} XP`,{duration:1e4})}},2123,[599,1061,1092,1807,1853,36]);
2390
+ __d(function(g,r,i,_a,m,_e,d){"use strict";const e=["players","templateRoles","actions","currentNightResults","lastNightDeaths","status","roster"];Object.defineProperty(_e,'__esModule',{value:!0}),_e.toLocalState=function(t){const{players:a,templateRoles:n,actions:l,currentNightResults:c,lastNightDeaths:u,status:f,roster:p}=t,h=(0,s.default)(t,e),S=new Map;for(const[e,t]of Object.entries(a)){const a=Number.parseInt(e,10);S.set(a,t?o(t,a,p?.[t.userId]):null)}const v=(0,r(d[1]).createTemplateFromRoles)(n),w=new Map,y=l??[],I=e=>y.find(t=>t.schemaId===e),N=r(d[2]).NIGHT_STEPS.filter(e=>'chooseSeat'===r(d[2]).SCHEMAS[e.id]?.kind).map(e=>({schemaId:e.id,roleId:e.roleId}));for(const{schemaId:e,roleId:t}of N){const a=I(e);'number'==typeof a?.targetSeat&&w.set(t,(0,r(d[3]).makeActionTarget)(a.targetSeat))}for(const e of r(d[2]).NIGHT_STEPS)'confirm'===r(d[2]).SCHEMAS[e.id]?.kind&&I(e.id)&&w.set(e.roleId,{kind:'none'});if(c&&Array.isArray(c.swappedSeats)){const[e,t]=c.swappedSeats;'number'==typeof e&&'number'==typeof t&&w.set('magician',(0,r(d[3]).makeActionMagicianSwap)(e,t))}void 0!==c?.savedSeat?w.set('witch',(0,r(d[3]).makeActionWitch)((0,r(d[4]).makeWitchSave)(c.savedSeat))):void 0!==c?.poisonedSeat?w.set('witch',(0,r(d[3]).makeActionWitch)((0,r(d[4]).makeWitchPoison)(c.poisonedSeat))):I('witchAction')&&w.set('witch',(0,r(d[3]).makeActionWitch)((0,r(d[4]).makeWitchNone)()));const A=new Map,k=c?.wolfVotesBySeat;if(k)for(const[e,t]of Object.entries(k))A.set(Number.parseInt(e,10),t);return Object.assign({},h,{status:f,template:v,players:S,lastNightDeaths:u??[],currentNightResults:c??{},actions:w,wolfVotes:A})};var t,a=r(d[0]),s=(t=a)&&t.__esModule?t:{default:t};function o(e,t,a){return{userId:e.userId,seat:t,displayName:a?.displayName,avatarUrl:a?.avatarUrl,avatarFrame:a?.avatarFrame,seatFlair:a?.seatFlair,seatAnimation:a?.seatAnimation,nameStyle:a?.nameStyle,roleRevealEffect:a?.roleRevealEffect,level:a?.level,role:e.role??null,hasViewedRole:e.hasViewedRole,isBot:e.isBot}}},2124,[44,1893,1078,2125,2126]);
2391
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.makeActionTarget=function(t){return{kind:'target',targetSeat:t}},e.makeActionWitch=function(t){return{kind:'witch',witchAction:t}},e.makeActionMagicianSwap=function(t,n){return{kind:'magicianSwap',firstSeat:t,secondSeat:n}}},2125,[]);
2392
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.makeWitchNone=function(){return{kind:'none'}},e.makeWitchSave=function(n){return{kind:'save',targetSeat:n}},e.makeWitchPoison=function(n){return{kind:'poison',targetSeat:n}}},2126,[]);
2393
+ __d(function(g,r,i,a,m,_e,d){"use strict";function t(t){if('random'===t)return r(d[0]).BGM_TRACKS.map(t=>t.asset);const e=r(d[0]).BGM_TRACKS.find(e=>e.id===t);return e?[e.asset]:r(d[0]).BGM_TRACKS.map(t=>t.asset)}function e(t){r(d[5]).bgmLog.warn("BGM manual play failed",t)}function n(t){r(d[5]).bgmLog.warn("BGM start failed",t)}function c(t){r(d[5]).bgmLog.warn("BGM start failed after toggle",t)}function s(t){r(d[5]).bgmLog.warn("BGM start failed on state transition",t)}function o(t){r(d[5]).bgmLog.warn("Failed to load BGM settings",t)}Object.defineProperty(_e,'__esModule',{value:!0}),_e.useBgmControl=function(u,l,f){const B=(0,r(d[1]).c)(24),[S,b]=(0,r(d[2]).useState)(!0),[_,G]=(0,r(d[2]).useState)(!1),{settingsService:y,audioService:E}=(0,r(d[3]).useServices)(),h=(0,r(d[2]).useRef)(y),p=(0,r(d[2]).useRef)(E);let M,R,w,T;B[0]!==E||B[1]!==y?(M=()=>{h.current=y,p.current=E},R=[y,E],B[0]=E,B[1]=y,B[2]=M,B[3]=R):(M=B[2],R=B[3]);(0,r(d[2]).useEffect)(M,R),B[4]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{(async()=>{await h.current.load(),b(h.current.isBgmEnabled()),p.current.setBgmVolume(h.current.getBgmVolume()),p.current.setRoleAudioVolume(h.current.getRoleAudioVolume())})().catch(o)},T=[],B[4]=w,B[5]=T):(w=B[4],T=B[5]);(0,r(d[2]).useEffect)(w,T);const A=(0,r(d[2]).useRef)(null);let L,k,v,C,O;B[6]!==l||B[7]!==u?(L=()=>{const e=A.current;if(A.current=l,u&&l===r(d[4]).GameStatus.Ongoing&&null!==e&&e!==r(d[4]).GameStatus.Ongoing){if(h.current.isBgmEnabled()){const e=t(h.current.getBgmTrack());p.current.startBgm(e).catch(s),G(!0)}}},k=[u,l],B[6]=l,B[7]=u,B[8]=L,B[9]=k):(L=B[8],k=B[9]);(0,r(d[2]).useEffect)(L,k),B[10]!==l||B[11]!==f||B[12]!==u?(v=()=>{u&&(l!==r(d[4]).GameStatus.Ended||f||(p.current.stopBgm(),G(!1)))},C=[u,l,f],B[10]=l,B[11]=f,B[12]=u,B[13]=v,B[14]=C):(v=B[13],C=B[14]);(0,r(d[2]).useEffect)(v,C),B[15]!==l?(O=async()=>{const e=await h.current.toggleBgm();if(b(e),e){if(l===r(d[4]).GameStatus.Ongoing){const e=t(h.current.getBgmTrack());p.current.startBgm(e).catch(c),G(!0)}}else p.current.stopBgm(),G(!1)},B[15]=l,B[16]=O):O=B[16];const V=O;let K;B[17]===Symbol.for("react.memo_cache_sentinel")?(K=()=>{if(h.current.isBgmEnabled()){const e=t(h.current.getBgmTrack());p.current.startBgm(e).catch(n),G(!0)}},B[17]=K):K=B[17];const P=K;let j;B[18]===Symbol.for("react.memo_cache_sentinel")?(j=()=>{const n=t(h.current.getBgmTrack());p.current.startBgm(n).catch(e),G(!0)},B[18]=j):j=B[18];const F=j;let I;B[19]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{p.current.stopBgm(),G(!1)},B[19]=I):I=B[19];const q=I;let x;B[20]!==S||B[21]!==_||B[22]!==V?(x={isBgmEnabled:S,isBgmPlaying:_,toggleBgm:V,startBgmIfEnabled:P,playBgm:F,stopBgm:q},B[20]=S,B[21]=_,B[22]=V,B[23]=x):x=B[23];return x}},2127,[1974,1092,36,1091,1904,1061]);
2394
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useDebugMode=function(t,s,l){const o=(0,r(d[0]).c)(17),[n,c]=(0,r(d[1]).useState)(null),u=n??s;let f;o[0]!==u||o[1]!==l?(f=null!==u&&l?l.players.get(u)?.role??null:null,o[0]=u,o[1]=l,o[2]=f):f=o[2];const y=f,_=!0===l?.debugMode?.botsEnabled;let b;o[3]!==t?(b=async()=>{if(!t.isHostPlayer())return{success:!1,reason:"host_only"};if(null!==t.getMySeat())try{await t.leaveSeat()}catch(t){const s=t;return r(d[2]).gameRoomLog.warn("Failed to leave seat before filling bots",s),{success:!1,reason:`failed_to_leave_seat: ${String(s)}`}}return t.fillWithBots()},o[3]=t,o[4]=b):b=o[4];const S=b;let h;o[5]!==t?(h=async()=>t.isHostPlayer()?t.markAllBotsViewed():{success:!1,reason:"host_only"},o[5]=t,o[6]=h):h=o[6];const v=h;let B;o[7]!==t?(B=async()=>t.isHostPlayer()?t.markAllBotsGroupConfirmed():{success:!1,reason:"host_only"},o[7]=t,o[8]=B):B=o[8];const M=B;let k;o[9]!==n||o[10]!==y||o[11]!==u||o[12]!==S||o[13]!==_||o[14]!==M||o[15]!==v?(k={controlledSeat:n,setControlledSeat:c,effectiveSeat:u,effectiveRole:y,isDebugMode:_,fillWithBots:S,markAllBotsViewed:v,markAllBotsGroupConfirmed:M},o[9]=n,o[10]=y,o[11]=u,o[12]=S,o[13]=_,o[14]=M,o[15]=v,o[16]=k):k=o[16];return k}},2128,[1092,36,1061]);
2395
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useNightDerived=function(t){const n=(0,r(d[0]).c)(15);let l;e:{let c;n[0]===Symbol.for("react.memo_cache_sentinel")?(c={currentActionRole:null,currentSchemaId:null},n[0]=c):c=n[0];const u=c;if(!t){l=u;break e}if(t.status!==r(d[1]).GameStatus.Ongoing){l=u;break e}let o;n[1]!==t.seerLabelMap||n[2]!==t.template.roles?(o=(0,r(d[2]).buildNightPlan)(t.template.roles,t.seerLabelMap),n[1]=t.seerLabelMap,n[2]=t.template.roles,n[3]=o):o=n[3];const s=o;if(t.currentStepIndex>=s.steps.length){l=u;break e}const p=s.steps[t.currentStepIndex],S=p.roleId,b=p.stepId;let h;n[4]!==S||n[5]!==b?(h={currentActionRole:S,currentSchemaId:b},n[4]=S,n[5]=b,n[6]=h):h=n[6],l=h}const{currentActionRole:c,currentSchemaId:u}=l;let o;e:{if(!u){o=null;break e}let t;n[7]!==u?(t=(0,r(d[3]).getSchema)(u),n[7]=u,n[8]=t):t=n[8],o=t}const s=o,p=t?.currentStepId??null,S=t?.isAudioPlaying??!1;let b;n[9]!==c||n[10]!==s||n[11]!==u||n[12]!==p||n[13]!==S?(b={currentActionRole:c,currentSchemaId:u,currentSchema:s,currentStepId:p,isAudioPlaying:S},n[9]=c,n[10]=s,n[11]=u,n[12]=p,n[13]=S,n[14]=b):b=n[14];return b}},2129,[1092,1904,1077,1078]);
2396
2396
  __d(function(g,_r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.renderNightReviewToCanvas=function(e,n,o){const r='undefined'!=typeof window?window.devicePixelRatio??2:2,c=t.default.get('window').width,f=Math.round(.88*c),p=_r(d[2]).spacing.large,u=f-2*p,y={title:_r(d[2]).typography.subtitle,section:_r(d[2]).typography.body,line:_r(d[2]).typography.secondary},h={title:_r(d[2]).typography.lineHeights.subtitle,section:_r(d[2]).typography.lineHeights.body,line:_r(d[2]).typography.lineHeights.secondary},x=document.createElement('canvas').getContext('2d');let w=p;w+=h.title+_r(d[2]).spacing.medium,w+=h.line+_r(d[2]).spacing.medium,w+=h.section+_r(d[2]).spacing.small,x.font=`${y.line}px system-ui, -apple-system, sans-serif`;const T=[];for(const t of e.actionLines){const e=l(x,t,u-_r(d[2]).spacing.small);T.push(e),w+=e.length*h.line}w+=2*_r(d[2]).spacing.medium+1,w+=h.section+_r(d[2]).spacing.small;const b=[];for(const t of e.identityLines){const e=l(x,t,u-_r(d[2]).spacing.small);b.push(e),w+=e.length*h.line}w+=p;const v=document.createElement('canvas');v.width=Math.round(f*r),v.height=Math.round(w*r);const $=v.getContext('2d');$.scale(r,r),s($,0,0,f,w,_r(d[2]).borderRadius.large),$.fillStyle=o.surface,$.fill(),$.strokeStyle=o.border,$.lineWidth=1,$.stroke();let S=p;$.font=`bold ${y.title}px system-ui, -apple-system, sans-serif`,$.fillStyle=o.text,$.textAlign='center',$.textBaseline='middle',$.fillText(`\u623f\u95f4 ${n} \u6218\u62a5`,f/2,S+h.title/2),S+=h.title+_r(d[2]).spacing.medium,$.font=`${y.line}px system-ui, -apple-system, sans-serif`,$.fillStyle=o.textSecondary,$.fillText('\u26a0 \u4ec5\u4f9b\u88c1\u5224\u53ca\u89c2\u6218\u8005\u53c2\u8003',f/2,S+h.line/2),S+=h.line+_r(d[2]).spacing.medium,$.font=`600 ${y.section}px system-ui, -apple-system, sans-serif`,$.fillStyle=o.primary,$.textAlign='left',$.fillText('\u884c\u52a8\u6458\u8981',p,S+h.section/2),S+=h.section+_r(d[2]).spacing.small,$.font=`${y.line}px system-ui, -apple-system, sans-serif`,$.fillStyle=o.text;for(const e of T)for(const t of e)$.fillText(t,p+_r(d[2]).spacing.small,S+h.line/2),S+=h.line;S+=_r(d[2]).spacing.medium,$.beginPath(),$.moveTo(p,S),$.lineTo(f-p,S),$.strokeStyle=o.border,$.lineWidth=1,$.stroke(),S+=1+_r(d[2]).spacing.medium,$.font=`600 ${y.section}px system-ui, -apple-system, sans-serif`,$.fillStyle=o.primary,$.fillText('\u5168\u5458\u8eab\u4efd',p,S+h.section/2),S+=h.section+_r(d[2]).spacing.small,$.font=`${y.line}px system-ui, -apple-system, sans-serif`,$.fillStyle=o.text;for(const e of b)for(const t of e)$.fillText(t,p+_r(d[2]).spacing.small,S+h.line/2),S+=h.line;const R=v.toDataURL('image/png'),C='base64,',_=R.indexOf(C);return _>=0?R.slice(_+7):R},_e.captureNightReviewCard=async function(e){{var t,n;const s=(await(t=_r(d[4])(d[3],d.paths),_r(d[4]),n=t,_r(d[4]),n)).default,l=e.current;if(!l)throw new Error('Night review share card ref not ready');const o=(await s(l,{backgroundColor:null})).toDataURL('image/png'),r='base64,',c=o.indexOf(r);return c>=0?o.slice(c+r.length):o}},_e.shareNightReviewReportImage=async function(e,t){try{return await(0,n.shareImageBase64)(e,`room-${t}-review.png`,`\u72fc\u4eba\u6740\u623f\u95f4 ${t} \u6218\u62a5`),'shared'}catch(e){return o(e)?'cancelled':(_r(d[6]).log.warn('Share night review failed',e),'failed')}};var e,t=(e=_r(d[0]))&&e.__esModule?e:{default:e},n=_r(d[1]);function s(e,t,n,s,l,o){e.beginPath(),e.moveTo(t+o,n),e.lineTo(t+s-o,n),e.arcTo(t+s,n,t+s,n+o,o),e.lineTo(t+s,n+l-o),e.arcTo(t+s,n+l,t+s-o,n+l,o),e.lineTo(t+o,n+l),e.arcTo(t,n+l,t,n+l-o,o),e.lineTo(t,n+o),e.arcTo(t,n,t+o,n,o),e.closePath()}function l(e,t,n){const s=[];let l=t;for(;l.length>0;){let t=l.length;for(;e.measureText(l.slice(0,t)).width>n&&t>1;)t--;s.push(l.slice(0,t)),l=l.slice(t)}return s}function o(e){if(!(e instanceof Error))return!1;const t=`${e.name} ${e.message}`.toLowerCase();return t.includes('abort')||t.includes('cancel')||t.includes('dismiss')}},2130,{"0":498,"1":2131,"2":1098,"3":2108,"4":2104,"5":2106,"6":1061,"paths":{}});
2397
2397
  __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.shareImageBase64=async function(n,t,i){r(d[1]).shareLog.debug('shareImageBase64',{filename:t});const c=await n();return void await o(c,t,i)};r(d[0]);function n(n,t){const o=atob(n),i=new Uint8Array(o.length);for(let n=0;n<o.length;n++)i[n]=o.charCodeAt(n);return new globalThis.File([i],t,{type:'image/png'})}function t(n,t){const o=document.createElement('a');o.href=`data:image/png;base64,${n}`,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o)}async function o(o,i,c){if('undefined'!=typeof navigator&&navigator.share){const s={title:c,files:[n(o,i)]};try{return void await navigator.share(s)}catch(n){if(n instanceof DOMException){if('AbortError'===n.name)return;if('NotAllowedError'===n.name)return void t(o,i)}if(n instanceof TypeError)return void t(o,i);throw n}}t(o,i)}},2131,[2132,1061,2135]);
2398
2398
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"shareAsync",{enumerable:!0,get:function(){return n.shareAsync}});var n=r(d[0])},2132,[2133]);
@@ -2405,46 +2405,46 @@ __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule'
2405
2405
  __d(function(g,r,_i,a,m,e,d){"use strict";function t(t){return'/'===t}function n(n,l,i){let c='',f=0,o=-1,h=0,s='';for(let u=0;u<=n.length;++u){if(u<n.length)s=n.charAt(u);else{if(t(s))break;s='/'}if(t(s)){if(o===u-1||1===h);else if(2===h){if(c.length<2||2!==f||'.'!==c.charAt(c.length-1)||'.'!==c.charAt(c.length-2)){if(c.length>2){const t=c.lastIndexOf(i);-1===t?(c='',f=0):(c=c.slice(0,t),f=c.length-1-c.lastIndexOf(i)),o=u,h=0;continue}if(0!==c.length){c='',f=0,o=u,h=0;continue}}l&&(c+=c.length>0?`${i}..`:'..',f=2)}else c.length>0?c+=`${i}${n.slice(o+1,u)}`:c=n.slice(o+1,u),f=u-o-1;o=u,h=0}else'.'===s&&-1!==h?++h:h=-1}return c}function l(...t){let l='',i=!1;for(let n=t.length-1;n>=-1&&!i;n--){const c=n>=0?t[n]:'';c&&0!==c.length&&(l=`${c}/${l}`,i=!(!c||'/'!==c.charAt(0)))}return l=n(l,!i,'/'),i?`/${l}`:l.length>0?l:'.'}function i(t){if(0===t.length)return'.';const l='/'===t.charAt(0),i='/'===t.charAt(t.length-1);return 0===(t=n(t,!l,'/')).length?l?'/':i?'./':'.':(i&&(t+='/'),l?`/${t}`:t)}Object.defineProperty(e,'__esModule',{value:!0}),e.format=function(t,n){const l=n.dir||n.root,i=n.base||`${n.name||''}${c=n.ext,c?`${'.'===c[0]?'':'.'}${c}`:''}`;var c;if(!l)return i;return l===n.root?`${l}${i}`:`${l}${t}${i}`},e.resolve=l,e.normalize=i,e.isAbsolute=function(t){return t.length>0&&'/'===t.charAt(0)},e.join=function(...t){if(0===t.length)return'.';const n=[];for(let l=0;l<t.length;++l){const i=t[l];i&&i.length>0&&n.push(i)}return 0===n.length?'.':i(n.join('/'))},e.relative=function(t,n){if(t===n)return'';if(t=l(t),n=l(n),t===n)return'';const i=t.length,c=i-1,f=n.length-1,o=c<f?c:f;let h=-1,s=0;for(;s<o;s++){const l=t.charAt(1+s);if(l!==n.charAt(1+s))break;'/'===l&&(h=s)}if(s===o)if(f>o){if('/'===n.charAt(1+s))return n.slice(1+s+1);if(0===s)return n.slice(1+s)}else c>o&&('/'===t.charAt(1+s)?h=s:0===s&&(h=0));let u='';for(s=1+h+1;s<=i;++s)s!==i&&'/'!==t.charAt(s)||(u+=0===u.length?'..':'/..');return`${u}${n.slice(1+h)}`},e.toNamespacedPath=function(t){return t},e.dirname=function(t){if(0===t.length)return'.';const n='/'===t.charAt(0);let l=-1,i=!0;for(let n=t.length-1;n>=1;--n)if('/'===t.charAt(n)){if(!i){l=n;break}}else i=!1;return-1===l?n?'/':'.':n&&1===l?'//':t.slice(0,l)},e.basename=function(t,n){let l=0,i=-1,c=!0;if(void 0!==n&&n.length>0&&n.length<=t.length){if(n===t)return'';let f=n.length-1,o=-1;for(let h=t.length-1;h>=0;--h){const s=t.charAt(h);if('/'===s){if(!c){l=h+1;break}}else-1===o&&(c=!1,o=h+1),f>=0&&(s===n.charAt(f)?-1===--f&&(i=h):(f=-1,i=o))}return l===i?i=o:-1===i&&(i=t.length),t.slice(l,i)}for(let n=t.length-1;n>=0;--n)if('/'===t.charAt(n)){if(!c){l=n+1;break}}else-1===i&&(c=!1,i=n+1);return-1===i?'':t.slice(l,i)},e.extname=function(t){let n=-1,l=0,i=-1,c=!0,f=0;for(let o=t.length-1;o>=0;--o){const h=t.charAt(o);if('/'!==h)-1===i&&(c=!1,i=o+1),'.'===h?-1===n?n=o:1!==f&&(f=1):-1!==n&&(f=-1);else if(!c){l=o+1;break}}if(-1===n||-1===i||0===f||1===f&&n===i-1&&n===l+1)return'';return t.slice(n,i)},e.parse=function(t){const n={root:'',dir:'',base:'',ext:'',name:''};if(0===t.length)return n;const l='/'===t.charAt(0);let i;l?(n.root='/',i=1):i=0;let c=-1,f=0,o=-1,h=!0,s=t.length-1,u=0;for(;s>=i;--s){const n=t.charAt(s);if('/'!==n)-1===o&&(h=!1,o=s+1),'.'===n?-1===c?c=s:1!==u&&(u=1):-1!==c&&(u=-1);else if(!h){f=s+1;break}}if(-1!==o){const i=0===f&&l?1:f;-1===c||0===u||1===u&&c===o-1&&c===f+1?n.base=n.name=t.slice(i,o):(n.name=t.slice(i,c),n.base=t.slice(i,o),n.ext=t.slice(c,o))}f>0?n.dir=t.slice(0,f-1):l&&(n.dir='/');return n},Object.defineProperty(e,"sep",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"delimiter",{enumerable:!0,get:function(){return f}});const c='/',f=':'},2139,[]);
2406
2406
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.encodeURLChars=function(n){let t=(0,r(d[0]).resolve)(n);'/'===n.charAt(n.length-1)&&t[t.length-1]!==r(d[0]).sep&&(t+='/');t=p(t),-1!==t.indexOf('?')&&(t=t.replace(f,'%3F'));-1!==t.indexOf('#')&&(t=t.replace(o,'%23'));return t},e.isUrl=function(n){try{return!!new URL(n)}catch(n){return!1}},e.asUrl=function(n){try{const t=new URL(n);return t.hash='',t}catch(n){return null}};const n=/%/g,t=/\\/g,c=/\n/g,l=/\r/g,u=/\t/g,f=/\?/g,o=/#/g,s=/ /g;function p(f){return-1!==f.indexOf('%')&&(f=f.replace(n,'%25')),-1!==f.indexOf('\\')&&(f=f.replace(t,'%5C')),-1!==f.indexOf('\n')&&(f=f.replace(c,'%0A')),-1!==f.indexOf('\r')&&(f=f.replace(l,'%0D')),-1!==f.indexOf('\t')&&(f=f.replace(u,'%09')),-1!==f.indexOf(' ')&&(f=f.replace(s,'%20')),f}},2140,[2139]);
2407
2407
  __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"FileSystemReadableStreamSource",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"FileSystemWritableSink",{enumerable:!0,get:function(){return s}});class t{size=1024;type='bytes';constructor(t){this.handle=t}cancel(){this.handle.close()}pull(t){const s=t.byobRequest?.view;if(!s){const s=this.handle.readBytes(this.size);return 0===s.length?void t.close():void t.enqueue(s)}const n=this.handle.readBytes(s.byteLength-s.byteOffset);if(0===n.length)return t.close(),void t.byobRequest.respond(0);if(s instanceof Uint8Array)s.set(n,s.byteOffset);else{const t=new Uint8Array(s.buffer);for(let i=0;i<n.length;i++)t[i+(s.byteOffset??0)]=n[i]}t.byobRequest.respond(n.length)}}class s{constructor(t){this.handle=t}abort(){this.close()}close(){this.handle.close()}write(t){this.handle.writeBytes(t)}}},2141,[]);
2408
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useInteractionDispatcher=function(h){const p=(0,r(d[1]).c)(73),{gameState:L,roomStatus:T,isAudioPlaying:v,isHost:I,imActioner:A,mySeat:y,myRole:f,actorSeatForUi:E,actorRoleForUi:O,effectiveSeat:R,isDebugMode:_,controlledSeat:b,isDelegating:P,handleActionIntent:w,getActionIntent:C,showEnterSeatDialog:N,showLeaveSeatDialog:k,handleLeaveRoom:D,leaveSeat:F,viewedRole:U,handleSettingsPress:K,showPrepareToFlipDialog:G,showStartGameDialog:V,showRestartDialog:W,setControlledSeat:B,kickPlayer:H,setRoleCardVisible:M,setShouldPlayRevealAnimation:$,setIsLoadingRole:j}=h,[x,q]=(0,r(d[2]).useState)(!1),[z,J]=(0,r(d[2]).useState)(""),[Q,X]=(0,r(d[2]).useState)(0),[Y,Z]=(0,r(d[2]).useState)(""),[ee,te]=(0,r(d[2]).useState)(!1);let ae;p[0]===Symbol.for("react.memo_cache_sentinel")?(ae=()=>{q(!1)},p[0]=ae):ae=p[0];const oe=ae,re=T===r(d[3]).GameStatus.Unseated||T===r(d[3]).GameStatus.Seated;let ne;p[1]!==re||p[2]!==H?(ne=re?t=>{r(d[4]).roomScreenLog.debug("handleProfileKick",{seat:t}),q(!1),H(t).catch(S)}:void 0,p[1]=re,p[2]=H,p[3]=ne):ne=p[3];const ie=ne;let se;p[4]!==re||p[5]!==F?(se=re?t=>{r(d[4]).roomScreenLog.debug("handleProfileLeaveSeat",{seat:t}),q(!1),F().catch(u)}:void 0,p[4]=re,p[5]=F,p[6]=se):se=p[6];const ce=se,le=(0,r(d[2]).useRef)(0),de=(0,r(d[2]).useRef)(0);let ge;p[7]!==y||p[8]!==N||p[9]!==k?(ge=t=>{const o=Date.now();o-le.current<300||(le.current=o,null!==y&&t===y?k(t):N(t))},p[7]=y,p[8]=N,p[9]=k,p[10]=ge):ge=p[10];const ue=ge;let Se;p[11]!==C||p[12]!==w?(Se=t=>{const o=C(t);r(d[4]).roomScreenLog.debug("handleActionTap",{seat:t,intentType:o?.type??null}),o&&w(o).catch(l)},p[11]=C,p[12]=w,p[13]=Se):Se=p[13];const he=Se,me=(0,r(d[5]).usePendingAcks)(),pe=!!L;let Le,Te,ve,Ie;p[14]!==L?(Le=()=>L?Array.from(L.players.entries()).filter(c).map(s):[],Te=t=>!!L&&null!=L.players.get(t),p[14]=L,p[15]=Le,p[16]=Te):(Le=p[15],Te=p[16]);p[17]!==L?.players?(ve=t=>L?.players.get(t)?.userId,p[17]=L?.players,p[18]=ve):ve=p[18];p[19]!==O||p[20]!==E||p[21]!==b||p[22]!==me||p[23]!==A||p[24]!==v||p[25]!==_||p[26]!==P||p[27]!==I||p[28]!==f||p[29]!==y||p[30]!==T||p[31]!==pe||p[32]!==Le||p[33]!==Te||p[34]!==ve?(Ie={roomStatus:T,hasGameState:pe,isAudioPlaying:v,hasPendingAck:me,isHost:I,imActioner:A,mySeat:y,myRole:f,actorSeatForUi:E,actorRoleForUi:O,isDebugMode:_,controlledSeat:b,isDelegating:P,getBotSeats:Le,isSeatOccupied:Te,getPlayerUid:ve},p[19]=O,p[20]=E,p[21]=b,p[22]=me,p[23]=A,p[24]=v,p[25]=_,p[26]=P,p[27]=I,p[28]=f,p[29]=y,p[30]=T,p[31]=pe,p[32]=Le,p[33]=Te,p[34]=ve,p[35]=Ie):Ie=p[35];const Ae=Ie;let ye;p[36]!==R||p[37]!==L?.players||p[38]!==w||p[39]!==he||p[40]!==D||p[41]!==ue||p[42]!==K||p[43]!==Ae||p[44]!==H||p[45]!==y||p[46]!==B||p[47]!==j||p[48]!==M||p[49]!==$||p[50]!==N||p[51]!==k||p[52]!==G||p[53]!==W||p[54]!==V||p[55]!==U?(ye=s=>{const c=(0,r(d[6]).getInteractionResult)(Ae,s);switch(c.kind){case"NOOP":if(r(d[4]).roomScreenLog.debug("dispatchInteraction NOOP",{reason:c.reason,event:s.kind}),"audio_playing"===c.reason){const o=Date.now();o-de.current>=3e3&&(de.current=o,t.toast.info("\u8bed\u97f3\u64ad\u62a5\u4e2d\uff0c\u8bf7\u7a0d\u5019"))}return;case"ALERT":return r(d[4]).roomScreenLog.debug("dispatchInteraction ALERT",{title:c.title}),void(0,r(d[7]).showDismissAlert)(c.title,c.message);case"SHOW_DIALOG":switch(c.dialogType){case"seatingEnter":return void(void 0!==c.seat&&N(c.seat));case"seatingLeave":return void(void 0!==c.seat&&k(c.seat));case"roleCard":{const t=null===R?null:L?.players.get(R);return void(t?.hasViewedRole??!1?($(!1),M(!0)):(j(!0),M(!0),(async()=>{try{if(!(await U()).success)return M(!1),void j(!1);$(!0),j(!1)}catch(t){const o=t;(0,r(d[8]).handleError)(o,{label:"\u67e5\u770b\u89d2\u8272",logger:r(d[4]).roomScreenLog,alertTitle:!1}),M(!1),j(!1)}})()))}case"leaveRoom":return r(d[4]).roomScreenLog.debug("dispatchInteraction Show leaveRoom dialog"),void D();default:{const t=c.dialogType;return void r(d[4]).roomScreenLog.warn("dispatchInteraction Unhandled dialogType",t)}}case"SEATING_FLOW":return r(d[4]).roomScreenLog.debug("dispatchInteraction SEATING_FLOW",{seat:c.seat}),void ue(c.seat);case"ACTION_FLOW":return r(d[4]).roomScreenLog.debug("dispatchInteraction ACTION_FLOW",{seat:c.seat,hasIntent:!!c.intent,isAudioPlaying:Ae.isAudioPlaying,imActioner:Ae.imActioner}),void(c.intent?w(c.intent).catch(n):void 0!==c.seat&&he(c.seat));case"HOST_CONTROL":switch(r(d[4]).roomScreenLog.debug("dispatchInteraction HOST_CONTROL",{action:c.action}),c.action){case"settings":return void K();case"prepareToFlip":return void G();case"startGame":return void V();case"restart":return void W();default:{const t=c.action;return void r(d[4]).roomScreenLog.warn("dispatchInteraction Unhandled host action",t)}}case"TAKEOVER_BOT_SEAT":return r(d[4]).roomScreenLog.debug("dispatchInteraction TAKEOVER_BOT_SEAT",{seat:c.seat}),void B(c.seat);case"RELEASE_BOT_SEAT":return r(d[4]).roomScreenLog.debug("dispatchInteraction RELEASE_BOT_SEAT"),void B(null);case"KICK_CONFIRM":{const t=c.seat,n=L?.players.get(t),s=n?.displayName??`${t+1}\u53f7\u5ea7\u4f4d`;return r(d[4]).roomScreenLog.debug("dispatchInteraction KICK_CONFIRM",{seat:t}),void(0,r(d[7]).showDestructiveAlert)("\u79fb\u51fa\u5ea7\u4f4d",`\u786e\u5b9a\u8981\u5c06 ${s} \u79fb\u51fa\u5ea7\u4f4d\u5417\uff1f`,"\u79fb\u51fa",()=>{H(t).catch(o)})}case"VIEW_PROFILE":{const t=L?.players.get(c.seat),o=c.seat===y;return r(d[4]).roomScreenLog.debug("dispatchInteraction VIEW_PROFILE",{seat:c.seat,targetUserId:c.targetUserId,rosterName:t?.displayName,isSelf:o}),J(c.targetUserId),X(c.seat),Z(t?.displayName??""),te(o),void q(!0)}default:{const t=c;return void r(d[4]).roomScreenLog.warn("dispatchInteraction Unhandled result kind",t)}}},p[36]=R,p[37]=L?.players,p[38]=w,p[39]=he,p[40]=D,p[41]=ue,p[42]=K,p[43]=Ae,p[44]=H,p[45]=y,p[46]=B,p[47]=j,p[48]=M,p[49]=$,p[50]=N,p[51]=k,p[52]=G,p[53]=W,p[54]=V,p[55]=U,p[56]=ye):ye=p[56];const fe=ye;let Ee;p[57]!==fe?(Ee=(t,o)=>{fe({kind:"SEAT_TAP",seat:t,disabledReason:o})},p[57]=fe,p[58]=Ee):Ee=p[58];const Oe=Ee;let Re;p[59]!==fe?(Re=t=>{fe({kind:"TAKEOVER_BOT_SEAT",seat:t})},p[59]=fe,p[60]=Re):Re=p[60];const _e=Re;let be;p[61]!==fe||p[62]!==ie||p[63]!==ce||p[64]!==Ae||p[65]!==_e||p[66]!==Oe||p[67]!==ee||p[68]!==Y||p[69]!==Q||p[70]!==z||p[71]!==x?(be={dispatchInteraction:fe,onSeatTapped:Oe,onSeatLongPressed:_e,interactionContext:Ae,profileCardVisible:x,profileCardTargetUserId:z,profileCardTargetSeat:Q,profileCardRosterName:Y,profileCardIsSelf:ee,closeProfileCard:oe,handleProfileKick:ie,handleProfileLeaveSeat:ce},p[61]=fe,p[62]=ie,p[63]=ce,p[64]=Ae,p[65]=_e,p[66]=Oe,p[67]=ee,p[68]=Y,p[69]=Q,p[70]=z,p[71]=x,p[72]=be):be=p[72];return be};var t=r(d[0]);function o(t){(0,r(d[8]).handleError)(t,{label:"kickPlayer",logger:r(d[4]).roomScreenLog,alertTitle:"\u79fb\u51fa\u5931\u8d25"})}function n(t){(0,r(d[8]).handleError)(t,{label:"ACTION_FLOW",logger:r(d[4]).roomScreenLog,alertTitle:!1})}function s(t){const[o]=t;return o}function c(t){const[,o]=t;return o?.isBot}function l(t){(0,r(d[8]).handleError)(t,{label:"handleActionTap",logger:r(d[4]).roomScreenLog,alertTitle:!1})}function u(t){(0,r(d[8]).handleError)(t,{label:"leaveSeat",logger:r(d[4]).roomScreenLog,alertTitle:"\u79bb\u5ea7\u5931\u8d25"})}function S(t){(0,r(d[8]).handleError)(t,{label:"kickPlayer",logger:r(d[4]).roomScreenLog,alertTitle:"\u79fb\u51fa\u5931\u8d25"})}},2142,[599,1092,36,1904,1061,2143,2144,1073,1903]);
2409
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"usePendingAcks",{enumerable:!0,get:function(){return t}});const t=()=>{const t=(0,r(d[0]).c)(1);let n;return t[0]===Symbol.for("react.memo_cache_sentinel")?(n={mutationKey:["ack"]},t[0]=n):n=t[0],(0,r(d[1]).useIsMutating)(n)>0}},2143,[1092,1807]);
2410
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"getActorIdentity",{enumerable:!0,get:function(){return r(d[0]).getActorIdentity}}),Object.defineProperty(e,"isActorIdentityValid",{enumerable:!0,get:function(){return r(d[0]).isActorIdentityValid}}),Object.defineProperty(e,"getInteractionResult",{enumerable:!0,get:function(){return r(d[1]).getInteractionResult}})},2144,[2145,2146]);
2411
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getActorIdentity=function(t){const{mySeat:o,myRole:l,effectiveSeat:n,effectiveRole:c,controlledSeat:u}=t;if(null===u)return{actorSeatForUi:o,actorRoleForUi:l,isDelegating:!1};if(n!==u)return{actorSeatForUi:null,actorRoleForUi:null,isDelegating:!0};return{actorSeatForUi:n,actorRoleForUi:c,isDelegating:!0}},e.isActorIdentityValid=function(t){return null!==t.actorSeatForUi&&null!==t.actorRoleForUi}},2145,[]);
2412
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getInteractionResult=function(t,S){const E=n(t,S);if(E)return E;const A=s(t);if(A)return A;const T=o(t,S);if(T)return T;switch(S.kind){case'SEAT_TAP':return u(t,S);case'BOTTOM_ACTION':return O(t,S);case'HOST_CONTROL':return c(t,S);case'VIEW_ROLE':return l(t);case'LEAVE_ROOM':return{kind:'SHOW_DIALOG',dialogType:'leaveRoom'};case'TAKEOVER_BOT_SEAT':return _(t,S);default:return{kind:'NOOP',reason:'other_status'}}};const t=new Set(['LEAVE_ROOM','VIEW_ROLE']);function n(n,s){return t.has(s.kind)?null:n.roomStatus===r(d[0]).GameStatus.Ongoing&&n.isAudioPlaying?{kind:'NOOP',reason:'audio_playing'}:null}function s(t){return t.hasGameState?null:{kind:'NOOP',reason:'no_game_state'}}function o(t,n){return t.roomStatus!==r(d[0]).GameStatus.Ongoing?null:t.hasPendingAck&&'LEAVE_ROOM'!==n.kind?{kind:'NOOP',reason:'pending_ack'}:null}function u(t,n){const s=n.seat===t.mySeat,o=s?void 0:t.getPlayerUid?.(n.seat),u=s?t.getPlayerUid?.(n.seat):void 0,O=(0,r(d[1]).getSeatTapResult)({roomStatus:t.roomStatus,isAudioPlaying:t.isAudioPlaying,seat:n.seat,disabledReason:n.disabledReason,imActioner:t.imActioner,hasGameState:t.hasGameState,isSeatOccupiedByOther:!s&&(t.isSeatOccupied?.(n.seat)??!1),targetUserId:o,isSelfSeated:s&&null!==t.mySeat,myUserId:u});switch(O.kind){case'NOOP':return{kind:'NOOP',reason:O.reason};case'ALERT':return{kind:'ALERT',title:O.title,message:O.message};case'SEATING_FLOW':return{kind:'SEATING_FLOW',seat:O.seat};case'ACTION_FLOW':return{kind:'ACTION_FLOW',seat:O.seat};case'VIEW_PROFILE':return{kind:'VIEW_PROFILE',seat:O.seat,targetUserId:O.targetUserId}}}function O(t,n){return t.roomStatus!==r(d[0]).GameStatus.Ongoing||t.imActioner?{kind:'ACTION_FLOW',intent:n.intent}:{kind:'NOOP',reason:'not_actioner'}}function c(t,n){if(!t.isHost)return{kind:'NOOP',reason:'host_only'};return['settings','prepareToFlip','startGame','restart'].includes(n.action)?{kind:'HOST_CONTROL',action:n.action}:{kind:'NOOP',reason:'other_status'}}function l(t){return t.actorRoleForUi??t.myRole?{kind:'SHOW_DIALOG',dialogType:'roleCard'}:{kind:'NOOP',reason:'no_role'}}function _(t,n){if(!t.isHost)return{kind:'NOOP',reason:'host_only'};if(!t.isDebugMode)return{kind:'NOOP',reason:'other_status'};return(t.getBotSeats?.()??[]).includes(n.seat)?t.controlledSeat===n.seat?{kind:'RELEASE_BOT_SEAT'}:{kind:'TAKEOVER_BOT_SEAT',seat:n.seat}:{kind:'ALERT',title:'\u65e0\u6cd5\u63a5\u7ba1',message:'\u53ea\u80fd\u63a5\u7ba1\u673a\u5668\u4eba\u5ea7\u4f4d'}}},2146,[1904,2147]);
2413
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getSeatTapResult=function(t){const{roomStatus:n,isAudioPlaying:s,seat:u,disabledReason:o,imActioner:O,hasGameState:S,isSeatOccupiedByOther:_,targetUserId:f,isSelfSeated:I,myUserId:c}=t;if(!S)return{kind:'NOOP',reason:'no_game_state'};if(n===r(d[0]).GameStatus.Ongoing&&s)return{kind:'NOOP',reason:'audio_playing'};if(o)return{kind:'ALERT',title:'\u4e0d\u53ef\u9009\u62e9',message:o};if(n!==r(d[0]).GameStatus.Ongoing){if(_&&f)return{kind:'VIEW_PROFILE',seat:u,targetUserId:f};if(I&&c)return{kind:'VIEW_PROFILE',seat:u,targetUserId:c}}if(n===r(d[0]).GameStatus.Unseated||n===r(d[0]).GameStatus.Seated)return{kind:'SEATING_FLOW',seat:u};if(n===r(d[0]).GameStatus.Ongoing)return O?{kind:'ACTION_FLOW',seat:u}:{kind:'NOOP',reason:'not_actioner'};return{kind:'NOOP',reason:'other_status'}}},2147,[1904]);
2414
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"getUnlockedRoleRevealEffects",{enumerable:!0,get:function(){return r(d[0]).getUnlockedRoleRevealEffects}}),Object.defineProperty(e,"getLevelProgress",{enumerable:!0,get:function(){return r(d[1]).getLevelProgress}}),Object.defineProperty(e,"LEVEL_THRESHOLDS",{enumerable:!0,get:function(){return r(d[1]).LEVEL_THRESHOLDS}}),Object.defineProperty(e,"FREE_AVATAR_IDS",{enumerable:!0,get:function(){return r(d[2]).FREE_AVATAR_IDS}}),Object.defineProperty(e,"FREE_FLAIR_IDS",{enumerable:!0,get:function(){return r(d[2]).FREE_FLAIR_IDS}}),Object.defineProperty(e,"FREE_FRAME_IDS",{enumerable:!0,get:function(){return r(d[2]).FREE_FRAME_IDS}}),Object.defineProperty(e,"TOTAL_UNLOCKABLE_COUNT",{enumerable:!0,get:function(){return r(d[2]).TOTAL_UNLOCKABLE_COUNT}})},2148,[1696,2068,1126]);
2415
- __d(function(g,r,_i,a,m,e,d){"use strict";function t(t){let n=5381;for(let E=0;E<t.length;E++){n=33*n^(t.codePointAt(E)??0)}return n>>>0}Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"RANDOMIZABLE_ANIMATIONS",{enumerable:!0,get:function(){return r(d[0]).ROLE_REVEAL_EFFECT_IDS}}),e.resolveRandomAnimation=function(n,E){const _=r(d[0]).ROLE_REVEAL_EFFECT_IDS.length;let o=t(n)%_;null!=E&&r(d[0]).ROLE_REVEAL_EFFECT_IDS[o]===E&&(o=(o+1)%_);return r(d[0]).ROLE_REVEAL_EFFECT_IDS[o]}},2149,[1126]);
2416
- __d(function(g,r,i,a,m,e,d){"use strict";function t(t){return t+1}Object.defineProperty(e,'__esModule',{value:!0}),e.useStepDeadlineCountdown=function(n){const o=(0,r(d[0]).c)(9),{stepDeadline:u,isHost:s,roomStatus:c,postProgression:f}=n,[l,S]=(0,r(d[1]).useState)(0),_=(0,r(d[1]).useRef)(!1);let p,v,D,w;o[0]===Symbol.for("react.memo_cache_sentinel")?(p=()=>{_.current=!1},o[0]=p):p=o[0];o[1]!==u?(v=[u],o[1]=u,o[2]=v):v=o[2];(0,r(d[1]).useEffect)(p,v),o[3]!==s||o[4]!==f||o[5]!==c||o[6]!==u?(D=()=>{if(null==u)return;if(c!==r(d[2]).GameStatus.Ongoing)return;const n=()=>{s&&!_.current&&(_.current=!0,(0,r(d[3]).fireAndForget)(f().then(()=>{_.current=!1}),"[postProgression] fire failed",r(d[4]).roomScreenLog))};if(Date.now()>=u&&(n(),!s))return;const o=setInterval(()=>{Date.now()>=u&&(s?n():clearInterval(o)),S(t)},1e3);return()=>clearInterval(o)},w=[u,s,f,c],o[3]=s,o[4]=f,o[5]=c,o[6]=u,o[7]=D,o[8]=w):(D=o[7],w=o[8]);return(0,r(d[1]).useEffect)(D,w),l}},2150,[1092,36,1904,1088,1061]);
2417
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useHiddenDebugTrigger=function(){const n=(0,r(d[0]).c)(4),u=(0,r(d[1]).useRef)(0),o=(0,r(d[1]).useRef)(null);let l,s,b;n[0]===Symbol.for("react.memo_cache_sentinel")?(l=()=>()=>{o.current&&clearTimeout(o.current)},s=[],n[0]=l,n[1]=s):(l=n[0],s=n[1]);(0,r(d[1]).useEffect)(l,s),n[2]===Symbol.for("react.memo_cache_sentinel")?(b=()=>{u.current=u.current+1,o.current&&clearTimeout(o.current),u.current>=t?(u.current=0,r(d[2]).roomScreenLog.debug("Toggling mobile debug panel"),r(d[3]).mobileDebug.toggle()):o.current=setTimeout(()=>{u.current=0},c)},n[2]=b):b=n[2];const f=b;let _;n[3]===Symbol.for("react.memo_cache_sentinel")?(_={handleDebugTitleTap:f},n[3]=_):_=n[3];return _};const t=5,c=2e3},2151,[1092,36,1061,1068]);
2418
- __d(function(g,r,i,a,m,e,d){"use strict";function o(o){return o+1}Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomInit=function(t){const n=(0,r(d[0]).c)(30),{roomCode:u,isHostParam:s,template:c,initializeRoom:l,joinRoom:f,hasGameState:S,gameRoomError:y}=t,[L,R]=(0,r(d[1]).useState)(!1),[w,h]=(0,r(d[1]).useState)("\u52a0\u8f7d\u623f\u95f4"),[b,p]=(0,r(d[1]).useState)(!1),[z,j]=(0,r(d[1]).useState)(0),C=(0,r(d[1]).useRef)(!1),_=(0,r(d[1]).useRef)(!1);let E,I;n[0]!==S?(E=()=>{S&&(_.current=!0)},I=[S],n[0]=S,n[1]=E,n[2]=I):(E=n[1],I=n[2]);(0,r(d[1]).useEffect)(E,I);const P=(0,r(d[1]).useRef)(y);let G,H,T,v,k,A,M;n[3]!==y?(G=()=>{P.current=y},H=[y],n[3]=y,n[4]=G,n[5]=H):(G=n[4],H=n[5]);(0,r(d[1]).useEffect)(G,H),n[6]!==l||n[7]!==s||n[8]!==L||n[9]!==f||n[10]!==u||n[11]!==c?(T=()=>{if(L)return;if(C.current)return;C.current=!0;(async()=>{h("\u6b63\u5728\u52a0\u8f7d\u623f\u95f4");if(s&&null!=c&&"object"==typeof c&&Array.isArray(c.roles)){h("\u6b63\u5728\u52a0\u8f7d\u623f\u95f4"),r(d[2]).roomScreenLog.debug("Host initializing room",{roomCode:u,playerCount:c.numberOfPlayers,totalRoles:c.roles.length});if(!await l(u,c))return C.current=!1,r(d[2]).roomScreenLog.warn("Host initializeRoom failed",{roomCode:u,error:P.current??"unknown"}),h("\u521b\u5efa\u5931\u8d25"),void p(!0);R(!0),C.current=!1,r(d[2]).roomScreenLog.debug("Host init complete")}else{h("\u6b63\u5728\u52a0\u5165\u623f\u95f4"),r(d[2]).roomScreenLog.debug("Player joining room",{roomCode:u});await f(u)?(R(!0),C.current=!1,r(d[2]).roomScreenLog.debug("Player join complete")):(C.current=!1,r(d[2]).roomScreenLog.warn("joinRoom failed",{roomCode:u,error:P.current??"unknown"}),h("\u52a0\u5165\u623f\u95f4\u5931\u8d25"),p(!0))}})()},n[6]=l,n[7]=s,n[8]=L,n[9]=f,n[10]=u,n[11]=c,n[12]=T):T=n[12];n[13]!==l||n[14]!==s||n[15]!==L||n[16]!==f||n[17]!==z||n[18]!==u||n[19]!==c?(v=[L,z,s,c,u,l,f],n[13]=l,n[14]=s,n[15]=L,n[16]=f,n[17]=z,n[18]=u,n[19]=c,n[20]=v):v=n[20];(0,r(d[1]).useEffect)(T,v),n[21]!==S||n[22]!==L?(k=()=>{if(L&&S)return void p(!1);if(_.current)return;const o=setTimeout(()=>{L&&S||(r(d[2]).roomScreenLog.info("Loading hint \u2014 still waiting",{isInitialized:L,hasGameState:S}),h("\u7f51\u7edc\u8f83\u6162\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85"))},8e3),t=setTimeout(()=>{L&&S||(p(!0),L&&!S?(r(d[2]).roomScreenLog.warn("Loading timeout \u2014 waiting for host state",{isInitialized:L,hasGameState:S}),h("\u7b49\u5f85\u623f\u4e3b\u4e0a\u7ebf")):(r(d[2]).roomScreenLog.warn("Loading timeout \u2014 init incomplete",{isInitialized:L,hasGameState:S}),h("\u52a0\u8f7d\u8d85\u65f6")))},15e3);return()=>{clearTimeout(o),clearTimeout(t)}},A=[L,S],n[21]=S,n[22]=L,n[23]=k,n[24]=A):(k=n[23],A=n[24]);(0,r(d[1]).useEffect)(k,A),n[25]===Symbol.for("react.memo_cache_sentinel")?(M=()=>{r(d[2]).roomScreenLog.debug("Retry triggered"),R(!1),p(!1),C.current=!1,h("\u91cd\u8bd5\u4e2d"),j(o)},n[25]=M):M=n[25];const O=M,B=b&&y?y:w;let q;n[26]!==B||n[27]!==L||n[28]!==b?(q={isInitialized:L,loadingMessage:B,showRetryButton:b,handleRetry:O},n[26]=B,n[27]=L,n[28]=b,n[29]=q):q=n[29];return q}},2152,[1092,36,1061]);
2419
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomIdentity=function(t){const o=(0,r(d[0]).c)(19),{mySeat:c,myRole:l,effectiveSeat:n,effectiveRole:f,controlledSeat:S}=t;let s;o[0]!==S||o[1]!==f||o[2]!==n||o[3]!==l||o[4]!==c?(s=(0,r(d[1]).getActorIdentity)({mySeat:c,myRole:l,effectiveSeat:n,effectiveRole:f,controlledSeat:S}),o[0]=S,o[1]=f,o[2]=n,o[3]=l,o[4]=c,o[5]=s):s=o[5];const u=s,{actorSeatForUi:R,actorRoleForUi:v,isDelegating:y}=u;let F,U,I;o[6]!==u||o[7]!==v||o[8]!==R||o[9]!==S||o[10]!==f||o[11]!==n||o[12]!==y?(F=()=>{y&&null!==f&&!(0,r(d[1]).isActorIdentityValid)(u)&&r(d[2]).roomScreenLog.warn("Invalid delegation state detected",{controlledSeat:S,effectiveSeat:n,effectiveRole:f,actorSeatForUi:R,actorRoleForUi:v})},U=[y,u,S,n,f,R,v],o[6]=u,o[7]=v,o[8]=R,o[9]=S,o[10]=f,o[11]=n,o[12]=y,o[13]=F,o[14]=U):(F=o[13],U=o[14]);(0,r(d[3]).useEffect)(F,U),o[15]!==v||o[16]!==R||o[17]!==y?(I={actorSeatForUi:R,actorRoleForUi:v,isDelegating:y},o[15]=v,o[16]=R,o[17]=y,o[18]=I):I=o[18];return I}},2153,[1092,2144,1061,36]);
2420
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useActionerState=function(t){const o=(0,r(d[0]).c)(9),{actorRole:n,currentActionRole:c,currentSchema:s,actorSeat:u,wolfVotes:l,actions:f,treasureMasterChosenCard:h,thiefChosenCard:C}=t;let S;o[0]!==f||o[1]!==n||o[2]!==u||o[3]!==c||o[4]!==s||o[5]!==C||o[6]!==h||o[7]!==l?(S=(0,r(d[1]).determineActionerState)(n,c,s,u,l,f,h,C),o[0]=f,o[1]=n,o[2]=u,o[3]=c,o[4]=s,o[5]=C,o[6]=h,o[7]=l,o[8]=S):S=o[8];return S}},2154,[1092,2155]);
2421
- __d(function(g,r,i,_a,m,e,d){"use strict";function t(t,o,s,l,n){if(n&&(0,r(d[1]).doesRoleParticipateInWolfVote)(t))return{imActioner:!0,showWolves:!0};if(!(0,r(d[1]).isWolfRole)(t)&&l.has(t))return{imActioner:!1,showWolves:!1};return{imActioner:!0,showWolves:n&&(0,r(d[1]).isWolfRole)(t)&&(0,r(d[1]).doesRoleParticipateInWolfVote)(t)}}Object.defineProperty(e,'__esModule',{value:!0}),e.determineActionerState=function(o,s,l,n,a,c=new Map,u,f){if(!s||!o)return{imActioner:!1,showWolves:!1};if('groupConfirm'===l?.kind&&null!==n)return{imActioner:!0,showWolves:!1};const p='wolfVote'===l?.kind&&!0===l.meeting?.canSeeEachOther,h=(0,r(d[0]).getBottomCardEffectiveRole)(o,f,u);if(h===s)return t(h,n,a,c,p);if(p&&(0,r(d[1]).isWolfRole)(h))return(0,r(d[0]).isBottomCardWolfVoteExcluded)(o)?{imActioner:!1,showWolves:!1}:(0,r(d[1]).doesRoleParticipateInWolfVote)(h)?{imActioner:!0,showWolves:!0}:{imActioner:!1,showWolves:!1};return{imActioner:!1,showWolves:!1}},e.toGameRoomLike=function(t){const o=(()=>{const o=t.currentNightResults?.wolfVotesBySeat??t.wolfVotes;if(!o)return new Map;if(o instanceof Map)return o;const s=new Map;for(const[t,l]of Object.entries(o))s.set(Number.parseInt(t,10),l);return s})();return{template:t.template,players:t.players,actions:t.actions,wolfVotes:o,currentStepIndex:t.currentStepIndex,thiefChosenCard:t.thiefChosenCard,treasureMasterChosenCard:t.treasureMasterChosenCard}},e.getWolfVoteSummary=function(t){const o=[];t.players.forEach((s,l)=>{if(s?.role){const n=(0,r(d[0]).getBottomCardEffectiveRole)(s.role,t.thiefChosenCard,t.treasureMasterChosenCard);(0,r(d[1]).doesRoleParticipateInWolfVote)(n)&&!(0,r(d[0]).isBottomCardWolfVoteExcluded)(s.role)&&o.push(l)}}),o.sort((t,o)=>t-o);return`${o.filter(o=>t.wolfVotes.has(o)).length}/${o.length} \u72fc\u4eba\u5df2\u786e\u8ba4`},e.getRoleStats=function(t){const o={},s=[],l=[],n=[],a=new Map,c=new Map,u=new Map,f=new Map;let p=0;return t.forEach(t=>{const h=(0,r(d[1]).getRoleSpec)(t);if(!h)return;const{faction:v,displayName:w}=h;if(v===r(d[4]).Faction.Wolf){o[w]=(o[w]??0)+1,s.includes(w)||s.push(w);const l=a.get(t);a.set(t,l?Object.assign({},l,{count:l.count+1}):{roleId:t,displayName:w,count:1})}else if(v===r(d[4]).Faction.God){o[w]=(o[w]??0)+1,l.includes(w)||l.push(w);const s=c.get(t);c.set(t,s?Object.assign({},s,{count:s.count+1}):{roleId:t,displayName:w,count:1})}else if(v===r(d[4]).Faction.Special){o[w]=(o[w]??0)+1,n.includes(w)||n.push(w);const s=u.get(t);u.set(t,s?Object.assign({},s,{count:s.count+1}):{roleId:t,displayName:w,count:1})}else if('villager'===t)p++;else{o[w]=(o[w]??0)+1;const s=f.get(t);f.set(t,s?Object.assign({},s,{count:s.count+1}):{roleId:t,displayName:w,count:1})}}),{roleCounts:o,wolfRoles:s,godRoles:l,specialRoles:n,villagerCount:p,wolfRoleItems:[...a.values()],godRoleItems:[...c.values()],specialRoleItems:[...u.values()],villagerRoleItems:[...f.values()]}},e.buildSeatViewModels=function(t,o,s,l,n){const a=s?t.currentNightResults?.wolfVotesBySeat:void 0;return t.template.roles.slice(0,t.template.numberOfPlayers).map((c,u)=>{const f=t.players.get(u),p=f?.role?(0,r(d[0]).getBottomCardEffectiveRole)(f.role,t.thiefChosenCard,t.treasureMasterChosenCard):c,h=f?.role??c,v=s&&(0,r(d[1]).isWolfRole)(p)&&(0,r(d[1]).canRoleSeeWolves)(p)&&!(0,r(d[0]).isBottomCardWolfVoteExcluded)(h);let w;n?.schemaConstraints?.includes(r(d[2]).TargetConstraint.NotSelf)&&u===o&&(w='\u4e0d\u80fd\u9009\u62e9\u81ea\u5df1');const R=v&&null!=a&&String(u)in a,C=!R&&(n?.showReadyBadges&&null!=f&&f.hasViewedRole||(n?.groupConfirmAcks?.includes(u)??!1));return{seat:u,role:c,player:f?{userId:f.userId,displayName:f.displayName||'\u73a9\u5bb6',avatarUrl:f.avatarUrl,avatarFrame:f.avatarFrame,seatFlair:f.seatFlair,seatAnimation:f.seatAnimation,nameStyle:f.nameStyle,roleRevealEffect:f.roleRevealEffect,level:f.level,isBot:f.isBot,role:f.role}:null,isMySpot:o===u,isWolf:v,isSelected:l===u||n?.secondSelectedSeat===u||(n?.multiSelectedSeats?.includes(u)??!1),disabledReason:w,showReadyBadge:C,wolfVoteBadge:R?(S=a[String(u)],-1===S?r(d[2]).SCHEMAS.wolfKill.ui.emptyVoteText:`\u88ad\u51fb${(0,r(d[3]).formatSeat)(S)}`):void 0};var S})}},2155,[2156,1077,1078,1071,1082]);
2422
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getBottomCardEffectiveRole=function(t,o,u){return'thief'===t&&o?o:'treasureMaster'===t&&u?u:t},e.isBottomCardWolfVoteExcluded=function(t){return'treasureMaster'===t}},2156,[]);
2423
- __d(function(g,r,i,a,m,e,d){"use strict";function t(t,o,n,l,s){return'chooseSeat'===o?.kind||'multiChooseSeat'===o?.kind?o.canSkip?{type:'skip',targetSeat:-1,message:n(-1)}:null:'compound'===o?.kind?null:'wolfVote'===o?.kind&&l&&null!==s?{type:'wolfVote',targetSeat:-1,wolfSeat:s}:{type:'skip',targetSeat:-1,message:n(-1)}}function o(t){const{uiRevealKind:o,seat:n,buildMessage:l}=t;return o?{type:'reveal',revealKind:o,targetSeat:n}:{type:'actionConfirm',targetSeat:n,message:l(n)}}function n(t){const{schemaKind:n,seat:l,firstSwapSeat:s,isWolf:u,wolfSeat:c}=t;switch(n){case'confirm':return null;case'swap':return null===s?{type:'magicianFirst',targetSeat:l}:{type:'actionConfirm',targetSeat:l,message:t.buildMessage?.(l)};case'compound':if(!t.schemaId)return null;if('witchAction'!==t.schemaId)return null;{const o=r(d[0]).SCHEMAS[t.schemaId];if('compound'!==o?.kind)return null;const n=o.steps?.find(t=>'poison'===t.key);if(!n)throw new Error('[SchemaDrivenUI] Missing poison sub-step in SCHEMAS.witchAction');return{type:'actionConfirm',targetSeat:l,message:n.ui?.confirmText,stepKey:'poison'}}case'wolfVote':return u&&null!==c?{type:'wolfVote',targetSeat:l,wolfSeat:c}:null;case'chooseSeat':return o(t);case'multiChooseSeat':return{type:'multiSelectToggle',targetSeat:l};case'skip':case'confirmTarget':case'groupConfirm':case'chooseCard':case void 0:return null;default:return n}}Object.defineProperty(e,'__esModule',{value:!0}),e.deriveSkipIntentFromSchema=t,e.useRoomActions=function(o,l){const{gameState:s,roomStatus:u,currentSchema:c,imActioner:f,actorSeat:S,actorRole:p,isAudioPlaying:h,firstSwapSeat:k,multiSelectedSeats:w,countdownTick:C}=o,{hasWolfVoted:b,getWolfVoteSummary:R,getWitchContext:y}=l,v=(0,r(d[1]).useMemo)(()=>p?(0,r(d[2]).getBottomCardEffectiveRole)(p,s?.thiefChosenCard,s?.treasureMasterChosenCard):null,[p,s?.thiefChosenCard,s?.treasureMasterChosenCard]),A=(0,r(d[1]).useCallback)(()=>s&&null!==S&&p&&v&&(0,r(d[3]).doesRoleParticipateInWolfVote)(v)&&!(0,r(d[2]).isBottomCardWolfVoteExcluded)(p)?S:null,[s,S,p,v]),I=(0,r(d[1]).useCallback)(t=>{const o=c?.ui?.confirmText;if('compound'!==c?.kind&&(!o||'string'!=typeof o))throw new Error(`[SchemaDrivenUI] Missing currentSchema.ui.confirmText for schema: ${c?.id??'unknown'}`);return o},[c]),M=(0,r(d[1]).useCallback)(()=>!!s&&(u===r(d[4]).GameStatus.Ongoing&&(!h&&!!f)),[s,u,h,f]),V=(0,r(d[1]).useCallback)(()=>{if(!v||!(0,r(d[3]).isWolfRole)(v))return null;if('wolfVote'!==c?.kind)return null;const t=R();if(!(null!==S&&b(S)))return t;const o=s?.stepDeadline;if(null!=o){const n=Math.max(0,Math.ceil((o-Date.now())/1e3));if(n>0)return`${t}\uff08${n}\u79d2\u540e\u786e\u8ba4\uff09`}return`${t}\uff08\u53ef\u70b9\u51fb\u6539\u7968\u6216\u53d6\u6d88\uff09`},[c?.kind,R,b,v,S,s?.stepDeadline,C]),W=(0,r(d[1]).useCallback)(()=>(0,r(d[5]).buildBottomAction)({gameState:s,roomStatus:u,isAudioPlaying:h,currentSchema:c,imActioner:f,actorSeat:S,actorRole:p,multiSelectedSeats:w,hasWolfVoted:b,getWitchContext:y}),[s,y,f,h,c,u,S,p,b,w]),P=(0,r(d[1]).useCallback)(()=>{if(!p||!f||h)return null;if('wolfRobotLearn'===c?.id&&s?.wolfRobotReveal)return null;if('compound'===c?.kind){return y()?{type:'actionPrompt',targetSeat:-1}:null}return'confirm'===c?.kind?{type:'actionPrompt',targetSeat:-1}:'swap'===c?.kind&&null!==k?null:{type:'actionPrompt',targetSeat:-1}},[p,f,h,c,s?.wolfRobotReveal,y,k]),T=(0,r(d[1]).useCallback)(t=>{if(!p)return null;if('wolfRobotLearn'===c?.id&&s?.wolfRobotReveal)return null;return n({actorRole:p,schemaKind:c?.kind,schemaId:c?.id&&(0,r(d[0]).isValidSchemaId)(c.id)?c.id:void 0,uiRevealKind:'chooseSeat'===c?.kind?c.ui?.revealKind:void 0,seat:t,firstSwapSeat:k,isWolf:!!v&&(0,r(d[3]).doesRoleParticipateInWolfVote)(v),wolfSeat:A(),buildMessage:t=>I(t)})},[p,v,c,k,A,I,s?.wolfRobotReveal]),x=(0,r(d[1]).useCallback)(()=>{if(!p)return null;const o=!!v&&(0,r(d[3]).doesRoleParticipateInWolfVote)(v),n=A();return t(p,c,t=>I(t),o,n)},[p,v,c,A,I]);return{getActionIntent:T,getSkipIntent:x,getAutoTriggerIntent:P,buildActionMessage:I,findVotingWolfSeat:A,canTapForAction:M,getWolfStatusLine:V,getBottomAction:W}}},2157,[1078,36,2156,1077,1904,2158]);
2424
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildBottomAction=function(o){const{gameState:n,roomStatus:s,isAudioPlaying:u,currentSchema:l,imActioner:c,actorSeat:f,actorRole:p,multiSelectedSeats:k,hasWolfVoted:b,getWitchContext:y}=o;if(!n)return t;if(s!==r(d[0]).GameStatus.Ongoing)return t;if(u)return t;if(!l)return t;if(!c)return t;const S=n.ui?.currentActorHint,h=p?(0,r(d[1]).getBottomCardEffectiveRole)(p,n.thiefChosenCard,n.treasureMasterChosenCard):null;if(S&&h&&S.targetRoleIds.includes(h)){if('skipOnly'===S.bottomAction)return{buttons:[{key:'skip',label:S.message,intent:{type:'skip',targetSeat:-1,message:S.message}}]};if('wolfEmptyOnly'===S.bottomAction)return{buttons:[{key:'wolfEmpty',label:S.message,intent:{type:'wolfVote',targetSeat:-1,wolfSeat:f??void 0}}]}}if('wolfRobotLearn'===l.id&&'hunter'===n.wolfRobotReveal?.learnedRoleId&&!1===n.wolfRobotHunterStatusViewed){const t=l.ui?.hunterGateButtonText;if(!t)throw new Error('[bottomActionBuilder] wolfRobotLearn schema missing ui.hunterGateButtonText - schema-driven UI requires this field');return{buttons:[{key:'viewHunterStatus',label:t,intent:{type:'wolfRobotViewHunterStatus',targetSeat:-1}}]}}if('wolfVote'===l.kind){const t=[];return null!==f&&b(f)&&t.push({key:'wolfCancel',label:'\u53d6\u6d88\u6295\u7968',intent:{type:'wolfVote',targetSeat:-2,wolfSeat:f??void 0}}),t.push({key:'wolfEmpty',label:l.ui.emptyVoteText,intent:{type:'wolfVote',targetSeat:-1,wolfSeat:f??void 0}}),{buttons:t}}if('chooseSeat'===l.kind||'swap'===l.kind)return l.canSkip?{buttons:[{key:'skip',label:l.ui.bottomActionText,intent:{type:'skip',targetSeat:-1,message:l.ui.bottomActionText}}]}:t;if('compound'===l.kind&&'witchAction'===l.id&&l.steps?.length){const o=y();if(!o)return t;const n=l.steps.find(t=>'save'===t.key&&'confirmTarget'===t.kind),s=l.steps.find(t=>'poison'===t.key&&'chooseSeat'===t.kind),u=[];if(n&&o.killedSeat>=0&&o.canSave){const t=`\u5bf9${(0,r(d[2]).formatSeat)(o.killedSeat)}\u7528\u89e3\u836f`;u.push({key:'save',label:t,intent:{type:'actionConfirm',targetSeat:o.killedSeat,message:n.ui?.confirmText,stepKey:'save'}})}const c=s?.ui?.bottomActionText??'\u8df3\u8fc7';return u.push({key:'skip',label:c,intent:{type:'skip',targetSeat:-1,message:c,stepKey:'skipAll'}}),{buttons:u}}if('confirm'===l.kind)return{buttons:[{key:'confirm',label:l.ui.bottomActionText,intent:{type:'confirmTrigger',targetSeat:-1}}]};if('groupConfirm'===l.kind){const o='awakenedGargoyleConvertReveal'===l.id?n.conversionRevealAcks:'cupidLoversReveal'===l.id?n.cupidLoversRevealAcks:n.piperRevealAcks;return null!==f&&o.includes(f)?t:{buttons:[{key:'groupConfirmAck',label:l.ui.bottomActionText,intent:{type:'groupConfirmAck',targetSeat:-1}}]}}if('multiChooseSeat'===l.kind){const t=[],o=k.length;if(o>0){const n=l.ui.confirmButtonText;t.push({key:'multiConfirm',label:n.replace('{count}',String(o)),intent:{type:'multiSelectConfirm',targetSeat:-1,targets:k}})}return l.canSkip&&l.ui?.bottomActionText&&t.push({key:'skip',label:l.ui.bottomActionText,intent:{type:'skip',targetSeat:-1,message:l.ui.bottomActionText}}),{buttons:t}}if('chooseCard'===l.kind)return{buttons:[{key:'chooseCard',label:l.ui.bottomActionText,intent:{type:'chooseCard',targetSeat:-1}}]};return t};const t={buttons:[]}},2158,[1904,2156,1071]);
2425
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomDerived=function(o){const{gameState:n,currentSchema:s,currentActionRole:l,roomStatus:u,actorSeatForUi:c,showWolves:R,imActioner:f,firstSwapSeat:p,secondSeat:w,multiSelectedSeats:S,getWolfStatusLine:v,effectiveRole:h}=o,k=(0,r(d[0]).useMemo)(()=>{if(s)return'chooseSeat'===s.kind||'swap'===s.kind||'multiChooseSeat'===s.kind?s.constraints:void 0},[s]),A=(0,r(d[0]).useMemo)(()=>{if(!n)return[];const o='wolfRobotLearn'===s?.id&&null!=n.wolfRobotReveal;return(0,r(d[1]).buildSeatViewModels)(n,c,R,p,{schemaConstraints:f&&!o?k:void 0,secondSelectedSeat:w,multiSelectedSeats:S,showReadyBadges:u===r(d[2]).GameStatus.Assigned||u===r(d[2]).GameStatus.Ready,groupConfirmAcks:'groupConfirm'===s?.kind?(()=>{const o={awakenedGargoyleConvertReveal:n.conversionRevealAcks,cupidLoversReveal:n.cupidLoversRevealAcks,piperHypnotizedReveal:n.piperRevealAcks},t=s.id;if(!(t in o))throw new Error(`Unknown groupConfirm step: ${t}`);return o[t]})():void 0})},[n,c,R,p,w,S,f,k,s?.id,s?.kind,u]),M=(0,r(d[0]).useMemo)(()=>n?(0,r(d[1]).getRoleStats)(n.template.roles):{roleCounts:{},wolfRoles:[],godRoles:[],specialRoles:[],villagerCount:0,wolfRoleItems:[],godRoleItems:[],specialRoleItems:[],villagerRoleItems:[]},[n]),b=(0,r(d[0]).useMemo)(()=>{if(!l)return'';if(!s?.ui?.prompt)throw new Error(`[FAIL-FAST] Missing schema.ui.prompt for role: ${l}`);return['wolfRobotLearn'===s.id&&'hunter'===n?.wolfRobotReveal?.learnedRoleId&&!n?.wolfRobotHunterStatusViewed?s.ui.hunterGatePrompt??s.ui.prompt:s.ui.prompt,v(),t(n?.ui?.currentActorHint,h)].filter(Boolean).join('\n')},[n,l,s,v,h]);return Object.assign({seatViewModels:A},M,{actionMessage:b})};const o=new Set(['wolf_unanimity_required','wolf_tie_random']);function t(t,n){return t&&n&&o.has(t.kind)&&t.targetRoleIds.includes(n)?`\u26a0\ufe0f ${t.message}`:null}},2159,[36,2155,1904]);
2426
- __d(function(g,r,i,a,m,e,d){"use strict";function t(t,o,s,n){(0,r(d[1]).showAlert)(t,o,[{text:n??"\u77e5\u9053\u4e86",style:"default",onPress:s}])}function o(t,o,l){const c="compound"===o.kind?o.steps?.find(n):void 0,f="compound"===o.kind?o.steps?.find(s)?.ui?.prompt:void 0,u=o.ui.prompt;if(t.killedSeat>=0)if(t.canSave){const o=c.ui.promptTemplate.replace("{seat}",(0,r(d[2]).formatSeat)(t.killedSeat));(0,r(d[3]).showDismissAlert)(u,o,l)}else(0,r(d[3]).showDismissAlert)(u,c.ui.cannotSavePrompt,l);else(0,r(d[3]).showDismissAlert)(o.ui.emptyKillTitle,f,l)}function s(t){return"poison"===t.key}function n(t){return"save"===t.key}function l(t,o,s,n,l){const c=l.ui.confirmTitle;let f;f=n||(-1===o?l.ui.emptyVoteConfirmTemplate.replace("{wolf}",t):l.ui.voteConfirmTemplate.replace("{wolf}",t).replace("{seat}",(0,r(d[2]).formatSeat)(o))),(0,r(d[3]).showConfirmAlert)(c,f,s)}function c(t,o,s,n){(0,r(d[3]).showConfirmAlert)(t,o,s,n?{onCancel:n}:void 0)}function f(t,o,s){(0,r(d[3]).showDismissAlert)(t,o,s)}function u(t,o){const s=o.ui.firstTargetTitle,n=o.ui.firstTargetPromptTemplate.replace("{seat}",(0,r(d[2]).formatSeat)(t));(0,r(d[3]).showDismissAlert)(s,n)}function p(t){(0,r(d[3]).showDismissAlert)("\u64cd\u4f5c\u65e0\u6548",t)}Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomActionDialogs=function(){const s=(0,r(d[0]).c)(1),n=p,h=u,w=f,A=c,D=l,v=o,T=t;let S;s[0]===Symbol.for("react.memo_cache_sentinel")?(S={showActionRejectedAlert:n,showMagicianFirstAlert:h,showRevealDialog:w,showConfirmDialog:A,showWolfVoteDialog:D,showWitchInfoPrompt:v,showRoleActionPrompt:T},s[0]=S):S=s[0];return S}},2160,[1092,1074,1071,1073]);
2427
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomSeatDialogs=function(t){const n=(0,r(d[0]).c)(34),{pendingSeat:o,setPendingSeat:l,setSeatModalVisible:s,setModalType:c,takeSeat:u,leaveSeat:S,navigation:f,onLeaveRoom:v}=t,h=(0,r(d[1]).useRef)(!1),[L,b]=(0,r(d[1]).useState)(!1);let w;n[0]!==c||n[1]!==l||n[2]!==s?(w=t=>{h.current=!1,b(!1),l(t),c("enter"),s(!0)},n[0]=c,n[1]=l,n[2]=s,n[3]=w):w=n[3];const p=w;let y;n[4]!==c||n[5]!==l||n[6]!==s?(y=t=>{h.current=!1,b(!1),l(t),c("leave"),s(!0)},n[4]=c,n[5]=l,n[6]=s,n[7]=y):y=n[7];const C=y;let R;n[8]!==o||n[9]!==l||n[10]!==s||n[11]!==u?(R=()=>{if(null===o||h.current)return;h.current=!0,b(!0);const t=o;r(d[2]).roomScreenLog.debug("Taking seat",{seat:t}),u(t).then(n=>{n?(s(!1),l(null)):(r(d[2]).roomScreenLog.warn("takeSeat failed (occupied)",{seat:t}),s(!1),l(null),(0,r(d[3]).showErrorAlert)("\u5165\u5ea7\u5931\u8d25",`${(0,r(d[4]).formatSeat)(t)}\u5ea7\u4f4d\u5df2\u88ab\u5360\u7528\uff0c\u8bf7\u9009\u62e9\u5176\u4ed6\u4f4d\u7f6e\u3002`))}).finally(()=>{h.current=!1,b(!1)})},n[8]=o,n[9]=l,n[10]=s,n[11]=u,n[12]=R):R=n[12];const _=R;let k;n[13]!==l||n[14]!==s?(k=()=>{s(!1),l(null)},n[13]=l,n[14]=s,n[15]=k):k=n[15];const D=k;let M;n[16]!==S||n[17]!==o||n[18]!==l||n[19]!==s?(M=()=>{null===o||h.current||(h.current=!0,b(!0),r(d[2]).roomScreenLog.debug("Leaving seat",{seat:o}),S().then(()=>{s(!1),l(null)}).finally(()=>{h.current=!1,b(!1)}))},n[16]=S,n[17]=o,n[18]=l,n[19]=s,n[20]=M):M=n[20];const A=M;let E;n[21]!==f||n[22]!==v?(E=()=>{r(d[2]).roomScreenLog.debug("Leaving room"),v?.(),f.navigate("Home")},n[21]=f,n[22]=v,n[23]=E):E=n[23];const P=E;let T;n[24]!==P?(T=()=>{(0,r(d[3]).showConfirmAlert)("\u79bb\u5f00\u623f\u95f4\uff1f","",P)},n[24]=P,n[25]=T):T=n[25];const j=T;let H;n[26]!==D||n[27]!==A||n[28]!==_||n[29]!==j||n[30]!==L||n[31]!==p||n[32]!==C?(H={showEnterSeatDialog:p,showLeaveSeatDialog:C,handleConfirmSeat:_,handleCancelSeat:D,handleConfirmLeave:A,handleLeaveRoom:j,isSeatSubmitting:L},n[26]=D,n[27]=A,n[28]=_,n[29]=j,n[30]=L,n[31]=p,n[32]=C,n[33]=H):H=n[33];return H}},2161,[1092,36,1061,1073,1071]);
2428
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useActionOrchestrator=function({gameState:t,roomStatus:n,currentActionRole:o,currentSchema:c,effectiveSeat:u,effectiveRole:s,controlledSeat:l,actorSeatForUi:S,imActioner:f,isAudioPlaying:A,myUserId:p,needsContinueOverlay:y,firstSwapSeat:b,setFirstSwapSeat:h,setSecondSeat:k,submitAction:R,submitRevealAck:w,sendWolfRobotHunterStatusViewed:I,submitGroupConfirmAck:C,multiSelectedSeats:v,setMultiSelectedSeats:M,getAutoTriggerIntent:L,actionDialogs:T,openChooseCardModal:U}){const j=(0,r(d[0]).useAckMutation)('reveal',()=>w()),E=(0,r(d[0]).useAckMutation)('hunterStatus',t=>I(t)),F=(0,r(d[0]).useAckMutation)('groupConfirm',()=>C()),x=(0,r(d[1]).useRef)(null),O=(0,r(d[1]).useRef)(null),W=(0,r(d[1]).useRef)(null),$=(0,r(d[1]).useRef)(!0);(0,r(d[1]).useEffect)(()=>()=>{$.current=!1},[]),(0,r(d[1]).useEffect)(()=>{x.current=t},[t]);const _=(0,r(d[1]).useRef)(!1),[D,P]=(0,r(d[1]).useState)(!1),G=(0,r(d[1]).useCallback)(t=>{_.current=t,P(t)},[]),N=(0,r(d[1]).useCallback)(async(t,n)=>{if(_.current)return r(d[2]).roomScreenLog.debug('proceedWithAction Skipped: already submitting'),!1;G(!0),r(d[2]).roomScreenLog.debug('proceedWithAction Submitting',{targetSeat:t});try{return void 0!==n?await R(t,n):await R(t),!0}finally{G(!1)}},[R,G]),H=(0,r(d[1]).useCallback)((t,n,o)=>{const u=o?.title??c?.ui?.confirmTitle??'\u786e\u8ba4\u64cd\u4f5c',s=o?.message??c?.ui?.confirmText??'\u6267\u884c\u6b64\u64cd\u4f5c\uff1f';T.showConfirmDialog(u,s,()=>{(async()=>{await N(t)&&await n()})()})},[T,c,N]);(0,r(d[1]).useEffect)(()=>{const n=t?.actionRejected;if(!n)return void(W.current=null);const o=null===u?null:t?.players.get(u)?.userId,c=n.targetUserId===p||n.targetUserId===o;if(!p||!c)return;const s=n.rejectionId??`${n.action}:${n.reason}:${n.targetUserId}`;s!==W.current&&(W.current=s,r(d[2]).roomScreenLog.warn('Action rejected by server',{action:n.action,reason:n.reason,targetUserId:n.targetUserId}),T.showActionRejectedAlert(n.reason))},[t?.actionRejected,t?.players,p,u,T]);const V=(0,r(d[1]).useCallback)(async n=>{const f={gameState:t,gameStateRef:x,currentSchema:c,currentActionRole:o,effectiveSeat:u,effectiveRole:s,controlledSeat:l,actorSeatForUi:S,firstSwapSeat:b,setFirstSwapSeat:h,setSecondSeat:k,multiSelectedSeats:v,setMultiSelectedSeats:M,proceedWithAction:N,confirmThenAct:H,revealAckMutation:j,hunterStatusAckMutation:E,groupConfirmAckMutation:F,openChooseCardModal:U,actionDialogs:T,mountedRef:$};if(!await(0,r(d[3]).dispatchIntent)(n,f))throw new Error(`[FAIL-FAST] No executor registered for ActionIntentType: ${String(n.type)}`)},[t,s,u,b,T,H,c,o,j,E,F,S,v,M,h,k,l,N,U]);return(0,r(d[1]).useEffect)(()=>{if(n!==r(d[4]).GameStatus.Ongoing||!o)return void(null!==O.current&&(r(d[2]).roomScreenLog.debug(' Clearing key (not ongoing or night ended)'),O.current=null));if(!f||A||y)return;const c=L();if(!c)return;const u=[n,t?.currentStepIndex??'null',o??'null',S??'null',f?'A':'N',A?'P':'S',s??'null',b??'null',c.type].join('|');u!==O.current?(r(d[2]).roomScreenLog.debug('Triggering auto-intent',{key:u,intent:c.type}),O.current=u,V(c).catch(t=>{(0,r(d[5]).handleError)(t,{label:'auto-trigger',logger:r(d[2]).roomScreenLog,alertTitle:!1})})):r(d[2]).roomScreenLog.debug('Skipping duplicate auto-intent',{key:u})},[f,A,y,s,S,b,n,o,t?.currentStepIndex,L,V]),{handleActionIntent:V,isActionSubmitting:D}}},2162,[2163,36,1061,2164,1904,1903]);
2429
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useAckMutation=function(t,n,o){const u=(0,r(d[0]).c)(7);let c;u[0]!==t?(c=["ack",t],u[0]=t,u[1]=c):c=u[1];const s=o?.onSuccess,l=o?.onError;let _;u[2]!==n||u[3]!==c||u[4]!==s||u[5]!==l?(_={mutationKey:c,mutationFn:n,retry:0,onSuccess:s,onError:l},u[2]=n,u[3]=c,u[4]=s,u[5]=l,u[6]=_):_=u[6];return(0,r(d[1]).useMutation)(_)}},2163,[1092,1807]);
2430
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"dispatchIntent",{enumerable:!0,get:function(){return r(d[0]).dispatchIntent}}),(0,r(d[0]).clearExecutors)(),(0,r(d[0]).registerExecutor)('reveal',r(d[1]).revealExecutor),(0,r(d[0]).registerExecutor)('magicianFirst',r(d[2]).magicianFirstExecutor),(0,r(d[0]).registerExecutor)('wolfVote',r(d[3]).wolfVoteExecutor),(0,r(d[0]).registerExecutor)('actionConfirm',r(d[2]).actionConfirmExecutor),(0,r(d[0]).registerExecutor)('skip',r(d[4]).skipExecutor),(0,r(d[0]).registerExecutor)('actionPrompt',r(d[5]).actionPromptExecutor),(0,r(d[0]).registerExecutor)('confirmTrigger',r(d[5]).confirmTriggerExecutor),(0,r(d[0]).registerExecutor)('wolfRobotViewHunterStatus',r(d[6]).wolfRobotViewHunterStatusExecutor),(0,r(d[0]).registerExecutor)('multiSelectToggle',r(d[7]).multiSelectToggleExecutor),(0,r(d[0]).registerExecutor)('multiSelectConfirm',r(d[7]).multiSelectConfirmExecutor),(0,r(d[0]).registerExecutor)('groupConfirmAck',r(d[8]).groupConfirmAckExecutor),(0,r(d[0]).registerExecutor)('chooseCard',r(d[9]).chooseCardExecutor);r(d[1]).revealExecutor,r(d[2]).magicianFirstExecutor,r(d[3]).wolfVoteExecutor,r(d[2]).actionConfirmExecutor,r(d[4]).skipExecutor,r(d[5]).actionPromptExecutor,r(d[5]).confirmTriggerExecutor,r(d[6]).wolfRobotViewHunterStatusExecutor,r(d[7]).multiSelectToggleExecutor,r(d[7]).multiSelectConfirmExecutor,r(d[8]).groupConfirmAckExecutor,r(d[9]).chooseCardExecutor},2164,[2165,2166,2168,2169,2170,2171,2172,2173,2174,2175]);
2431
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.clearExecutors=function(){for(const o of Object.keys(t))delete t[o]},e.registerExecutor=function(o,n){if(t[o])throw new Error(`[FAIL-FAST] Duplicate executor registration for '${o}'`);t[o]=n},e.dispatchIntent=async function(o,n){const c=t[o.type];return!!c&&(r(d[0]).roomScreenLog.debug('dispatchIntent Delegating to executor',{type:o.type}),await c(o,n),!0)};const t={}},2165,[1061]);
2432
- __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"revealExecutor",{enumerable:!0,get:function(){return t}});const t=(t,o)=>{const{gameState:n,gameStateRef:i,currentSchema:c,confirmThenAct:l,mountedRef:s}=o,{revealAckMutation:u,actionDialogs:f}=o;if(!n)return;if(!t.revealKind)return void r(d[0]).roomScreenLog.warn(' reveal intent missing revealKind');const v=t.revealKind;l(t.targetSeat,async()=>{let t;for(let o=0;o<30;o++){if(await new Promise(t=>setTimeout(t,100)),!s.current)return;const o=i.current;if(o&&(t=(0,r(d[1]).getRevealDataFromState)(o,v)),t)break}if(!s.current)return;if(!t)return r(d[0]).roomScreenLog.warn(`${v}Reveal timeout - no reveal received after 3000ms`),void(0,r(d[2]).showErrorAlert)('\u67e5\u770b\u7ed3\u679c\u8d85\u65f6','\u672a\u6536\u5230\u670d\u52a1\u7aef\u8fd4\u56de\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5');const o='compound'!==c?.kind?c?.ui:void 0,n='factionCheck'===o?.revealResultFormat?t.result:(0,r(d[3]).getRoleDisplayName)(t.result),l=`${o?.revealTitlePrefix??v}\uff1a${(0,r(d[4]).formatSeat)(t.targetSeat)}\u662f${n}`,S=()=>{u.mutate(void 0,{onSuccess:t=>{s.current&&(t.success||(r(d[0]).roomScreenLog.warn('revealAck failed, re-showing dialog for retry',{reason:t.reason}),f.showRevealDialog(l,'',S)))}})};f.showRevealDialog(l,'',S)})}},2166,[1061,2167,1073,1077,1071]);
2433
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getRevealDataFromState=function(t,n){return t[`${n}Reveal`]},e.getSubStepByKey=function(t,n){return n&&'compound'===t?.kind?t.steps.find(t=>t.key===n)??null:null},e.buildWitchStepResults=function(t){return{stepResults:{save:t.saveTarget,poison:t.poisonTarget}}}},2167,[]);
2434
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"magicianFirstExecutor",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"actionConfirmExecutor",{enumerable:!0,get:function(){return n}});const t=(t,n)=>{r(d[0]).roomScreenLog.debug('magicianFirst',{targetSeat:t.targetSeat}),n.setFirstSwapSeat(t.targetSeat),n.actionDialogs.showMagicianFirstAlert(t.targetSeat,n.currentSchema)},n=(t,n)=>{const{effectiveRole:o,effectiveSeat:c,firstSwapSeat:s,setFirstSwapSeat:u,setSecondSeat:l,currentSchema:S,proceedWithAction:f,actionDialogs:p}=n;if(r(d[0]).roomScreenLog.debug('actionConfirm Processing',{effectiveRole:o,effectiveSeat:c,firstSwapSeat:s,schemaKind:S?.kind,schemaId:S?.id,'intent.targetSeat':t.targetSeat,'intent.stepKey':t.stepKey}),'magician'===o&&null!==s){const n=[s,t.targetSeat];l(t.targetSeat),setTimeout(()=>{p.showConfirmDialog(S.ui.confirmTitle,t.message??'',()=>{u(null),l(null),f(null,{targets:n})},()=>{u(null),l(null)})},0)}else{const n=(0,r(d[1]).getSubStepByKey)(S,t.stepKey);let o,s;if('compound'===S?.kind){if(null===c)return void r(d[0]).roomScreenLog.warn('[actionConfirm] Cannot submit compound action without seat (effectiveSeat is null)');s=c,'save'===n?.key?o=(0,r(d[1]).buildWitchStepResults)({saveTarget:t.targetSeat,poisonTarget:null}):'poison'===n?.key&&(o=(0,r(d[1]).buildWitchStepResults)({saveTarget:null,poisonTarget:t.targetSeat}))}else s=t.targetSeat;r(d[0]).roomScreenLog.debug('actionConfirm Submitting',{schemaKind:S?.kind,targetToSubmit:s,'intent.targetSeat':t.targetSeat,extra:o}),p.showConfirmDialog(n?.ui?.confirmTitle??S.ui.confirmTitle,n?.ui?.confirmText??t.message??'',()=>{f(s,o)})}}},2168,[1061,2167]);
2435
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"wolfVoteExecutor",{enumerable:!0,get:function(){return t}});const t=(t,o)=>{const{gameStateRef:l,currentSchema:f,effectiveSeat:n,effectiveRole:c,controlledSeat:S,proceedWithAction:u,actionDialogs:s}=o,w=t.wolfSeat??n;r(d[0]).roomScreenLog.info('wolfVote',{'intent.wolfSeat':t.wolfSeat,effectiveSeat:n,effectiveRole:c,controlledSeat:S,seat:w,targetSeat:t.targetSeat}),null!==w?s.showWolfVoteDialog(`${(0,r(d[1]).formatSeat)(w)}\u72fc\u4eba`,t.targetSeat,()=>{u(-1===t.targetSeat?null:t.targetSeat)},(()=>{if(t.targetSeat<0)return;const o=l.current?.players?.get(t.targetSeat)?.role;if('wolfKill'!==f?.id||!o)return;if(!(0,r(d[2]).getWolfKillImmuneRoleIds)().includes(o))return;return`${(f.ui?.voteConfirmTemplate??'').replace('{wolf}',`${(0,r(d[1]).formatSeat)(w)}\u72fc\u4eba`).replace('{seat}',`${(0,r(d[1]).formatSeat)(t.targetSeat)}`)}\n\uff08\u8be5\u89d2\u8272\u514d\u75ab\u72fc\u4eba\u88ad\u51fb\uff09`})(),f):r(d[0]).roomScreenLog.warn('wolfVote: effectiveSeat is null, cannot submit',{effectiveSeat:n,effectiveRole:c,controlledSeat:S})}},2169,[1061,1071,1077]);
2436
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"skipExecutor",{enumerable:!0,get:function(){return t}});const t=(t,n)=>{const{currentSchema:o,effectiveSeat:s,proceedWithAction:c,actionDialogs:u}=n;if('confirm'===o?.kind)return void u.showConfirmDialog('\u8df3\u8fc7\u672c\u6b21\u884c\u52a8\uff1f',t.message||r(d[0]).BLOCKED_UI_DEFAULTS.skipButtonText,()=>{c(null,{confirmed:!1})});const l=(0,r(d[1]).getSubStepByKey)(o,t.stepKey);let f,p=null;if('skipAll'===t.stepKey||'compound'===o?.kind){if(null===s)return void r(d[2]).roomScreenLog.warn('Cannot submit compound skip without seat (effectiveSeat is null)');f=(0,r(d[1]).buildWitchStepResults)({saveTarget:null,poisonTarget:null}),p=s}const S=l?.ui?.confirmText||t.message;if(!S)throw new Error(`[FAIL-FAST] Missing confirmText for skip action: ${t.stepKey}`);u.showConfirmDialog('\u8df3\u8fc7\u672c\u6b21\u884c\u52a8\uff1f',S,()=>{c(p,f)})}},2170,[1078,2167,1061]);
2437
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"actionPromptExecutor",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"confirmTriggerExecutor",{enumerable:!0,get:function(){return o}});const t=(t,o)=>{const{gameState:n,effectiveRole:c,currentSchema:s,currentActionRole:u,actionDialogs:f}=o,l=n?.ui?.currentActorHint,p=l&&c&&l.targetRoleIds.includes(c);if(r(d[0]).roomScreenLog.debug('actionPrompt UI Hint check',{hint:l?{kind:l.kind,targetRoleIds:l.targetRoleIds,bottomAction:l.bottomAction}:null,effectiveRole:c,hintApplies:p,'gameState.ui':n?.ui}),p&&l.promptOverride)return void f.showRoleActionPrompt(l.promptOverride.title,l.promptOverride.text,()=>{});if('compound'===s?.kind&&'witchAction'===s.id){const t=n?.witchContext;if(!t)return;return void f.showWitchInfoPrompt(t,s,()=>{})}if('confirm'===s?.kind){if(!s.ui?.prompt)throw new Error(`[FAIL-FAST] Missing schema.ui.prompt for confirm schema: ${u}`);const t=u?`${(0,r(d[1]).getRoleDisplayName)(u)}\u884c\u52a8`:'\u591c\u95f4\u884c\u52a8';return void f.showRoleActionPrompt(t,s.ui.prompt,()=>{})}if(!s?.ui?.prompt)throw new Error(`[FAIL-FAST] Missing schema.ui.prompt for role: ${u}`);const h=u?`${(0,r(d[1]).getRoleDisplayName)(u)}\u884c\u52a8`:'\u591c\u95f4\u884c\u52a8',w=p&&l.message?`${s.ui.prompt}\n\n\u26a0\ufe0f ${l.message}`:s.ui.prompt;f.showRoleActionPrompt(h,w,()=>{})},o=(t,o)=>{const{gameState:n,effectiveRole:c,effectiveSeat:s,currentSchema:u,proceedWithAction:f,actionDialogs:l}=o;if(!n)return;const p=u?.ui?.confirmStatusUi;if(!p)throw new Error(`[RoomScreen] confirmTrigger schema missing confirmStatusUi for ${u?.id}`);const h=n.confirmStatus,w=p.statusDialogTitle;let S;if('faction'===p.kind){const t='avenger'===h?.role?h.faction:r(d[2]).Team.Good;S=t===r(d[2]).Team.Third?p.bondedText:t===r(d[2]).Team.Wolf?p.wolfText:p.goodText}else{let t=!0;h&&'avenger'!==h.role&&h.role===c&&(t=h.canShoot),S=t?p.canText:p.cannotText}null!==s?l.showRoleActionPrompt(w,S,()=>{f(s,{confirmed:!0})}):r(d[0]).roomScreenLog.warn('[confirmTrigger] Cannot submit confirm action without seat (effectiveSeat is null)')}},2171,[1061,1077,1082]);
2438
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"wolfRobotViewHunterStatusExecutor",{enumerable:!0,get:function(){return t}});const t=(t,o)=>{const{gameState:n,effectiveSeat:u,currentSchema:l,hunterStatusAckMutation:c,actionDialogs:s}=o;if(!n?.wolfRobotReveal)return;if('wolfRobotLearn'!==l?.id)throw new Error(`[RoomScreen] wolfRobotViewHunterStatus intent received but currentSchema is ${l?.id}, expected wolfRobotLearn`);const f=l.ui?.hunterGateDialogTitle,h=l.ui?.hunterGateCanShootText,w=l.ui?.hunterGateCannotShootText;if(!f||!h||!w)throw new Error('[RoomScreen] wolfRobotLearn schema missing hunterGate UI fields - schema-driven UI requires these');const S=!0===n.wolfRobotReveal.canShootAsHunter?h:w;s.showRoleActionPrompt(f,S,()=>{null!==u?c.mutate(u,{onError:t=>{(0,r(d[1]).handleError)(t,{label:'\u673a\u68b0\u72fc\u786e\u8ba4\u730e\u4eba\u72b6\u6001',logger:r(d[0]).roomScreenLog,alertTitle:'\u786e\u8ba4\u5931\u8d25',alertMessage:'\u786e\u8ba4\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5'})}}):r(d[0]).roomScreenLog.warn('[wolfRobotViewHunterStatus] Cannot submit without seat (effectiveSeat is null)')})}},2172,[1061,1903]);
2439
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"multiSelectToggleExecutor",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"multiSelectConfirmExecutor",{enumerable:!0,get:function(){return o}});const t=(t,o)=>{const{currentSchema:n,multiSelectedSeats:c,setMultiSelectedSeats:l}=o,u=t.targetSeat;r(d[0]).roomScreenLog.debug('multiSelectToggle',{seat:u});const s=c;if(s.includes(u))l(s.filter(t=>t!==u));else{const t='multiChooseSeat'===n?.kind?n.maxTargets:void 0;if(null!=t&&s.length>=t)return void r(d[0]).roomScreenLog.debug('multiSelectToggle maxTargets reached, ignoring',{max:t});l([...s,u])}},o=async(t,o)=>{const{currentSchema:n,proceedWithAction:c,setMultiSelectedSeats:l,actionDialogs:u}=o,s=t.targets;if(!s||0===s.length)return void r(d[0]).roomScreenLog.warn('multiSelectConfirm with no targets');r(d[0]).roomScreenLog.debug('multiSelectConfirm',{targets:s});const S=n.ui.confirmText,f=s.map(t=>(0,r(d[1]).formatSeat)(t)).join('\u3001');u.showConfirmDialog(S,`\u5df2\u9009\u62e9: ${f}`,()=>{(async()=>{await c(null,{targets:s})&&l([])})()})}},2173,[1061,1071]);
2440
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"groupConfirmAckExecutor",{enumerable:!0,get:function(){return o}});const o=(o,t)=>{const{gameState:n,currentSchema:c,actorSeatForUi:s,groupConfirmAckMutation:u,actionDialogs:l}=t,p=s,f='groupConfirm'===c?.kind?c:null,S=f?.id;let v,y;if('awakenedGargoyleConvertReveal'===S){v=null!==p&&n?.convertedSeat===p?f.ui.hypnotizedText:f.ui.notHypnotizedText,y='\u8f6c\u5316\u4fe1\u606f'}else if('cupidLoversReveal'===S){const o=n?.loverSeats;if(null!==p&&o?.includes(p)&&o){const t=o[0]===p?o[1]:o[0],n=f.ui.loverText;v=n.replace('{seat}',(0,r(d[0]).formatSeat)(t))}else v=f.ui.notLoverText;y='\u60c5\u4fa3\u4fe1\u606f'}else{const o=n?.hypnotizedSeats??[];if(null!==p&&o.includes(p)){const t=o.map(o=>(0,r(d[0]).formatSeat)(o)).join('\u3001'),n=f.ui.hypnotizedText;v=n.replace('{seats}',t)}else v=f.ui.notHypnotizedText;y='\u50ac\u7720\u4fe1\u606f'}r(d[1]).roomScreenLog.debug('groupConfirmAck',{schemaId:S,personalMessage:v});const h=f.ui.confirmButtonText,x=()=>{u.mutate(void 0,{onSuccess:o=>{o.success||(r(d[1]).roomScreenLog.warn('groupConfirmAck failed, re-showing dialog for retry',{reason:o.reason}),l.showRoleActionPrompt(y,v,x,h))}})};l.showRoleActionPrompt(y,v,x,h)}},2174,[1071,1061]);
2441
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"chooseCardExecutor",{enumerable:!0,get:function(){return o}});const o=(o,t)=>{t.openChooseCardModal?.()}},2175,[]);
2442
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.generateSpeakOrder=function(t,o){const n=(0,r(d[0]).randomIntInclusive)(1,t,o),s=(0,r(d[0]).randomBool)(o)?'\u987a\u65f6\u9488':'\u9006\u65f6\u9488';return{startSeat:n,direction:s}},Object.defineProperty(e,"useRoomHostDialogs",{enumerable:!0,get:function(){return t}});const t=({gameState:t,assignRoles:o,startGame:n,restartGame:s,setIsStartingGame:l,navigation:u,roomCode:c})=>{const f=(0,r(d[1]).useRef)(!1),[b,C]=(0,r(d[1]).useState)(!1),S=(0,r(d[1]).useCallback)(t=>{f.current=t,C(t)},[]),p=(0,r(d[1]).useCallback)(()=>{if(!t)return;let n=0;t.players.forEach(t=>{null!==t&&n++});const s=t.template.numberOfPlayers;if(n!==s)return r(d[2]).roomScreenLog.warn('Cannot prepare to flip \u2014 seats not full',{seatedCount:n,totalSeats:s}),void(0,r(d[3]).showDismissAlert)('\u65e0\u6cd5\u5f00\u59cb\u6e38\u620f','\u8fd8\u6709\u7a7a\u4f4d\u672a\u5165\u5ea7');(0,r(d[3]).showConfirmAlert)('\u5206\u914d\u89d2\u8272\uff1f','\u6240\u6709\u5ea7\u4f4d\u5df2\u6ee1\uff0c\u5c06\u6d17\u724c\u5e76\u5206\u914d\u89d2\u8272',()=>{f.current||(S(!0),r(d[2]).roomScreenLog.debug('Assigning roles'),o().finally(()=>{S(!1)}))})},[t,o,S]),h=(0,r(d[1]).useCallback)(async()=>{if(!f.current){S(!0),r(d[2]).roomScreenLog.debug('Starting game');try{l(!0),await n()}finally{S(!1),l(!1)}}},[S,l,n]);return{showPrepareToFlipDialog:p,showStartGameDialog:(0,r(d[1]).useCallback)(()=>{(0,r(d[3]).showConfirmAlert)('\u5f00\u59cb\u6e38\u620f\uff1f','\u8bf7\u5c06\u624b\u673a\u97f3\u91cf\u8c03\u5230\u6700\u5927',()=>{h()})},[h]),showRestartDialog:(0,r(d[1]).useCallback)(()=>{(0,r(d[3]).showConfirmAlert)('\u91cd\u65b0\u5f00\u59cb\u6e38\u620f\uff1f','\u4f7f\u7528\u76f8\u540c\u914d\u7f6e\u5f00\u59cb\u65b0\u4e00\u5c40',()=>{f.current||(S(!0),r(d[2]).roomScreenLog.debug('Restarting game'),s().finally(()=>{S(!1)}))})},[s,S]),handleSettingsPress:(0,r(d[1]).useCallback)(()=>{u.navigate('Config',{existingRoomCode:c})},[u,c]),isHostActionSubmitting:b}}},2176,[1108,36,1061,1073]);
2443
- __d(function(g,r,i,_a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildActionLines=n,e.buildIdentityLines=c,e.buildNightReviewData=function(t){return{actionLines:n(t),identityLines:c(t.players)}};const t={wolfKill:'\u72fc\u6740',poison:'\u6bd2\u6740',checkDeath:'\u67e5\u9a8c\u81f4\u6b7b',wolfQueenLink:'\u9b45\u60d1\u8fde\u9501',bondedLink:'\u7ed1\u5b9a\u8fde\u9501',coupleLink:'\u6b89\u60c5',dreamcatcherLink:'\u6444\u68a6\u8fde\u9501',reflection:'\u53cd\u4f24',magicianSwap:'\u9b54\u672f\u5e08\u4ea4\u6362'};function o(t,o){for(const[a,l]of t)if(l?.role===o)return a}function a(t,o){const a=o.currentNightResults;if(a.poisonedSeat===t)return!0;const l=o.witchContext?.killedSeat;return void 0!==l&&l>=0&&l===t&&a.savedSeat!==t}function l(t,l){const s=l.currentNightResults;if(s.poisonedSeat===t)return!1;const n=l.loverSeats;if(n&&n.includes(t)){if(a(n[0]===t?n[1]:n[0],l))return!1}if(s.dreamingSeat===t){const t=o(l.players,'dreamcatcher');if(void 0!==t&&a(t,l))return!1}if(s.charmedSeat===t){const t=o(l.players,'wolfQueen');if(void 0!==t&&a(t,l))return!1}return!0}function s(t){if(!t)return;const o=Object.entries(t);if(0===o.length)return;const a=new Map;for(const[,t]of o)a.set(t,(a.get(t)??0)+1);let l,s=0,n=!1;for(const[t,o]of a)o>s?(s=o,l=t,n=!1):o===s&&(n=!0);return n?void 0:l}function n(a){const n=[],c=a.currentNightResults;if(a.bottomCards&&a.bottomCards.length>0){const t=a.bottomCards.map(t=>(0,r(_d[0]).getRoleDisplayName)(t)).join('\u3001');n.push(`${(0,r(_d[0]).getRoleEmoji)('treasureMaster')} \u5e95\u724c\u7ec4\u6210\uff1a${t}`)}if(a.treasureMasterChosenCard){const t=(0,r(_d[0]).getRoleDisplayName)(a.treasureMasterChosenCard);n.push(`${(0,r(_d[0]).getRoleEmoji)('treasureMaster')} \u76d7\u5b9d\u5927\u5e08\u9009\u62e9\u4e86 ${t}`)}if(a.thiefChosenCard){const t=(0,r(_d[0]).getRoleDisplayName)(a.thiefChosenCard);n.push(`${(0,r(_d[0]).getRoleEmoji)('thief')} \u76d7\u8d3c\u9009\u62e9\u4e86 ${t}`)}if(a.loverSeats&&2===a.loverSeats.length&&n.push(`${(0,r(_d[0]).getRoleEmoji)('cupid')} \u4e18\u6bd4\u7279\u8fde\u7ebf\u4e86 ${(0,r(_d[1]).formatSeat)(a.loverSeats[0])} \u548c ${(0,r(_d[1]).formatSeat)(a.loverSeats[1])}`),c.wolfVotesBySeat&&Object.keys(c.wolfVotesBySeat).length>0){const t=Object.entries(c.wolfVotesBySeat).map(([t,o])=>`${(0,r(_d[1]).formatSeat)(Number(t))}\u2192${(0,r(_d[1]).formatSeat)(o)}`).join('\uff0c');n.push(`${(0,r(_d[0]).getRoleEmoji)('wolf')} \u72fc\u4eba\u88ad\u51fb\uff1a${t}`)}else!c.wolfKillOverride&&Array.from(a.players.values()).some(t=>t?.role&&r(_d[0]).ROLE_SPECS[t.role]?.team===r(_d[2]).Team.Wolf)&&n.push(`${(0,r(_d[0]).getRoleEmoji)('wolf')} \u72fc\u4eba\u7a7a\u5200\uff08\u672a\u9009\u62e9\u76ee\u6807\uff09`);if(c.wolfKillOverride){const t='poisoner'===c.wolfKillOverride.source?'\u6bd2\u5e08\u5728\u573a':`\u88ab${(0,r(_d[0]).getRoleDisplayName)('nightmare')}\u5c01\u9501`;n.push(`${(0,r(_d[0]).getRoleEmoji)('wolf')} \u72fc\u4eba\u653e\u5f03\u88ad\u51fb\uff08${t}\uff09`)}if(null!=c.blockedSeat){const t=a.players.get(c.blockedSeat),o=t?.role?`\uff08${(0,r(_d[0]).getRoleDisplayName)(t.role)}\uff0c\u6280\u80fd\u65e0\u6548\uff09`:'';n.push(`${(0,r(_d[0]).getRoleEmoji)('nightmare')} ${(0,r(_d[0]).getRoleDisplayName)('nightmare')}\u5c01\u9501\u4e86 ${(0,r(_d[1]).formatSeat)(c.blockedSeat)}${o}`)}if(null!=c.shelteredSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('eclipseWolfQueen')} ${(0,r(_d[0]).getRoleDisplayName)('eclipseWolfQueen')}\u5e87\u62a4\u4e86 ${(0,r(_d[1]).formatSeat)(c.shelteredSeat)}`),null!=c.guardedSeat)n.push(`${r(_d[3]).ACTION.GUARD} \u5b88\u536b\u5b88\u62a4\u4e86 ${(0,r(_d[1]).formatSeat)(c.guardedSeat)}`);else{const t=o(a.players,'guard');void 0!==t&&c.blockedSeat!==t&&n.push(`${r(_d[3]).ACTION.GUARD} \u5b88\u536b\u672a\u5b88\u62a4`)}if(null!=c.silencedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('silenceElder')} \u7981\u8a00\u957f\u8001\u7981\u8a00\u4e86 ${(0,r(_d[1]).formatSeat)(c.silencedSeat)}`),null!=c.votebannedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('votebanElder')} \u7981\u7968\u957f\u8001\u7981\u7968\u4e86 ${(0,r(_d[1]).formatSeat)(c.votebannedSeat)}`),null!=c.savedSeat&&n.push(`${r(_d[3]).ACTION.SAVE} \u5973\u5deb\u4f7f\u7528\u89e3\u836f\u6551\u4e86 ${(0,r(_d[1]).formatSeat)(c.savedSeat)}`),null!=c.poisonedSeat){const t=void 0!==o(a.players,'poisoner')?'\u6bd2\u5e08\u6bd2\u6740\u4e86':'\u5973\u5deb\u4f7f\u7528\u6bd2\u836f\u6bd2\u6740\u4e86';n.push(`${r(_d[3]).ACTION.POISON} ${t} ${(0,r(_d[1]).formatSeat)(c.poisonedSeat)}`)}{const t=o(a.players,'witch'),l=o(a.players,'poisoner'),s=void 0!==t&&c.blockedSeat===t,d=void 0!==l&&c.blockedSeat===l;if(void 0!==t&&!s){const t=null==c.savedSeat,o=void 0===l,a=null==c.poisonedSeat;t&&o&&a?n.push(`${r(_d[3]).ACTION.SAVE} \u5973\u5deb\u672a\u4f7f\u7528\u836f\u6c34`):(t&&n.push(`${r(_d[3]).ACTION.SAVE} \u5973\u5deb\u672a\u4f7f\u7528\u89e3\u836f`),o&&a&&n.push(`${r(_d[3]).ACTION.POISON} \u5973\u5deb\u672a\u4f7f\u7528\u6bd2\u836f`))}void 0===l||d||null!=c.poisonedSeat||n.push(`${r(_d[3]).ACTION.POISON} \u6bd2\u5e08\u672a\u4f7f\u7528\u6bd2\u836f`)}null!=c.cursedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('crow')} \u4e4c\u9e26\u8bc5\u5492\u4e86 ${(0,r(_d[1]).formatSeat)(c.cursedSeat)}`),null!=c.dreamingSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('dreamcatcher')} \u6444\u68a6\u4eba\u6444\u68a6\u4e86 ${(0,r(_d[1]).formatSeat)(c.dreamingSeat)}`),c.swappedSeats&&n.push(`${(0,r(_d[0]).getRoleEmoji)('magician')} \u9b54\u672f\u5e08\u4ea4\u6362\u4e86 ${(0,r(_d[1]).formatSeat)(c.swappedSeats[0])} \u548c ${(0,r(_d[1]).formatSeat)(c.swappedSeats[1])}`);const d=a.actions.get('slacker');d&&'target'===d.kind&&n.push(`${(0,r(_d[0]).getRoleEmoji)('slacker')} ${(0,r(_d[0]).getRoleDisplayName)('slacker')}\u9009\u62e9\u4e86 ${(0,r(_d[1]).formatSeat)(d.targetSeat)} \u4e3a\u699c\u6837`);const f=a.actions.get('wildChild');if(f&&'target'===f.kind&&n.push(`${(0,r(_d[0]).getRoleEmoji)('wildChild')} \u91ce\u5b69\u5b50\u9009\u62e9\u4e86 ${(0,r(_d[1]).formatSeat)(f.targetSeat)} \u4e3a\u699c\u6837`),null!=c.shadowMimicTarget){const t=c.avengerFaction===r(_d[2]).Team.Third?`${(0,r(_d[0]).getRoleEmoji)('shadow')} \u5f71\u5b50\u6a21\u4eff\u4e86 ${(0,r(_d[1]).formatSeat)(c.shadowMimicTarget)}\uff08\u7ed1\u5b9a\uff09`:`${(0,r(_d[0]).getRoleEmoji)('shadow')} \u5f71\u5b50\u6a21\u4eff\u4e86 ${(0,r(_d[1]).formatSeat)(c.shadowMimicTarget)}`;n.push(t)}void 0!==o(a.players,'avenger')&&n.push(`${(0,r(_d[0]).getRoleEmoji)('avenger')} \u590d\u4ec7\u8005\u5df2\u786e\u8ba4\u9635\u8425`);const u=a.actions.get('wolfQueen');if(u&&'target'===u.kind&&n.push(`${r(_d[3]).ACTION.CHARM} \u72fc\u7f8e\u4eba\u9b45\u60d1\u4e86 ${(0,r(_d[1]).formatSeat)(u.targetSeat)}`),null!=c.convertedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('awakenedGargoyle')} \u89c9\u9192\u77f3\u50cf\u9b3c\u8f6c\u5316\u4e86 ${(0,r(_d[1]).formatSeat)(c.convertedSeat)}`),c.hypnotizedSeats&&c.hypnotizedSeats.length>0){const t=c.hypnotizedSeats.map(t=>(0,r(_d[1]).formatSeat)(t)).join('\u3001');n.push(`${(0,r(_d[0]).getRoleEmoji)('piper')} \u5439\u7b1b\u8005\u50ac\u7720\u4e86 ${t}`)}const S=[{key:'seerReveal',label:'\u9884\u8a00\u5bb6'},{key:'mirrorSeerReveal',label:'\u706f\u5f71\u9884\u8a00\u5bb6'},{key:'drunkSeerReveal',label:'\u9152\u9b3c\u9884\u8a00\u5bb6'},{key:'psychicReveal',label:'\u901a\u7075\u5e08'},{key:'gargoyleReveal',label:'\u77f3\u50cf\u9b3c'},{key:'pureWhiteReveal',label:'\u7eaf\u767d\u4e4b\u5973'},{key:'wolfWitchReveal',label:'\u72fc\u5deb'}];for(const{key:t,label:o}of S){const l=a[t];l&&n.push(`${r(_d[3]).ACTION.CHECK} ${o}\u67e5\u9a8c ${(0,r(_d[1]).formatSeat)(l.targetSeat)}\uff1a${l.result}`)}if(a.wolfRobotReveal){const t=a.wolfRobotReveal;n.push(`${r(_d[3]).ACTION.LEARN} ${(0,r(_d[0]).getRoleDisplayName)('wolfRobot')}\u5b66\u4e60\u4e86 ${(0,r(_d[1]).formatSeat)(t.targetSeat)}\uff08${(0,r(_d[0]).getRoleDisplayName)(t.learnedRoleId)}\uff09`)}const p=o(a.players,'hunter');if(void 0!==p){const t=l(p,a);n.push(t?`${r(_d[3]).ACTION.SHOOT} \u730e\u4eba\u53ef\u4ee5\u53d1\u52a8\u6280\u80fd`:`${r(_d[3]).ACTION.SHOOT} \u730e\u4eba\u4e0d\u80fd\u53d1\u52a8\u6280\u80fd`)}const h=o(a.players,'darkWolfKing');if(void 0!==h){const t=l(h,a);n.push(t?`${(0,r(_d[0]).getRoleEmoji)('darkWolfKing')} ${(0,r(_d[0]).getRoleDisplayName)('darkWolfKing')}\u53ef\u4ee5\u53d1\u52a8\u6280\u80fd`:`${(0,r(_d[0]).getRoleEmoji)('darkWolfKing')} ${(0,r(_d[0]).getRoleDisplayName)('darkWolfKing')}\u4e0d\u80fd\u53d1\u52a8\u6280\u80fd`)}const $=s(c.wolfVotesBySeat);if(void 0!==$&&c.guardedSeat===$&&c.savedSeat===$&&n.push(`\u26a0\ufe0f \u540c\u5b88\u540c\u6551\uff1a${(0,r(_d[1]).formatSeat)($)} \u4ecd\u7136\u6b7b\u4ea1`),null!=c.poisonedSeat){const t=a.players.get(c.poisonedSeat);if(t?.role){const o=r(_d[0]).ROLE_SPECS[t.role]?.abilities?.some(t=>'passive'===t.type&&'immuneToPoison'===t.effect);o&&n.push(`\u26a0\ufe0f ${(0,r(_d[1]).formatSeat)(c.poisonedSeat)}\uff08${(0,r(_d[0]).getRoleDisplayName)(t.role)}\uff09\u514d\u75ab\u6bd2\u836f`)}}const R=[{key:'seerReveal',roleId:'seer'},{key:'mirrorSeerReveal',roleId:'mirrorSeer'},{key:'drunkSeerReveal',roleId:'drunkSeer'},{key:'psychicReveal',roleId:'psychic'},{key:'gargoyleReveal',roleId:'gargoyle'},{key:'pureWhiteReveal',roleId:'pureWhite'},{key:'wolfWitchReveal',roleId:'wolfWitch'}];for(const{key:t,roleId:o}of R){const l=a[t];if(l){const t=a.players.get(l.targetSeat);if(t?.role){const a=r(_d[0]).ROLE_SPECS[t.role]?.abilities?.some(t=>'passive'===t.type&&'reflectsDamage'===t.effect);a&&n.push(`\u26a0\ufe0f ${(0,r(_d[0]).getRoleDisplayName)(o)} \u67e5\u9a8c\u4e86 ${(0,r(_d[1]).formatSeat)(l.targetSeat)}\uff08${(0,r(_d[0]).getRoleDisplayName)(t.role)}\uff09\uff0c\u906d\u5230\u53cd\u4f24`)}}}const y=a.lastNightDeaths;if(0===y.length)n.push(`${r(_d[3]).STATUS.PEACEFUL_NIGHT} \u6628\u591c\u5e73\u5b89\u591c`);else{const{deathReasons:o}=a,l=y.map(a=>{const l=o?.[a];return l?`${(0,r(_d[1]).formatSeat)(a)}\uff08${t[l]}\uff09`:(0,r(_d[1]).formatSeat)(a)}).join('\u3001');n.push(`${r(_d[3]).STATUS.DEATH} \u6b7b\u4ea1\uff1a${l}`)}return n}function c(t){const o=[],a=Array.from(t.keys()).sort((t,o)=>t-o);for(const l of a){const a=t.get(l);if(!a){o.push(`${(0,r(_d[1]).formatSeat)(l)}: \u7a7a\u5ea7`);continue}const s=a.role?(0,r(_d[0]).getRoleDisplayName)(a.role):'\u672a\u5206\u914d';o.push(`${(0,r(_d[1]).formatSeat)(l)}: ${s}`)}return o}},2177,[1077,1071,1082,1448]);
2444
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.uploadShareImage=async function(t){r(d[0]).shareLog.debug('Uploading share image',{sizeKB:Math.round(t.length/1024)});const{url:n}=await(0,r(d[1]).cfPost)('/share/image',{base64:t});return n}},2178,[1061,1072]);
2445
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomModals=function(t){const s=(0,r(d[0]).c)(30),{isHost:o,canShareReport:l,getLastNightInfo:n,getCurseInfo:c,shareNightReview:h,beginReportCapture:u,shareNightReviewReport:S}=t,[R,w]=(0,r(d[1]).useState)(!1),[f,_]=(0,r(d[1]).useState)(!1),[v,P]=(0,r(d[1]).useState)(!1);let b;s[0]===Symbol.for("react.memo_cache_sentinel")?(b=()=>{w(!1),_(!1),P(!1)},s[0]=b):b=s[0];const y=b,[x,C]=(0,r(d[1]).useState)(null);let A;s[1]===Symbol.for("react.memo_cache_sentinel")?(A=t=>{C(t)},s[1]=A):A=s[1];const N=A;let p;s[2]===Symbol.for("react.memo_cache_sentinel")?(p=()=>{C(null)},s[2]=p):p=s[2];const I=p,[L,T]=(0,r(d[1]).useState)(!1),[V,k]=(0,r(d[1]).useState)(!1),M=(0,r(d[1]).useRef)(!1);let O;s[3]===Symbol.for("react.memo_cache_sentinel")?(O=()=>{(0,r(d[2]).showConfirmAlert)("\u63d0\u793a","\u8bf7\u786e\u4fdd\u4f60\u662f\u88c1\u5224\u6216\u89c2\u6218\u73a9\u5bb6\uff0c\u518d\u67e5\u770b\u8be6\u7ec6\u4fe1\u606f",()=>k(!0),{confirmText:"\u786e\u5b9a\u67e5\u770b"})},s[3]=O):O=s[3];const D=O;let j;s[4]!==l||s[5]!==o||s[6]!==S?(j=t=>{const s=()=>{M.current=!1};o?(0,r(d[3]).showAlert)("\u8be6\u7ec6\u4fe1\u606f","\u9009\u62e9\u64cd\u4f5c",[{text:"\u81ea\u5df1\u67e5\u770b",onPress:()=>{s(),D()}},{text:"\u5206\u4eab\u7ed9\u73a9\u5bb6",onPress:()=>{s(),T(!0)}},{text:"\u5206\u4eab\u6218\u62a5",loading:t,onPress:()=>{s(),S()}},{text:"\u53d6\u6d88",style:"cancel",onPress:s}]):l&&(0,r(d[3]).showAlert)("\u8be6\u7ec6\u4fe1\u606f","\u9009\u62e9\u64cd\u4f5c",[{text:"\u67e5\u770b",onPress:()=>{s(),D()}},{text:"\u5206\u4eab\u6218\u62a5",loading:t,onPress:()=>{s(),S()}},{text:"\u53d6\u6d88",style:"cancel",onPress:s}])},s[4]=l,s[5]=o,s[6]=S,s[7]=j):j=s[7];const B=j;let H;s[8]!==u||s[9]!==l||s[10]!==o||s[11]!==B?(H=()=>{o||l?(M.current=!0,u().then(()=>{M.current&&B(!1)}),B(!0)):D()},s[8]=u,s[9]=l,s[10]=o,s[11]=B,s[12]=H):H=s[12];const U=H;let q;s[13]===Symbol.for("react.memo_cache_sentinel")?(q=()=>k(!1),s[13]=q):q=s[13];const z=q;let E;s[14]===Symbol.for("react.memo_cache_sentinel")?(E=()=>T(!1),s[14]=E):E=s[14];const F=E;let G;s[15]!==h?(G=async t=>{await h(t),T(!1)},s[15]=h,s[16]=G):G=s[16];const J=G;let K;s[17]!==c||s[18]!==n?(K=()=>{(0,r(d[2]).showConfirmAlert)("\u63d0\u793a","\u8bf7\u5728\u8b66\u957f\u7ade\u9009\u7ed3\u675f\u540e\u518d\u67e5\u770b\uff0c\u8bf7\u52ff\u4f5c\u5f0a",()=>{const t=n(),s=c(),o=[r(d[3]).DISMISS_BUTTON];null!=s&&o.unshift({text:"\u67e5\u770b\u8bc5\u5492",onPress:()=>{(0,r(d[2]).showDismissAlert)("\u4e4c\u9e26\u8bc5\u5492",s)}}),(0,r(d[3]).showAlert)("\u6628\u591c\u4fe1\u606f",t,o)},{confirmText:"\u786e\u5b9a\u67e5\u770b"})},s[17]=c,s[18]=n,s[19]=K):K=s[19];const Q=K;let W;s[20]!==J||s[21]!==v||s[22]!==V||s[23]!==U||s[24]!==R||s[25]!==L||s[26]!==f||s[27]!==Q||s[28]!==x?(W={roleCardVisible:R,shouldPlayRevealAnimation:f,isLoadingRole:v,setRoleCardVisible:w,setShouldPlayRevealAnimation:_,setIsLoadingRole:P,handleRoleCardClose:y,skillPreviewRoleId:x,handleSkillPreviewOpen:N,handleSkillPreviewClose:I,nightReviewVisible:V,openNightReview:U,closeNightReview:z,shareReviewVisible:L,closeShareReview:F,handleShareNightReview:J,showLastNightInfo:Q},s[20]=J,s[21]=v,s[22]=V,s[23]=U,s[24]=R,s[25]=L,s[26]=f,s[27]=Q,s[28]=x,s[29]=W):W=s[29];return W}},2179,[1092,36,1073,1074]);
2446
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useNightProgress=function(t){const s=(0,r(d[0]).c)(11),{currentStepId:l,gameState:n}=t;let o;if(s[0]!==l||s[1]!==n){e:{if(!l||n?.status!==r(d[1]).GameStatus.Ongoing){o=null;break e}const t=(0,r(d[2]).buildNightPlan)(n.template.roles,n.seerLabelMap);let c;s[3]!==l?(c=t=>t.stepId===l,s[3]=l,s[4]=c):c=s[4];const u=t.steps.findIndex(c);if(-1===u){o=null;break e}const p=t.steps[u];let f=p?.displayName;if(p){const t=(0,r(d[2]).getRoleDisplayAs)(p.roleId);if(t){const s=(0,r(d[2]).getRoleSpec)(t);f=s?.displayName??f}const s=n.seerLabelMap;if(s){const t=s[p.roleId];null!=t&&f&&(f=`${t}\u53f7${f}`)}}const b=u+1;let I;s[5]!==t||s[6]!==f||s[7]!==b?(I={current:b,total:t.length,roleName:f},s[5]=t,s[6]=f,s[7]=b,s[8]=I):I=s[8],o=I}s[0]=l,s[1]=n,s[2]=o}else o=s[2];const c=o;let u;s[9]!==c?(u={nightProgress:c},s[9]=c,s[10]=u):u=s[10];return u}},2180,[1092,1904,1077]);
2447
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSpeakingOrder=function(t){const n=(0,r(d[0]).c)(7),{roomStatus:u,isAudioPlaying:c,gameState:o}=t,[s,f]=(0,r(d[1]).useState)(),S=(0,r(d[1]).useRef)(!1),l=(0,r(d[1]).useRef)(o);let v,R,p,E;n[0]!==o?(v=()=>{l.current=o},R=[o],n[0]=o,n[1]=v,n[2]=R):(v=n[1],R=n[2]);(0,r(d[1]).useEffect)(v,R),n[3]!==c||n[4]!==u?(p=()=>{if(u!==r(d[2]).GameStatus.Ended)return S.current=!1,void f(void 0);if(!l.current||c||S.current)return;S.current=!0;const t=l.current.roleRevealRandomNonce??l.current.roomCode,n=(0,r(d[3]).createSeededRng)(t),o=l.current.template.numberOfPlayers,{startSeat:s,direction:v}=(0,r(d[4]).generateSpeakOrder)(o,n);f(`${r(d[5]).STATUS.SPEAKING} \u4ece ${s} \u53f7\u5f00\u59cb ${v}\u53d1\u8a00`);const R=setTimeout(()=>f(void 0),6e4);return()=>clearTimeout(R)},E=[u,c],n[3]=c,n[4]=u,n[5]=p,n[6]=E):(p=n[5],E=n[6]);return(0,r(d[1]).useEffect)(p,E),s}},2181,[1092,36,1904,1108,2176,1448]);
2408
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.generateSpeakOrder=function(t,o){const n=(0,r(d[1]).randomIntInclusive)(1,t,o),s=(0,r(d[1]).randomBool)(o)?'\u987a\u65f6\u9488':'\u9006\u65f6\u9488';return{startSeat:n,direction:s}},Object.defineProperty(e,"useRoomHostDialogs",{enumerable:!0,get:function(){return o}});var t=r(d[0]);const o=({gameState:o,assignRoles:n,startGame:s,restartGame:l,setIsStartingGame:c,navigation:u,roomCode:f})=>{const b=(0,r(d[2]).useRef)(!1),[h,S]=(0,r(d[2]).useState)(!1),w=(0,r(d[2]).useCallback)(t=>{b.current=t,S(t)},[]),C=(0,r(d[2]).useCallback)(()=>{if(!o)return;let s=0;o.players.forEach(t=>{null!==t&&s++});const l=o.template.numberOfPlayers;if(s!==l)return r(d[3]).roomScreenLog.warn('Cannot prepare to flip \u2014 seats not full',{seatedCount:s,totalSeats:l}),void(0,r(d[4]).showDismissAlert)('\u65e0\u6cd5\u5f00\u59cb\u6e38\u620f','\u8fd8\u6709\u7a7a\u4f4d\u672a\u5165\u5ea7');(0,r(d[4]).showConfirmAlert)('\u5206\u914d\u89d2\u8272\uff1f','\u6240\u6709\u5ea7\u4f4d\u5df2\u6ee1\uff0c\u5c06\u6d17\u724c\u5e76\u5206\u914d\u89d2\u8272',async()=>{if(!b.current){w(!0),r(d[3]).roomScreenLog.debug('Assigning roles');try{await n()}catch(o){throw(0,t.handleError)(o,{label:'\u5206\u914d\u89d2\u8272',logger:r(d[3]).roomScreenLog,feedback:'toast'}),o}finally{w(!1)}}})},[o,n,w]),y=(0,r(d[2]).useCallback)(async()=>{if(!b.current){w(!0),r(d[3]).roomScreenLog.debug('Starting game');try{c(!0),await s()}catch(o){throw(0,t.handleError)(o,{label:'\u5f00\u59cb\u6e38\u620f',logger:r(d[3]).roomScreenLog,feedback:'toast'}),o}finally{w(!1),c(!1)}}},[w,c,s]);return{showPrepareToFlipDialog:C,showStartGameDialog:(0,r(d[2]).useCallback)(()=>{(0,r(d[4]).showConfirmAlert)('\u5f00\u59cb\u6e38\u620f\uff1f','\u8bf7\u5c06\u624b\u673a\u97f3\u91cf\u8c03\u5230\u6700\u5927',()=>y())},[y]),showRestartDialog:(0,r(d[2]).useCallback)(()=>{(0,r(d[4]).showConfirmAlert)('\u91cd\u65b0\u5f00\u59cb\u6e38\u620f\uff1f','\u4f7f\u7528\u76f8\u540c\u914d\u7f6e\u5f00\u59cb\u65b0\u4e00\u5c40',async()=>{if(!b.current){w(!0),r(d[3]).roomScreenLog.debug('Restarting game');try{await l()}catch(o){throw(0,t.handleError)(o,{label:'\u91cd\u65b0\u5f00\u59cb',logger:r(d[3]).roomScreenLog,feedback:'toast'}),o}finally{w(!1)}}})},[l,w]),handleSettingsPress:(0,r(d[2]).useCallback)(()=>{u.navigate('Config',{existingRoomCode:f})},[u,f]),isHostActionSubmitting:h}}},2142,[1903,1108,36,1061,1073]);
2409
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useActionOrchestrator=function({gameState:o,roomStatus:c,currentActionRole:u,currentSchema:s,effectiveSeat:l,effectiveRole:S,controlledSeat:f,actorSeatForUi:A,imActioner:p,isAudioPlaying:b,myUserId:h,needsContinueOverlay:y,firstSwapSeat:k,setFirstSwapSeat:w,setSecondSeat:R,submitAction:I,submitRevealAck:v,sendWolfRobotHunterStatusViewed:C,submitGroupConfirmAck:M,multiSelectedSeats:L,setMultiSelectedSeats:U,getAutoTriggerIntent:j,actionDialogs:E,openChooseCardModal:T}){const F=(0,r(d[2]).useAckMutation)('reveal',()=>v()),x=(0,r(d[2]).useAckMutation)('hunterStatus',t=>C(t)),O=(0,r(d[2]).useAckMutation)('groupConfirm',()=>M()),W=(0,r(d[3]).useRef)(null),$=(0,r(d[3]).useRef)(null),_=(0,r(d[3]).useRef)(null),D=(0,r(d[3]).useRef)(!0);(0,r(d[3]).useEffect)(()=>()=>{D.current=!1},[]),(0,r(d[3]).useEffect)(()=>{W.current=o},[o]);const P=(0,r(d[3]).useRef)(!1),[G,N]=(0,r(d[3]).useState)(!1),H=(0,r(d[3]).useCallback)(t=>{P.current=t,N(t)},[]),V=(0,r(d[3]).useCallback)(async(n,o)=>{if(P.current)return r(d[4]).roomScreenLog.debug('proceedWithAction Skipped: already submitting'),!1;H(!0),r(d[4]).roomScreenLog.debug('proceedWithAction Submitting',{targetSeat:n});try{return void 0!==o?await I(n,o):await I(n),!0}catch(n){throw(0,t.handleError)(n,{label:'\u63d0\u4ea4\u64cd\u4f5c',logger:r(d[4]).roomScreenLog,feedback:'toast',alertMessage:'\u8bf7\u7a0d\u540e\u91cd\u8bd5'}),n}finally{H(!1)}},[I,H]),q=(0,r(d[3]).useCallback)((t,n,o)=>{const c=o?.title??s?.ui?.confirmTitle??'\u786e\u8ba4\u64cd\u4f5c',u=o?.message??s?.ui?.confirmText??'\u6267\u884c\u6b64\u64cd\u4f5c\uff1f';E.showConfirmDialog(c,u,async()=>{await V(t)&&await n()})},[E,s,V]);(0,r(d[3]).useEffect)(()=>{const t=o?.actionRejected;if(!t)return void(_.current=null);const n=null===l?null:o?.players.get(l)?.userId,c=t.targetUserId===h||t.targetUserId===n;if(!h||!c)return;const u=t.rejectionId??`${t.action}:${t.reason}:${t.targetUserId}`;u!==_.current&&(_.current=u,r(d[4]).roomScreenLog.warn('Action rejected by server',{action:t.action,reason:t.reason,targetUserId:t.targetUserId}),E.showActionRejectedAlert(t.reason))},[o?.actionRejected,o?.players,h,l,E]);const z=(0,r(d[3]).useCallback)(async t=>{const c={gameState:o,gameStateRef:W,currentSchema:s,currentActionRole:u,effectiveSeat:l,effectiveRole:S,controlledSeat:f,actorSeatForUi:A,firstSwapSeat:k,setFirstSwapSeat:w,setSecondSeat:R,multiSelectedSeats:L,setMultiSelectedSeats:U,proceedWithAction:V,confirmThenAct:q,revealAckMutation:F,hunterStatusAckMutation:x,groupConfirmAckMutation:O,openChooseCardModal:T,actionDialogs:E,mountedRef:D};if(!await(0,n.dispatchIntent)(t,c))throw new Error(`[FAIL-FAST] No executor registered for ActionIntentType: ${String(t.type)}`)},[o,S,l,k,E,q,s,u,F,x,O,A,L,U,w,R,f,V,T]);return(0,r(d[3]).useEffect)(()=>{if(c!==r(d[5]).GameStatus.Ongoing||!u)return void(null!==$.current&&(r(d[4]).roomScreenLog.debug(' Clearing key (not ongoing or night ended)'),$.current=null));if(!p||b||y)return;const n=j();if(!n)return;const s=[c,o?.currentStepIndex??'null',u??'null',A??'null',p?'A':'N',b?'P':'S',S??'null',k??'null',n.type].join('|');s!==$.current?(r(d[4]).roomScreenLog.debug('Triggering auto-intent',{key:s,intent:n.type}),$.current=s,z(n).catch(n=>{(0,t.handleError)(n,{label:'auto-trigger',logger:r(d[4]).roomScreenLog,feedback:!1})})):r(d[4]).roomScreenLog.debug('Skipping duplicate auto-intent',{key:s})},[p,b,y,S,A,k,c,u,o?.currentStepIndex,j,z]),{handleActionIntent:z,isActionSubmitting:G}};var t=r(d[0]),n=r(d[1])},2143,[1903,2144,2156,36,1061,1904]);
2410
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"dispatchIntent",{enumerable:!0,get:function(){return r(d[0]).dispatchIntent}});var t=r(d[1]),o=r(d[2]),c=r(d[3]);(0,r(d[0]).clearExecutors)(),(0,r(d[0]).registerExecutor)('reveal',t.revealExecutor),(0,r(d[0]).registerExecutor)('magicianFirst',r(d[4]).magicianFirstExecutor),(0,r(d[0]).registerExecutor)('wolfVote',r(d[5]).wolfVoteExecutor),(0,r(d[0]).registerExecutor)('actionConfirm',r(d[4]).actionConfirmExecutor),(0,r(d[0]).registerExecutor)('skip',r(d[6]).skipExecutor),(0,r(d[0]).registerExecutor)('actionPrompt',r(d[7]).actionPromptExecutor),(0,r(d[0]).registerExecutor)('confirmTrigger',r(d[7]).confirmTriggerExecutor),(0,r(d[0]).registerExecutor)('wolfRobotViewHunterStatus',c.wolfRobotViewHunterStatusExecutor),(0,r(d[0]).registerExecutor)('multiSelectToggle',r(d[8]).multiSelectToggleExecutor),(0,r(d[0]).registerExecutor)('multiSelectConfirm',r(d[8]).multiSelectConfirmExecutor),(0,r(d[0]).registerExecutor)('groupConfirmAck',o.groupConfirmAckExecutor),(0,r(d[0]).registerExecutor)('chooseCard',r(d[9]).chooseCardExecutor);t.revealExecutor,r(d[4]).magicianFirstExecutor,r(d[5]).wolfVoteExecutor,r(d[4]).actionConfirmExecutor,r(d[6]).skipExecutor,r(d[7]).actionPromptExecutor,r(d[7]).confirmTriggerExecutor,c.wolfRobotViewHunterStatusExecutor,r(d[8]).multiSelectToggleExecutor,r(d[8]).multiSelectConfirmExecutor,o.groupConfirmAckExecutor,r(d[9]).chooseCardExecutor},2144,[2145,2146,2148,2149,2150,2151,2152,2153,2154,2155]);
2411
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.clearExecutors=function(){for(const o of Object.keys(t))delete t[o]},e.registerExecutor=function(o,n){if(t[o])throw new Error(`[FAIL-FAST] Duplicate executor registration for '${o}'`);t[o]=n},e.dispatchIntent=async function(o,n){const c=t[o.type];return!!c&&(r(d[0]).roomScreenLog.debug('dispatchIntent Delegating to executor',{type:o.type}),await c(o,n),!0)};const t={}},2145,[1061]);
2412
+ __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"revealExecutor",{enumerable:!0,get:function(){return o}});var t=r(d[0]);const o=(o,n)=>{const{gameState:i,gameStateRef:c,currentSchema:l,confirmThenAct:s,mountedRef:u}=n,{revealAckMutation:f,actionDialogs:v}=n;if(!i)return;if(!o.revealKind)return void r(d[1]).roomScreenLog.warn(' reveal intent missing revealKind');const S=o.revealKind;s(o.targetSeat,async()=>{let o;for(let t=0;t<30;t++){if(await new Promise(t=>setTimeout(t,100)),!u.current)return;const t=c.current;if(t&&(o=(0,r(d[2]).getRevealDataFromState)(t,S)),o)break}if(!u.current)return;if(!o)return r(d[1]).roomScreenLog.warn(`${S}Reveal timeout - no reveal received after 3000ms`),void(0,r(d[3]).showErrorAlert)('\u67e5\u770b\u7ed3\u679c\u8d85\u65f6','\u672a\u6536\u5230\u670d\u52a1\u7aef\u8fd4\u56de\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5');const n='compound'!==l?.kind?l?.ui:void 0,i='factionCheck'===n?.revealResultFormat?o.result:(0,r(d[4]).getRoleDisplayName)(o.result),s=`${n?.revealTitlePrefix??S}\uff1a${(0,r(d[5]).formatSeat)(o.targetSeat)}\u662f${i}`;v.showRevealDialog(s,'',()=>new Promise((o,n)=>{f.mutate(void 0,{onSuccess:t=>{u.current&&(t.success?o():(r(d[1]).roomScreenLog.warn('revealAck failed',{reason:t.reason}),n(new Error(t.reason??'revealAck failed'))))},onError:o=>{(0,t.handleError)(o,{label:'\u786e\u8ba4\u67e5\u9a8c\u7ed3\u679c',logger:r(d[1]).roomScreenLog,feedback:'toast',alertMessage:'\u8bf7\u7a0d\u540e\u91cd\u8bd5'}),n(o)}})}))})}},2146,[1903,1061,2147,1073,1077,1071]);
2413
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getRevealDataFromState=function(t,n){return t[`${n}Reveal`]},e.getSubStepByKey=function(t,n){return n&&'compound'===t?.kind?t.steps.find(t=>t.key===n)??null:null},e.buildWitchStepResults=function(t){return{stepResults:{save:t.saveTarget,poison:t.poisonTarget}}}},2147,[]);
2414
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"groupConfirmAckExecutor",{enumerable:!0,get:function(){return t}});var o=r(d[0]);const t=(t,n)=>{const{gameState:s,currentSchema:c,actorSeatForUi:l,groupConfirmAckMutation:u,actionDialogs:f}=n,p=l,S='groupConfirm'===c?.kind?c:null,v=S?.id;let k,x;if('awakenedGargoyleConvertReveal'===v){k=null!==p&&s?.convertedSeat===p?S.ui.hypnotizedText:S.ui.notHypnotizedText,x='\u8f6c\u5316\u4fe1\u606f'}else if('cupidLoversReveal'===v){const o=s?.loverSeats;if(null!==p&&o?.includes(p)&&o){const t=o[0]===p?o[1]:o[0];k=S.ui.loverText.replace('{seat}',(0,r(d[1]).formatSeat)(t))}else k=S.ui.notLoverText;x='\u60c5\u4fa3\u4fe1\u606f'}else{const o=s?.hypnotizedSeats??[];if(null!==p&&o.includes(p)){const t=o.map(o=>(0,r(d[1]).formatSeat)(o)).join('\u3001');k=S.ui.hypnotizedText.replace('{seats}',t)}else k=S.ui.notHypnotizedText;x='\u50ac\u7720\u4fe1\u606f'}r(d[2]).roomScreenLog.debug('groupConfirmAck',{schemaId:v,personalMessage:k});const y=S.ui.confirmButtonText;f.showRoleActionPrompt(x,k,()=>new Promise((t,n)=>{u.mutate(void 0,{onSuccess:o=>{o.success?t():(r(d[2]).roomScreenLog.warn('groupConfirmAck failed',{reason:o.reason}),n(new Error(o.reason??'groupConfirmAck failed')))},onError:t=>{(0,o.handleError)(t,{label:'\u786e\u8ba4\u4fe1\u606f',logger:r(d[2]).roomScreenLog,feedback:'toast',alertMessage:'\u8bf7\u7a0d\u540e\u91cd\u8bd5'}),n(t)}})}),y)}},2148,[1903,1071,1061]);
2415
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"wolfRobotViewHunterStatusExecutor",{enumerable:!0,get:function(){return o}});var t=r(d[0]);const o=(o,n)=>{const{gameState:u,effectiveSeat:c,currentSchema:s,hunterStatusAckMutation:l,actionDialogs:f}=n;if(!u?.wolfRobotReveal)return;if('wolfRobotLearn'!==s?.id)throw new Error(`[RoomScreen] wolfRobotViewHunterStatus intent received but currentSchema is ${s?.id}, expected wolfRobotLearn`);const w=s.ui?.hunterGateDialogTitle,h=s.ui?.hunterGateCanShootText,S=s.ui?.hunterGateCannotShootText;if(!w||!h||!S)throw new Error('[RoomScreen] wolfRobotLearn schema missing hunterGate UI fields - schema-driven UI requires these');const b=!0===u.wolfRobotReveal.canShootAsHunter?h:S;f.showRoleActionPrompt(w,b,()=>{if(null!==c)return new Promise((o,n)=>{l.mutate(c,{onSuccess:()=>o(),onError:o=>{(0,t.handleError)(o,{label:'\u673a\u68b0\u72fc\u786e\u8ba4\u730e\u4eba\u72b6\u6001',logger:r(d[1]).roomScreenLog,feedback:'toast',alertMessage:'\u786e\u8ba4\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5'}),n(o)}})});r(d[1]).roomScreenLog.warn('[wolfRobotViewHunterStatus] Cannot submit without seat (effectiveSeat is null)')})}},2149,[1903,1061]);
2416
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"magicianFirstExecutor",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"actionConfirmExecutor",{enumerable:!0,get:function(){return n}});const t=(t,n)=>{r(d[0]).roomScreenLog.debug('magicianFirst',{targetSeat:t.targetSeat}),n.setFirstSwapSeat(t.targetSeat),n.actionDialogs.showMagicianFirstAlert(t.targetSeat,n.currentSchema)},n=(t,n)=>{const{effectiveRole:o,effectiveSeat:c,firstSwapSeat:s,setFirstSwapSeat:u,setSecondSeat:l,currentSchema:S,proceedWithAction:f,actionDialogs:p}=n;if(r(d[0]).roomScreenLog.debug('actionConfirm Processing',{effectiveRole:o,effectiveSeat:c,firstSwapSeat:s,schemaKind:S?.kind,schemaId:S?.id,'intent.targetSeat':t.targetSeat,'intent.stepKey':t.stepKey}),'magician'===o&&null!==s){const n=[s,t.targetSeat];l(t.targetSeat),setTimeout(()=>{p.showConfirmDialog(S.ui.confirmTitle,t.message??'',async()=>{u(null),l(null),await f(null,{targets:n})},()=>{u(null),l(null)})},0)}else{const n=(0,r(d[1]).getSubStepByKey)(S,t.stepKey);let o,s;if('compound'===S?.kind){if(null===c)return void r(d[0]).roomScreenLog.warn('[actionConfirm] Cannot submit compound action without seat (effectiveSeat is null)');s=c,'save'===n?.key?o=(0,r(d[1]).buildWitchStepResults)({saveTarget:t.targetSeat,poisonTarget:null}):'poison'===n?.key&&(o=(0,r(d[1]).buildWitchStepResults)({saveTarget:null,poisonTarget:t.targetSeat}))}else s=t.targetSeat;r(d[0]).roomScreenLog.debug('actionConfirm Submitting',{schemaKind:S?.kind,targetToSubmit:s,'intent.targetSeat':t.targetSeat,extra:o}),p.showConfirmDialog(n?.ui?.confirmTitle??S.ui.confirmTitle,n?.ui?.confirmText??t.message??'',async()=>{await f(s,o)})}}},2150,[1061,2147]);
2417
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"wolfVoteExecutor",{enumerable:!0,get:function(){return t}});const t=(t,o)=>{const{gameStateRef:l,currentSchema:n,effectiveSeat:f,effectiveRole:c,controlledSeat:S,proceedWithAction:u,actionDialogs:s}=o,w=t.wolfSeat??f;r(d[0]).roomScreenLog.info('wolfVote',{'intent.wolfSeat':t.wolfSeat,effectiveSeat:f,effectiveRole:c,controlledSeat:S,seat:w,targetSeat:t.targetSeat}),null!==w?s.showWolfVoteDialog(`${(0,r(d[1]).formatSeat)(w)}\u72fc\u4eba`,t.targetSeat,async()=>{await u(-1===t.targetSeat?null:t.targetSeat)},(()=>{if(t.targetSeat<0)return;const o=l.current?.players?.get(t.targetSeat)?.role;if('wolfKill'!==n?.id||!o)return;if(!(0,r(d[2]).getWolfKillImmuneRoleIds)().includes(o))return;return`${(n.ui?.voteConfirmTemplate??'').replace('{wolf}',`${(0,r(d[1]).formatSeat)(w)}\u72fc\u4eba`).replace('{seat}',`${(0,r(d[1]).formatSeat)(t.targetSeat)}`)}\n\uff08\u8be5\u89d2\u8272\u514d\u75ab\u72fc\u4eba\u88ad\u51fb\uff09`})(),n):r(d[0]).roomScreenLog.warn('wolfVote: effectiveSeat is null, cannot submit',{effectiveSeat:f,effectiveRole:c,controlledSeat:S})}},2151,[1061,1071,1077]);
2418
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"skipExecutor",{enumerable:!0,get:function(){return t}});const t=(t,n)=>{const{currentSchema:o,effectiveSeat:s,proceedWithAction:c,actionDialogs:u}=n;if('confirm'===o?.kind)return void u.showConfirmDialog('\u8df3\u8fc7\u672c\u6b21\u884c\u52a8\uff1f',t.message||r(d[0]).BLOCKED_UI_DEFAULTS.skipButtonText,async()=>{await c(null,{confirmed:!1})});const l=(0,r(d[1]).getSubStepByKey)(o,t.stepKey);let f,p=null;if('skipAll'===t.stepKey||'compound'===o?.kind){if(null===s)return void r(d[2]).roomScreenLog.warn('Cannot submit compound skip without seat (effectiveSeat is null)');f=(0,r(d[1]).buildWitchStepResults)({saveTarget:null,poisonTarget:null}),p=s}const y=l?.ui?.confirmText||t.message;if(!y)throw new Error(`[FAIL-FAST] Missing confirmText for skip action: ${t.stepKey}`);u.showConfirmDialog('\u8df3\u8fc7\u672c\u6b21\u884c\u52a8\uff1f',y,async()=>{await c(p,f)})}},2152,[1078,2147,1061]);
2419
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"actionPromptExecutor",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"confirmTriggerExecutor",{enumerable:!0,get:function(){return o}});const t=(t,o)=>{const{gameState:n,effectiveRole:c,currentSchema:s,currentActionRole:u,actionDialogs:f}=o,l=n?.ui?.currentActorHint,p=l&&c&&l.targetRoleIds.includes(c);if(r(d[0]).roomScreenLog.debug('actionPrompt UI Hint check',{hint:l?{kind:l.kind,targetRoleIds:l.targetRoleIds,bottomAction:l.bottomAction}:null,effectiveRole:c,hintApplies:p,'gameState.ui':n?.ui}),p&&l.promptOverride)return void f.showRoleActionPrompt(l.promptOverride.title,l.promptOverride.text,()=>{});if('compound'===s?.kind&&'witchAction'===s.id){const t=n?.witchContext;if(!t)return;return void f.showWitchInfoPrompt(t,s,()=>{})}if('confirm'===s?.kind){if(!s.ui?.prompt)throw new Error(`[FAIL-FAST] Missing schema.ui.prompt for confirm schema: ${u}`);const t=u?`${(0,r(d[1]).getRoleDisplayName)(u)}\u884c\u52a8`:'\u591c\u95f4\u884c\u52a8';return void f.showRoleActionPrompt(t,s.ui.prompt,()=>{})}if(!s?.ui?.prompt)throw new Error(`[FAIL-FAST] Missing schema.ui.prompt for role: ${u}`);const h=u?`${(0,r(d[1]).getRoleDisplayName)(u)}\u884c\u52a8`:'\u591c\u95f4\u884c\u52a8',w=p&&l.message?`${s.ui.prompt}\n\n\u26a0\ufe0f ${l.message}`:s.ui.prompt;f.showRoleActionPrompt(h,w,()=>{})},o=(t,o)=>{const{gameState:n,effectiveRole:c,effectiveSeat:s,currentSchema:u,proceedWithAction:f,actionDialogs:l}=o;if(!n)return;const p=u?.ui?.confirmStatusUi;if(!p)throw new Error(`[RoomScreen] confirmTrigger schema missing confirmStatusUi for ${u?.id}`);const h=n.confirmStatus,w=p.statusDialogTitle;let S;if('faction'===p.kind){const t='avenger'===h?.role?h.faction:r(d[2]).Team.Good;S=t===r(d[2]).Team.Third?p.bondedText:t===r(d[2]).Team.Wolf?p.wolfText:p.goodText}else{let t=!0;h&&'avenger'!==h.role&&h.role===c&&(t=h.canShoot),S=t?p.canText:p.cannotText}null!==s?l.showRoleActionPrompt(w,S,async()=>{await f(s,{confirmed:!0})}):r(d[0]).roomScreenLog.warn('[confirmTrigger] Cannot submit confirm action without seat (effectiveSeat is null)')}},2153,[1061,1077,1082]);
2420
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"multiSelectToggleExecutor",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"multiSelectConfirmExecutor",{enumerable:!0,get:function(){return o}});const t=(t,o)=>{const{currentSchema:n,multiSelectedSeats:c,setMultiSelectedSeats:l}=o,u=t.targetSeat;r(d[0]).roomScreenLog.debug('multiSelectToggle',{seat:u});const s=c;if(s.includes(u))l(s.filter(t=>t!==u));else{const t='multiChooseSeat'===n?.kind?n.maxTargets:void 0;if(null!=t&&s.length>=t)return void r(d[0]).roomScreenLog.debug('multiSelectToggle maxTargets reached, ignoring',{max:t});l([...s,u])}},o=async(t,o)=>{const{currentSchema:n,proceedWithAction:c,setMultiSelectedSeats:l,actionDialogs:u}=o,s=t.targets;if(!s||0===s.length)return void r(d[0]).roomScreenLog.warn('multiSelectConfirm with no targets');r(d[0]).roomScreenLog.debug('multiSelectConfirm',{targets:s});const S=n.ui.confirmText,f=s.map(t=>(0,r(d[1]).formatSeat)(t)).join('\u3001');u.showConfirmDialog(S,`\u5df2\u9009\u62e9: ${f}`,async()=>{await c(null,{targets:s})&&l([])})}},2154,[1061,1071]);
2421
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"chooseCardExecutor",{enumerable:!0,get:function(){return o}});const o=(o,t)=>{t.openChooseCardModal?.()}},2155,[]);
2422
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useAckMutation=function(t,n,o){const u=(0,r(d[0]).c)(7);let c;u[0]!==t?(c=["ack",t],u[0]=t,u[1]=c):c=u[1];const s=o?.onSuccess,l=o?.onError;let _;u[2]!==n||u[3]!==c||u[4]!==s||u[5]!==l?(_={mutationKey:c,mutationFn:n,retry:0,onSuccess:s,onError:l},u[2]=n,u[3]=c,u[4]=s,u[5]=l,u[6]=_):_=u[6];return(0,r(d[1]).useMutation)(_)}},2156,[1092,1807]);
2423
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useInteractionDispatcher=function(p){const L=(0,r(d[2]).c)(73),{gameState:I,roomStatus:f,isAudioPlaying:v,isHost:A,imActioner:y,mySeat:T,myRole:E,actorSeatForUi:O,actorRoleForUi:R,effectiveSeat:b,isDebugMode:_,controlledSeat:P,isDelegating:w,handleActionIntent:C,getActionIntent:k,showEnterSeatDialog:N,showLeaveSeatDialog:D,handleLeaveRoom:F,leaveSeat:U,viewedRole:K,handleSettingsPress:G,showPrepareToFlipDialog:V,showStartGameDialog:W,showRestartDialog:B,setControlledSeat:H,kickPlayer:M,setRoleCardVisible:$,setShouldPlayRevealAnimation:j,setIsLoadingRole:x}=p,[q,z]=(0,r(d[3]).useState)(!1),[J,Q]=(0,r(d[3]).useState)(""),[X,Y]=(0,r(d[3]).useState)(0),[Z,ee]=(0,r(d[3]).useState)(""),[te,oe]=(0,r(d[3]).useState)(!1);let ae;L[0]===Symbol.for("react.memo_cache_sentinel")?(ae=()=>{z(!1)},L[0]=ae):ae=L[0];const re=ae,ne=f===r(d[4]).GameStatus.Unseated||f===r(d[4]).GameStatus.Seated;let se;L[1]!==ne||L[2]!==M?(se=ne?t=>{r(d[5]).roomScreenLog.debug("handleProfileKick",{seat:t}),z(!1),M(t).catch(h)}:void 0,L[1]=ne,L[2]=M,L[3]=se):se=L[3];const ie=se;let ce;L[4]!==ne||L[5]!==U?(ce=ne?t=>{r(d[5]).roomScreenLog.debug("handleProfileLeaveSeat",{seat:t}),z(!1),U().catch(S)}:void 0,L[4]=ne,L[5]=U,L[6]=ce):ce=L[6];const le=ce,de=(0,r(d[3]).useRef)(0),ge=(0,r(d[3]).useRef)(0);let ue;L[7]!==T||L[8]!==N||L[9]!==D?(ue=t=>{const o=Date.now();o-de.current<300||(de.current=o,null!==T&&t===T?D(t):N(t))},L[7]=T,L[8]=N,L[9]=D,L[10]=ue):ue=L[10];const Se=ue;let he;L[11]!==k||L[12]!==C?(he=t=>{const o=k(t);r(d[5]).roomScreenLog.debug("handleActionTap",{seat:t,intentType:o?.type??null}),o&&C(o).catch(u)},L[11]=k,L[12]=C,L[13]=he):he=L[13];const me=he,pe=(0,r(d[6]).usePendingAcks)(),Le=!!I;let Ie,fe,ve,Ae;L[14]!==I?(Ie=()=>I?Array.from(I.players.entries()).filter(l).map(c):[],fe=t=>!!I&&null!=I.players.get(t),L[14]=I,L[15]=Ie,L[16]=fe):(Ie=L[15],fe=L[16]);L[17]!==I?.players?(ve=t=>I?.players.get(t)?.userId,L[17]=I?.players,L[18]=ve):ve=L[18];L[19]!==R||L[20]!==O||L[21]!==P||L[22]!==pe||L[23]!==y||L[24]!==v||L[25]!==_||L[26]!==w||L[27]!==A||L[28]!==E||L[29]!==T||L[30]!==f||L[31]!==Le||L[32]!==Ie||L[33]!==fe||L[34]!==ve?(Ae={roomStatus:f,hasGameState:Le,isAudioPlaying:v,hasPendingAck:pe,isHost:A,imActioner:y,mySeat:T,myRole:E,actorSeatForUi:O,actorRoleForUi:R,isDebugMode:_,controlledSeat:P,isDelegating:w,getBotSeats:Ie,isSeatOccupied:fe,getPlayerUid:ve},L[19]=R,L[20]=O,L[21]=P,L[22]=pe,L[23]=y,L[24]=v,L[25]=_,L[26]=w,L[27]=A,L[28]=E,L[29]=T,L[30]=f,L[31]=Le,L[32]=Ie,L[33]=fe,L[34]=ve,L[35]=Ae):Ae=L[35];const ye=Ae;let Te;L[36]!==b||L[37]!==I?.players||L[38]!==C||L[39]!==me||L[40]!==F||L[41]!==Se||L[42]!==G||L[43]!==ye||L[44]!==M||L[45]!==T||L[46]!==H||L[47]!==x||L[48]!==$||L[49]!==j||L[50]!==N||L[51]!==D||L[52]!==V||L[53]!==B||L[54]!==W||L[55]!==K?(Te=c=>{const l=(0,r(d[7]).getInteractionResult)(ye,c);switch(l.kind){case"NOOP":if(r(d[5]).roomScreenLog.debug("dispatchInteraction NOOP",{reason:l.reason,event:c.kind}),"audio_playing"===l.reason){const o=Date.now();o-ge.current>=3e3&&(ge.current=o,t.toast.info("\u8bed\u97f3\u64ad\u62a5\u4e2d\uff0c\u8bf7\u7a0d\u5019"))}return;case"ALERT":return r(d[5]).roomScreenLog.debug("dispatchInteraction ALERT",{title:l.title}),void(0,r(d[8]).showDismissAlert)(l.title,l.message);case"SHOW_DIALOG":switch(l.dialogType){case"seatingEnter":return void(void 0!==l.seat&&N(l.seat));case"seatingLeave":return void(void 0!==l.seat&&D(l.seat));case"roleCard":{const t=null===b?null:I?.players.get(b);return void(t?.hasViewedRole??!1?(j(!1),$(!0)):(x(!0),$(!0),(async()=>{try{if(!(await K()).success)return $(!1),void x(!1);j(!0),x(!1)}catch(t){const n=t;(0,o.handleError)(n,{label:"\u67e5\u770b\u89d2\u8272",logger:r(d[5]).roomScreenLog,feedback:!1}),$(!1),x(!1)}})()))}case"leaveRoom":return r(d[5]).roomScreenLog.debug("dispatchInteraction Show leaveRoom dialog"),void F();default:{const t=l.dialogType;return void r(d[5]).roomScreenLog.warn("dispatchInteraction Unhandled dialogType",t)}}case"SEATING_FLOW":return r(d[5]).roomScreenLog.debug("dispatchInteraction SEATING_FLOW",{seat:l.seat}),void Se(l.seat);case"ACTION_FLOW":return r(d[5]).roomScreenLog.debug("dispatchInteraction ACTION_FLOW",{seat:l.seat,hasIntent:!!l.intent,isAudioPlaying:ye.isAudioPlaying,imActioner:ye.imActioner}),void(l.intent?C(l.intent).catch(s):void 0!==l.seat&&me(l.seat));case"HOST_CONTROL":switch(r(d[5]).roomScreenLog.debug("dispatchInteraction HOST_CONTROL",{action:l.action}),l.action){case"settings":return void G();case"prepareToFlip":return void V();case"startGame":return void W();case"restart":return void B();default:{const t=l.action;return void r(d[5]).roomScreenLog.warn("dispatchInteraction Unhandled host action",t)}}case"TAKEOVER_BOT_SEAT":return r(d[5]).roomScreenLog.debug("dispatchInteraction TAKEOVER_BOT_SEAT",{seat:l.seat}),void H(l.seat);case"RELEASE_BOT_SEAT":return r(d[5]).roomScreenLog.debug("dispatchInteraction RELEASE_BOT_SEAT"),void H(null);case"KICK_CONFIRM":{const t=l.seat,o=I?.players.get(t),s=o?.displayName??`${t+1}\u53f7\u5ea7\u4f4d`;return r(d[5]).roomScreenLog.debug("dispatchInteraction KICK_CONFIRM",{seat:t}),void(0,r(d[8]).showDestructiveAlert)("\u79fb\u51fa\u5ea7\u4f4d",`\u786e\u5b9a\u8981\u5c06 ${s} \u79fb\u51fa\u5ea7\u4f4d\u5417\uff1f`,"\u79fb\u51fa",async()=>{await M(t).catch(n)})}case"VIEW_PROFILE":{const t=I?.players.get(l.seat),o=l.seat===T;return r(d[5]).roomScreenLog.debug("dispatchInteraction VIEW_PROFILE",{seat:l.seat,targetUserId:l.targetUserId,rosterName:t?.displayName,isSelf:o}),Q(l.targetUserId),Y(l.seat),ee(t?.displayName??""),oe(o),void z(!0)}default:{const t=l;return void r(d[5]).roomScreenLog.warn("dispatchInteraction Unhandled result kind",t)}}},L[36]=b,L[37]=I?.players,L[38]=C,L[39]=me,L[40]=F,L[41]=Se,L[42]=G,L[43]=ye,L[44]=M,L[45]=T,L[46]=H,L[47]=x,L[48]=$,L[49]=j,L[50]=N,L[51]=D,L[52]=V,L[53]=B,L[54]=W,L[55]=K,L[56]=Te):Te=L[56];const Ee=Te;let Oe;L[57]!==Ee?(Oe=(t,o)=>{Ee({kind:"SEAT_TAP",seat:t,disabledReason:o})},L[57]=Ee,L[58]=Oe):Oe=L[58];const Re=Oe;let be;L[59]!==Ee?(be=t=>{Ee({kind:"TAKEOVER_BOT_SEAT",seat:t})},L[59]=Ee,L[60]=be):be=L[60];const _e=be;let Pe;L[61]!==Ee||L[62]!==ie||L[63]!==le||L[64]!==ye||L[65]!==_e||L[66]!==Re||L[67]!==te||L[68]!==Z||L[69]!==X||L[70]!==J||L[71]!==q?(Pe={dispatchInteraction:Ee,onSeatTapped:Re,onSeatLongPressed:_e,interactionContext:ye,profileCardVisible:q,profileCardTargetUserId:J,profileCardTargetSeat:X,profileCardRosterName:Z,profileCardIsSelf:te,closeProfileCard:re,handleProfileKick:ie,handleProfileLeaveSeat:le},L[61]=Ee,L[62]=ie,L[63]=le,L[64]=ye,L[65]=_e,L[66]=Re,L[67]=te,L[68]=Z,L[69]=X,L[70]=J,L[71]=q,L[72]=Pe):Pe=L[72];return Pe};var t=r(d[0]),o=r(d[1]);function n(t){throw(0,o.handleError)(t,{label:"kickPlayer",logger:r(d[5]).roomScreenLog,feedback:"toast"}),t}function s(t){(0,o.handleError)(t,{label:"ACTION_FLOW",logger:r(d[5]).roomScreenLog,feedback:!1})}function c(t){const[o]=t;return o}function l(t){const[,o]=t;return o?.isBot}function u(t){(0,o.handleError)(t,{label:"handleActionTap",logger:r(d[5]).roomScreenLog,feedback:!1})}function S(t){(0,o.handleError)(t,{label:"\u79bb\u5ea7",logger:r(d[5]).roomScreenLog})}function h(t){(0,o.handleError)(t,{label:"\u79fb\u51fa",logger:r(d[5]).roomScreenLog})}},2157,[599,1903,1092,36,1904,1061,2158,2159,1073]);
2424
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"usePendingAcks",{enumerable:!0,get:function(){return t}});const t=()=>{const t=(0,r(d[0]).c)(1);let n;return t[0]===Symbol.for("react.memo_cache_sentinel")?(n={mutationKey:["ack"]},t[0]=n):n=t[0],(0,r(d[1]).useIsMutating)(n)>0}},2158,[1092,1807]);
2425
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"getActorIdentity",{enumerable:!0,get:function(){return r(d[0]).getActorIdentity}}),Object.defineProperty(e,"isActorIdentityValid",{enumerable:!0,get:function(){return r(d[0]).isActorIdentityValid}}),Object.defineProperty(e,"getInteractionResult",{enumerable:!0,get:function(){return r(d[1]).getInteractionResult}})},2159,[2160,2161]);
2426
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getActorIdentity=function(t){const{mySeat:o,myRole:l,effectiveSeat:n,effectiveRole:c,controlledSeat:u}=t;if(null===u)return{actorSeatForUi:o,actorRoleForUi:l,isDelegating:!1};if(n!==u)return{actorSeatForUi:null,actorRoleForUi:null,isDelegating:!0};return{actorSeatForUi:n,actorRoleForUi:c,isDelegating:!0}},e.isActorIdentityValid=function(t){return null!==t.actorSeatForUi&&null!==t.actorRoleForUi}},2160,[]);
2427
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getInteractionResult=function(t,S){const E=n(t,S);if(E)return E;const A=s(t);if(A)return A;const T=o(t,S);if(T)return T;switch(S.kind){case'SEAT_TAP':return u(t,S);case'BOTTOM_ACTION':return O(t,S);case'HOST_CONTROL':return c(t,S);case'VIEW_ROLE':return l(t);case'LEAVE_ROOM':return{kind:'SHOW_DIALOG',dialogType:'leaveRoom'};case'TAKEOVER_BOT_SEAT':return _(t,S);default:return{kind:'NOOP',reason:'other_status'}}};const t=new Set(['LEAVE_ROOM','VIEW_ROLE']);function n(n,s){return t.has(s.kind)?null:n.roomStatus===r(d[0]).GameStatus.Ongoing&&n.isAudioPlaying?{kind:'NOOP',reason:'audio_playing'}:null}function s(t){return t.hasGameState?null:{kind:'NOOP',reason:'no_game_state'}}function o(t,n){return t.roomStatus!==r(d[0]).GameStatus.Ongoing?null:t.hasPendingAck&&'LEAVE_ROOM'!==n.kind?{kind:'NOOP',reason:'pending_ack'}:null}function u(t,n){const s=n.seat===t.mySeat,o=s?void 0:t.getPlayerUid?.(n.seat),u=s?t.getPlayerUid?.(n.seat):void 0,O=(0,r(d[1]).getSeatTapResult)({roomStatus:t.roomStatus,isAudioPlaying:t.isAudioPlaying,seat:n.seat,disabledReason:n.disabledReason,imActioner:t.imActioner,hasGameState:t.hasGameState,isSeatOccupiedByOther:!s&&(t.isSeatOccupied?.(n.seat)??!1),targetUserId:o,isSelfSeated:s&&null!==t.mySeat,myUserId:u});switch(O.kind){case'NOOP':return{kind:'NOOP',reason:O.reason};case'ALERT':return{kind:'ALERT',title:O.title,message:O.message};case'SEATING_FLOW':return{kind:'SEATING_FLOW',seat:O.seat};case'ACTION_FLOW':return{kind:'ACTION_FLOW',seat:O.seat};case'VIEW_PROFILE':return{kind:'VIEW_PROFILE',seat:O.seat,targetUserId:O.targetUserId}}}function O(t,n){return t.roomStatus!==r(d[0]).GameStatus.Ongoing||t.imActioner?{kind:'ACTION_FLOW',intent:n.intent}:{kind:'NOOP',reason:'not_actioner'}}function c(t,n){if(!t.isHost)return{kind:'NOOP',reason:'host_only'};return['settings','prepareToFlip','startGame','restart'].includes(n.action)?{kind:'HOST_CONTROL',action:n.action}:{kind:'NOOP',reason:'other_status'}}function l(t){return t.actorRoleForUi??t.myRole?{kind:'SHOW_DIALOG',dialogType:'roleCard'}:{kind:'NOOP',reason:'no_role'}}function _(t,n){if(!t.isHost)return{kind:'NOOP',reason:'host_only'};if(!t.isDebugMode)return{kind:'NOOP',reason:'other_status'};return(t.getBotSeats?.()??[]).includes(n.seat)?t.controlledSeat===n.seat?{kind:'RELEASE_BOT_SEAT'}:{kind:'TAKEOVER_BOT_SEAT',seat:n.seat}:{kind:'ALERT',title:'\u65e0\u6cd5\u63a5\u7ba1',message:'\u53ea\u80fd\u63a5\u7ba1\u673a\u5668\u4eba\u5ea7\u4f4d'}}},2161,[1904,2162]);
2428
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getSeatTapResult=function(t){const{roomStatus:n,isAudioPlaying:s,seat:u,disabledReason:o,imActioner:O,hasGameState:S,isSeatOccupiedByOther:_,targetUserId:f,isSelfSeated:I,myUserId:c}=t;if(!S)return{kind:'NOOP',reason:'no_game_state'};if(n===r(d[0]).GameStatus.Ongoing&&s)return{kind:'NOOP',reason:'audio_playing'};if(o)return{kind:'ALERT',title:'\u4e0d\u53ef\u9009\u62e9',message:o};if(n!==r(d[0]).GameStatus.Ongoing){if(_&&f)return{kind:'VIEW_PROFILE',seat:u,targetUserId:f};if(I&&c)return{kind:'VIEW_PROFILE',seat:u,targetUserId:c}}if(n===r(d[0]).GameStatus.Unseated||n===r(d[0]).GameStatus.Seated)return{kind:'SEATING_FLOW',seat:u};if(n===r(d[0]).GameStatus.Ongoing)return O?{kind:'ACTION_FLOW',seat:u}:{kind:'NOOP',reason:'not_actioner'};return{kind:'NOOP',reason:'other_status'}}},2162,[1904]);
2429
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSpeakingOrder=function(n){const u=(0,r(d[1]).c)(7),{roomStatus:c,isAudioPlaying:o,gameState:s}=n,[f,S]=(0,r(d[2]).useState)(),l=(0,r(d[2]).useRef)(!1),v=(0,r(d[2]).useRef)(s);let R,p,E,O;u[0]!==s?(R=()=>{v.current=s},p=[s],u[0]=s,u[1]=R,u[2]=p):(R=u[1],p=u[2]);(0,r(d[2]).useEffect)(R,p),u[3]!==o||u[4]!==c?(E=()=>{if(c!==r(d[3]).GameStatus.Ended)return l.current=!1,void S(void 0);if(!v.current||o||l.current)return;l.current=!0;const n=v.current.roleRevealRandomNonce??v.current.roomCode,u=(0,r(d[4]).createSeededRng)(n),s=v.current.template.numberOfPlayers,{startSeat:f,direction:R}=(0,t.generateSpeakOrder)(s,u);S(`${r(d[5]).STATUS.SPEAKING} \u4ece ${f} \u53f7\u5f00\u59cb ${R}\u53d1\u8a00`);const p=setTimeout(()=>S(void 0),6e4);return()=>clearTimeout(p)},O=[c,o],u[3]=o,u[4]=c,u[5]=E,u[6]=O):(E=u[5],O=u[6]);return(0,r(d[2]).useEffect)(E,O),f};var t=r(d[0])},2163,[2142,1092,36,1904,1108,1448]);
2430
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"getUnlockedRoleRevealEffects",{enumerable:!0,get:function(){return r(d[0]).getUnlockedRoleRevealEffects}}),Object.defineProperty(e,"getLevelProgress",{enumerable:!0,get:function(){return r(d[1]).getLevelProgress}}),Object.defineProperty(e,"LEVEL_THRESHOLDS",{enumerable:!0,get:function(){return r(d[1]).LEVEL_THRESHOLDS}}),Object.defineProperty(e,"FREE_AVATAR_IDS",{enumerable:!0,get:function(){return r(d[2]).FREE_AVATAR_IDS}}),Object.defineProperty(e,"FREE_FLAIR_IDS",{enumerable:!0,get:function(){return r(d[2]).FREE_FLAIR_IDS}}),Object.defineProperty(e,"FREE_FRAME_IDS",{enumerable:!0,get:function(){return r(d[2]).FREE_FRAME_IDS}}),Object.defineProperty(e,"TOTAL_UNLOCKABLE_COUNT",{enumerable:!0,get:function(){return r(d[2]).TOTAL_UNLOCKABLE_COUNT}})},2164,[1696,2068,1126]);
2431
+ __d(function(g,r,_i,a,m,e,d){"use strict";function t(t){let n=5381;for(let E=0;E<t.length;E++){n=33*n^(t.codePointAt(E)??0)}return n>>>0}Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"RANDOMIZABLE_ANIMATIONS",{enumerable:!0,get:function(){return r(d[0]).ROLE_REVEAL_EFFECT_IDS}}),e.resolveRandomAnimation=function(n,E){const _=r(d[0]).ROLE_REVEAL_EFFECT_IDS.length;let o=t(n)%_;null!=E&&r(d[0]).ROLE_REVEAL_EFFECT_IDS[o]===E&&(o=(o+1)%_);return r(d[0]).ROLE_REVEAL_EFFECT_IDS[o]}},2165,[1126]);
2432
+ __d(function(g,r,i,a,m,e,d){"use strict";function t(t){return t+1}Object.defineProperty(e,'__esModule',{value:!0}),e.useStepDeadlineCountdown=function(n){const o=(0,r(d[0]).c)(9),{stepDeadline:u,isHost:s,roomStatus:c,postProgression:f}=n,[l,S]=(0,r(d[1]).useState)(0),_=(0,r(d[1]).useRef)(!1);let p,v,D,w;o[0]===Symbol.for("react.memo_cache_sentinel")?(p=()=>{_.current=!1},o[0]=p):p=o[0];o[1]!==u?(v=[u],o[1]=u,o[2]=v):v=o[2];(0,r(d[1]).useEffect)(p,v),o[3]!==s||o[4]!==f||o[5]!==c||o[6]!==u?(D=()=>{if(null==u)return;if(c!==r(d[2]).GameStatus.Ongoing)return;const n=()=>{s&&!_.current&&(_.current=!0,(0,r(d[3]).fireAndForget)(f().then(()=>{_.current=!1}),"[postProgression] fire failed",r(d[4]).roomScreenLog))};if(Date.now()>=u&&(n(),!s))return;const o=setInterval(()=>{Date.now()>=u&&(s?n():clearInterval(o)),S(t)},1e3);return()=>clearInterval(o)},w=[u,s,f,c],o[3]=s,o[4]=f,o[5]=c,o[6]=u,o[7]=D,o[8]=w):(D=o[7],w=o[8]);return(0,r(d[1]).useEffect)(D,w),l}},2166,[1092,36,1904,1088,1061]);
2433
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useHiddenDebugTrigger=function(){const n=(0,r(d[0]).c)(4),u=(0,r(d[1]).useRef)(0),o=(0,r(d[1]).useRef)(null);let l,s,b;n[0]===Symbol.for("react.memo_cache_sentinel")?(l=()=>()=>{o.current&&clearTimeout(o.current)},s=[],n[0]=l,n[1]=s):(l=n[0],s=n[1]);(0,r(d[1]).useEffect)(l,s),n[2]===Symbol.for("react.memo_cache_sentinel")?(b=()=>{u.current=u.current+1,o.current&&clearTimeout(o.current),u.current>=t?(u.current=0,r(d[2]).roomScreenLog.debug("Toggling mobile debug panel"),r(d[3]).mobileDebug.toggle()):o.current=setTimeout(()=>{u.current=0},c)},n[2]=b):b=n[2];const f=b;let _;n[3]===Symbol.for("react.memo_cache_sentinel")?(_={handleDebugTitleTap:f},n[3]=_):_=n[3];return _};const t=5,c=2e3},2167,[1092,36,1061,1068]);
2434
+ __d(function(g,r,i,a,m,e,d){"use strict";function o(o){return o+1}Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomInit=function(t){const n=(0,r(d[0]).c)(27),{roomCode:s,isHostParam:u,template:c,initializeRoom:l,joinRoom:f,hasGameState:S}=t,[y,L]=(0,r(d[1]).useState)(!1),[R,h]=(0,r(d[1]).useState)("\u52a0\u8f7d\u623f\u95f4"),[b,w]=(0,r(d[1]).useState)(!1),[p,z]=(0,r(d[1]).useState)(0),j=(0,r(d[1]).useRef)(!1),C=(0,r(d[1]).useRef)(!1);let _,I,P,G,H,T,v;n[0]!==S?(_=()=>{S&&(C.current=!0)},I=[S],n[0]=S,n[1]=_,n[2]=I):(_=n[1],I=n[2]);(0,r(d[1]).useEffect)(_,I),n[3]!==l||n[4]!==u||n[5]!==y||n[6]!==f||n[7]!==s||n[8]!==c?(P=()=>{if(y)return;if(j.current)return;j.current=!0;(async()=>{h("\u6b63\u5728\u52a0\u8f7d\u623f\u95f4");if(u&&null!=c&&"object"==typeof c&&Array.isArray(c.roles)){h("\u6b63\u5728\u52a0\u8f7d\u623f\u95f4"),r(d[2]).roomScreenLog.debug("Host initializing room",{roomCode:s,playerCount:c.numberOfPlayers,totalRoles:c.roles.length});const o=await l(s,c);if(!o.success)return j.current=!1,r(d[2]).roomScreenLog.warn("Host initializeRoom failed",{roomCode:s,error:o.error}),h(o.error),void w(!0);L(!0),j.current=!1,r(d[2]).roomScreenLog.debug("Host init complete")}else{h("\u6b63\u5728\u52a0\u5165\u623f\u95f4"),r(d[2]).roomScreenLog.debug("Player joining room",{roomCode:s});const o=await f(s);o.success?(L(!0),j.current=!1,r(d[2]).roomScreenLog.debug("Player join complete")):(j.current=!1,r(d[2]).roomScreenLog.warn("joinRoom failed",{roomCode:s,error:o.error}),h(o.error),w(!0))}})()},n[3]=l,n[4]=u,n[5]=y,n[6]=f,n[7]=s,n[8]=c,n[9]=P):P=n[9];n[10]!==l||n[11]!==u||n[12]!==y||n[13]!==f||n[14]!==p||n[15]!==s||n[16]!==c?(G=[y,p,u,c,s,l,f],n[10]=l,n[11]=u,n[12]=y,n[13]=f,n[14]=p,n[15]=s,n[16]=c,n[17]=G):G=n[17];(0,r(d[1]).useEffect)(P,G),n[18]!==S||n[19]!==y?(H=()=>{if(y&&S)return void w(!1);if(C.current)return;const o=setTimeout(()=>{y&&S||(r(d[2]).roomScreenLog.info("Loading hint \u2014 still waiting",{isInitialized:y,hasGameState:S}),h("\u7f51\u7edc\u8f83\u6162\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85"))},8e3),t=setTimeout(()=>{y&&S||(w(!0),y&&!S?(r(d[2]).roomScreenLog.warn("Loading timeout \u2014 waiting for host state",{isInitialized:y,hasGameState:S}),h("\u7b49\u5f85\u623f\u4e3b\u4e0a\u7ebf")):(r(d[2]).roomScreenLog.warn("Loading timeout \u2014 init incomplete",{isInitialized:y,hasGameState:S}),h("\u52a0\u8f7d\u8d85\u65f6")))},15e3);return()=>{clearTimeout(o),clearTimeout(t)}},T=[y,S],n[18]=S,n[19]=y,n[20]=H,n[21]=T):(H=n[20],T=n[21]);(0,r(d[1]).useEffect)(H,T),n[22]===Symbol.for("react.memo_cache_sentinel")?(v=()=>{r(d[2]).roomScreenLog.debug("Retry triggered"),L(!1),w(!1),j.current=!1,h("\u91cd\u8bd5\u4e2d"),z(o)},n[22]=v):v=n[22];const E=v;let A;n[23]!==y||n[24]!==R||n[25]!==b?(A={isInitialized:y,loadingMessage:R,showRetryButton:b,handleRetry:E},n[23]=y,n[24]=R,n[25]=b,n[26]=A):A=n[26];return A}},2168,[1092,36,1061]);
2435
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomIdentity=function(t){const o=(0,r(d[0]).c)(19),{mySeat:c,myRole:l,effectiveSeat:n,effectiveRole:f,controlledSeat:S}=t;let s;o[0]!==S||o[1]!==f||o[2]!==n||o[3]!==l||o[4]!==c?(s=(0,r(d[1]).getActorIdentity)({mySeat:c,myRole:l,effectiveSeat:n,effectiveRole:f,controlledSeat:S}),o[0]=S,o[1]=f,o[2]=n,o[3]=l,o[4]=c,o[5]=s):s=o[5];const u=s,{actorSeatForUi:R,actorRoleForUi:v,isDelegating:y}=u;let F,U,I;o[6]!==u||o[7]!==v||o[8]!==R||o[9]!==S||o[10]!==f||o[11]!==n||o[12]!==y?(F=()=>{y&&null!==f&&!(0,r(d[1]).isActorIdentityValid)(u)&&r(d[2]).roomScreenLog.warn("Invalid delegation state detected",{controlledSeat:S,effectiveSeat:n,effectiveRole:f,actorSeatForUi:R,actorRoleForUi:v})},U=[y,u,S,n,f,R,v],o[6]=u,o[7]=v,o[8]=R,o[9]=S,o[10]=f,o[11]=n,o[12]=y,o[13]=F,o[14]=U):(F=o[13],U=o[14]);(0,r(d[3]).useEffect)(F,U),o[15]!==v||o[16]!==R||o[17]!==y?(I={actorSeatForUi:R,actorRoleForUi:v,isDelegating:y},o[15]=v,o[16]=R,o[17]=y,o[18]=I):I=o[18];return I}},2169,[1092,2159,1061,36]);
2436
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useActionerState=function(t){const o=(0,r(d[0]).c)(9),{actorRole:n,currentActionRole:c,currentSchema:s,actorSeat:u,wolfVotes:l,actions:f,treasureMasterChosenCard:h,thiefChosenCard:C}=t;let S;o[0]!==f||o[1]!==n||o[2]!==u||o[3]!==c||o[4]!==s||o[5]!==C||o[6]!==h||o[7]!==l?(S=(0,r(d[1]).determineActionerState)(n,c,s,u,l,f,h,C),o[0]=f,o[1]=n,o[2]=u,o[3]=c,o[4]=s,o[5]=C,o[6]=h,o[7]=l,o[8]=S):S=o[8];return S}},2170,[1092,2171]);
2437
+ __d(function(g,r,i,_a,m,e,d){"use strict";function t(t,o,s,l,n){if(n&&(0,r(d[1]).doesRoleParticipateInWolfVote)(t))return{imActioner:!0,showWolves:!0};if(!(0,r(d[1]).isWolfRole)(t)&&l.has(t))return{imActioner:!1,showWolves:!1};return{imActioner:!0,showWolves:n&&(0,r(d[1]).isWolfRole)(t)&&(0,r(d[1]).doesRoleParticipateInWolfVote)(t)}}Object.defineProperty(e,'__esModule',{value:!0}),e.determineActionerState=function(o,s,l,n,a,c=new Map,u,f){if(!s||!o)return{imActioner:!1,showWolves:!1};if('groupConfirm'===l?.kind&&null!==n)return{imActioner:!0,showWolves:!1};const p='wolfVote'===l?.kind&&!0===l.meeting?.canSeeEachOther,h=(0,r(d[0]).getBottomCardEffectiveRole)(o,f,u);if(h===s)return t(h,n,a,c,p);if(p&&(0,r(d[1]).isWolfRole)(h))return(0,r(d[0]).isBottomCardWolfVoteExcluded)(o)?{imActioner:!1,showWolves:!1}:(0,r(d[1]).doesRoleParticipateInWolfVote)(h)?{imActioner:!0,showWolves:!0}:{imActioner:!1,showWolves:!1};return{imActioner:!1,showWolves:!1}},e.toGameRoomLike=function(t){const o=(()=>{const o=t.currentNightResults?.wolfVotesBySeat??t.wolfVotes;if(!o)return new Map;if(o instanceof Map)return o;const s=new Map;for(const[t,l]of Object.entries(o))s.set(Number.parseInt(t,10),l);return s})();return{template:t.template,players:t.players,actions:t.actions,wolfVotes:o,currentStepIndex:t.currentStepIndex,thiefChosenCard:t.thiefChosenCard,treasureMasterChosenCard:t.treasureMasterChosenCard}},e.getWolfVoteSummary=function(t){const o=[];t.players.forEach((s,l)=>{if(s?.role){const n=(0,r(d[0]).getBottomCardEffectiveRole)(s.role,t.thiefChosenCard,t.treasureMasterChosenCard);(0,r(d[1]).doesRoleParticipateInWolfVote)(n)&&!(0,r(d[0]).isBottomCardWolfVoteExcluded)(s.role)&&o.push(l)}}),o.sort((t,o)=>t-o);return`${o.filter(o=>t.wolfVotes.has(o)).length}/${o.length} \u72fc\u4eba\u5df2\u786e\u8ba4`},e.getRoleStats=function(t){const o={},s=[],l=[],n=[],a=new Map,c=new Map,u=new Map,f=new Map;let p=0;return t.forEach(t=>{const h=(0,r(d[1]).getRoleSpec)(t);if(!h)return;const{faction:v,displayName:w}=h;if(v===r(d[4]).Faction.Wolf){o[w]=(o[w]??0)+1,s.includes(w)||s.push(w);const l=a.get(t);a.set(t,l?Object.assign({},l,{count:l.count+1}):{roleId:t,displayName:w,count:1})}else if(v===r(d[4]).Faction.God){o[w]=(o[w]??0)+1,l.includes(w)||l.push(w);const s=c.get(t);c.set(t,s?Object.assign({},s,{count:s.count+1}):{roleId:t,displayName:w,count:1})}else if(v===r(d[4]).Faction.Special){o[w]=(o[w]??0)+1,n.includes(w)||n.push(w);const s=u.get(t);u.set(t,s?Object.assign({},s,{count:s.count+1}):{roleId:t,displayName:w,count:1})}else if('villager'===t)p++;else{o[w]=(o[w]??0)+1;const s=f.get(t);f.set(t,s?Object.assign({},s,{count:s.count+1}):{roleId:t,displayName:w,count:1})}}),{roleCounts:o,wolfRoles:s,godRoles:l,specialRoles:n,villagerCount:p,wolfRoleItems:[...a.values()],godRoleItems:[...c.values()],specialRoleItems:[...u.values()],villagerRoleItems:[...f.values()]}},e.buildSeatViewModels=function(t,o,s,l,n){const a=s?t.currentNightResults?.wolfVotesBySeat:void 0;return t.template.roles.slice(0,t.template.numberOfPlayers).map((c,u)=>{const f=t.players.get(u),p=f?.role?(0,r(d[0]).getBottomCardEffectiveRole)(f.role,t.thiefChosenCard,t.treasureMasterChosenCard):c,h=f?.role??c,v=s&&(0,r(d[1]).isWolfRole)(p)&&(0,r(d[1]).canRoleSeeWolves)(p)&&!(0,r(d[0]).isBottomCardWolfVoteExcluded)(h);let w;n?.schemaConstraints?.includes(r(d[2]).TargetConstraint.NotSelf)&&u===o&&(w='\u4e0d\u80fd\u9009\u62e9\u81ea\u5df1');const R=v&&null!=a&&String(u)in a,C=!R&&(n?.showReadyBadges&&null!=f&&f.hasViewedRole||(n?.groupConfirmAcks?.includes(u)??!1));return{seat:u,role:c,player:f?{userId:f.userId,displayName:f.displayName||'\u73a9\u5bb6',avatarUrl:f.avatarUrl,avatarFrame:f.avatarFrame,seatFlair:f.seatFlair,seatAnimation:f.seatAnimation,nameStyle:f.nameStyle,roleRevealEffect:f.roleRevealEffect,level:f.level,isBot:f.isBot,role:f.role}:null,isMySpot:o===u,isWolf:v,isSelected:l===u||n?.secondSelectedSeat===u||(n?.multiSelectedSeats?.includes(u)??!1),disabledReason:w,showReadyBadge:C,wolfVoteBadge:R?(S=a[String(u)],-1===S?r(d[2]).SCHEMAS.wolfKill.ui.emptyVoteText:`\u88ad\u51fb${(0,r(d[3]).formatSeat)(S)}`):void 0};var S})}},2171,[2172,1077,1078,1071,1082]);
2438
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getBottomCardEffectiveRole=function(t,o,u){return'thief'===t&&o?o:'treasureMaster'===t&&u?u:t},e.isBottomCardWolfVoteExcluded=function(t){return'treasureMaster'===t}},2172,[]);
2439
+ __d(function(g,r,i,a,m,e,d){"use strict";function t(t,o,n,l,s){return'chooseSeat'===o?.kind||'multiChooseSeat'===o?.kind?o.canSkip?{type:'skip',targetSeat:-1,message:n(-1)}:null:'compound'===o?.kind?null:'wolfVote'===o?.kind&&l&&null!==s?{type:'wolfVote',targetSeat:-1,wolfSeat:s}:{type:'skip',targetSeat:-1,message:n(-1)}}function o(t){const{uiRevealKind:o,seat:n,buildMessage:l}=t;return o?{type:'reveal',revealKind:o,targetSeat:n}:{type:'actionConfirm',targetSeat:n,message:l(n)}}function n(t){const{schemaKind:n,seat:l,firstSwapSeat:s,isWolf:u,wolfSeat:c}=t;switch(n){case'confirm':return null;case'swap':return null===s?{type:'magicianFirst',targetSeat:l}:{type:'actionConfirm',targetSeat:l,message:t.buildMessage?.(l)};case'compound':if(!t.schemaId)return null;if('witchAction'!==t.schemaId)return null;{const o=r(d[0]).SCHEMAS[t.schemaId];if('compound'!==o?.kind)return null;const n=o.steps?.find(t=>'poison'===t.key);if(!n)throw new Error('[SchemaDrivenUI] Missing poison sub-step in SCHEMAS.witchAction');return{type:'actionConfirm',targetSeat:l,message:n.ui?.confirmText,stepKey:'poison'}}case'wolfVote':return u&&null!==c?{type:'wolfVote',targetSeat:l,wolfSeat:c}:null;case'chooseSeat':return o(t);case'multiChooseSeat':return{type:'multiSelectToggle',targetSeat:l};case'skip':case'confirmTarget':case'groupConfirm':case'chooseCard':case void 0:return null;default:return n}}Object.defineProperty(e,'__esModule',{value:!0}),e.deriveSkipIntentFromSchema=t,e.useRoomActions=function(o,l){const{gameState:s,roomStatus:u,currentSchema:c,imActioner:f,actorSeat:S,actorRole:p,isAudioPlaying:h,firstSwapSeat:k,multiSelectedSeats:w,countdownTick:C}=o,{hasWolfVoted:b,getWolfVoteSummary:R,getWitchContext:y}=l,v=(0,r(d[1]).useMemo)(()=>p?(0,r(d[2]).getBottomCardEffectiveRole)(p,s?.thiefChosenCard,s?.treasureMasterChosenCard):null,[p,s?.thiefChosenCard,s?.treasureMasterChosenCard]),A=(0,r(d[1]).useCallback)(()=>s&&null!==S&&p&&v&&(0,r(d[3]).doesRoleParticipateInWolfVote)(v)&&!(0,r(d[2]).isBottomCardWolfVoteExcluded)(p)?S:null,[s,S,p,v]),I=(0,r(d[1]).useCallback)(t=>{const o=c?.ui?.confirmText;if('compound'!==c?.kind&&(!o||'string'!=typeof o))throw new Error(`[SchemaDrivenUI] Missing currentSchema.ui.confirmText for schema: ${c?.id??'unknown'}`);return o},[c]),M=(0,r(d[1]).useCallback)(()=>!!s&&(u===r(d[4]).GameStatus.Ongoing&&(!h&&!!f)),[s,u,h,f]),V=(0,r(d[1]).useCallback)(()=>{if(!v||!(0,r(d[3]).isWolfRole)(v))return null;if('wolfVote'!==c?.kind)return null;const t=R();if(!(null!==S&&b(S)))return t;const o=s?.stepDeadline;if(null!=o){const n=Math.max(0,Math.ceil((o-Date.now())/1e3));if(n>0)return`${t}\uff08${n}\u79d2\u540e\u786e\u8ba4\uff09`}return`${t}\uff08\u53ef\u70b9\u51fb\u6539\u7968\u6216\u53d6\u6d88\uff09`},[c?.kind,R,b,v,S,s?.stepDeadline,C]),W=(0,r(d[1]).useCallback)(()=>(0,r(d[5]).buildBottomAction)({gameState:s,roomStatus:u,isAudioPlaying:h,currentSchema:c,imActioner:f,actorSeat:S,actorRole:p,multiSelectedSeats:w,hasWolfVoted:b,getWitchContext:y}),[s,y,f,h,c,u,S,p,b,w]),P=(0,r(d[1]).useCallback)(()=>{if(!p||!f||h)return null;if('wolfRobotLearn'===c?.id&&s?.wolfRobotReveal)return null;if('compound'===c?.kind){return y()?{type:'actionPrompt',targetSeat:-1}:null}return'confirm'===c?.kind?{type:'actionPrompt',targetSeat:-1}:'swap'===c?.kind&&null!==k?null:{type:'actionPrompt',targetSeat:-1}},[p,f,h,c,s?.wolfRobotReveal,y,k]),T=(0,r(d[1]).useCallback)(t=>{if(!p)return null;if('wolfRobotLearn'===c?.id&&s?.wolfRobotReveal)return null;return n({actorRole:p,schemaKind:c?.kind,schemaId:c?.id&&(0,r(d[0]).isValidSchemaId)(c.id)?c.id:void 0,uiRevealKind:'chooseSeat'===c?.kind?c.ui?.revealKind:void 0,seat:t,firstSwapSeat:k,isWolf:!!v&&(0,r(d[3]).doesRoleParticipateInWolfVote)(v),wolfSeat:A(),buildMessage:t=>I(t)})},[p,v,c,k,A,I,s?.wolfRobotReveal]),x=(0,r(d[1]).useCallback)(()=>{if(!p)return null;const o=!!v&&(0,r(d[3]).doesRoleParticipateInWolfVote)(v),n=A();return t(p,c,t=>I(t),o,n)},[p,v,c,A,I]);return{getActionIntent:T,getSkipIntent:x,getAutoTriggerIntent:P,buildActionMessage:I,findVotingWolfSeat:A,canTapForAction:M,getWolfStatusLine:V,getBottomAction:W}}},2173,[1078,36,2172,1077,1904,2174]);
2440
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildBottomAction=function(o){const{gameState:n,roomStatus:s,isAudioPlaying:u,currentSchema:l,imActioner:c,actorSeat:f,actorRole:p,multiSelectedSeats:k,hasWolfVoted:b,getWitchContext:y}=o;if(!n)return t;if(s!==r(d[0]).GameStatus.Ongoing)return t;if(u)return t;if(!l)return t;if(!c)return t;const S=n.ui?.currentActorHint,h=p?(0,r(d[1]).getBottomCardEffectiveRole)(p,n.thiefChosenCard,n.treasureMasterChosenCard):null;if(S&&h&&S.targetRoleIds.includes(h)){if('skipOnly'===S.bottomAction)return{buttons:[{key:'skip',label:S.message,intent:{type:'skip',targetSeat:-1,message:S.message}}]};if('wolfEmptyOnly'===S.bottomAction)return{buttons:[{key:'wolfEmpty',label:S.message,intent:{type:'wolfVote',targetSeat:-1,wolfSeat:f??void 0}}]}}if('wolfRobotLearn'===l.id&&'hunter'===n.wolfRobotReveal?.learnedRoleId&&!1===n.wolfRobotHunterStatusViewed){const t=l.ui?.hunterGateButtonText;if(!t)throw new Error('[bottomActionBuilder] wolfRobotLearn schema missing ui.hunterGateButtonText - schema-driven UI requires this field');return{buttons:[{key:'viewHunterStatus',label:t,intent:{type:'wolfRobotViewHunterStatus',targetSeat:-1}}]}}if('wolfVote'===l.kind){const t=[];return null!==f&&b(f)&&t.push({key:'wolfCancel',label:'\u53d6\u6d88\u6295\u7968',intent:{type:'wolfVote',targetSeat:-2,wolfSeat:f??void 0}}),t.push({key:'wolfEmpty',label:l.ui.emptyVoteText,intent:{type:'wolfVote',targetSeat:-1,wolfSeat:f??void 0}}),{buttons:t}}if('chooseSeat'===l.kind||'swap'===l.kind)return l.canSkip?{buttons:[{key:'skip',label:l.ui.bottomActionText,intent:{type:'skip',targetSeat:-1,message:l.ui.bottomActionText}}]}:t;if('compound'===l.kind&&'witchAction'===l.id&&l.steps?.length){const o=y();if(!o)return t;const n=l.steps.find(t=>'save'===t.key&&'confirmTarget'===t.kind),s=l.steps.find(t=>'poison'===t.key&&'chooseSeat'===t.kind),u=[];if(n&&o.killedSeat>=0&&o.canSave){const t=`\u5bf9${(0,r(d[2]).formatSeat)(o.killedSeat)}\u7528\u89e3\u836f`;u.push({key:'save',label:t,intent:{type:'actionConfirm',targetSeat:o.killedSeat,message:n.ui?.confirmText,stepKey:'save'}})}const c=s?.ui?.bottomActionText??'\u8df3\u8fc7';return u.push({key:'skip',label:c,intent:{type:'skip',targetSeat:-1,message:c,stepKey:'skipAll'}}),{buttons:u}}if('confirm'===l.kind)return{buttons:[{key:'confirm',label:l.ui.bottomActionText,intent:{type:'confirmTrigger',targetSeat:-1}}]};if('groupConfirm'===l.kind){const o='awakenedGargoyleConvertReveal'===l.id?n.conversionRevealAcks:'cupidLoversReveal'===l.id?n.cupidLoversRevealAcks:n.piperRevealAcks;return null!==f&&o.includes(f)?t:{buttons:[{key:'groupConfirmAck',label:l.ui.bottomActionText,intent:{type:'groupConfirmAck',targetSeat:-1}}]}}if('multiChooseSeat'===l.kind){const t=[],o=k.length;if(o>0){const n=l.ui.confirmButtonText;t.push({key:'multiConfirm',label:n.replace('{count}',String(o)),intent:{type:'multiSelectConfirm',targetSeat:-1,targets:k}})}return l.canSkip&&l.ui?.bottomActionText&&t.push({key:'skip',label:l.ui.bottomActionText,intent:{type:'skip',targetSeat:-1,message:l.ui.bottomActionText}}),{buttons:t}}if('chooseCard'===l.kind)return{buttons:[{key:'chooseCard',label:l.ui.bottomActionText,intent:{type:'chooseCard',targetSeat:-1}}]};return t};const t={buttons:[]}},2174,[1904,2172,1071]);
2441
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomDerived=function(o){const{gameState:n,currentSchema:s,currentActionRole:l,roomStatus:u,actorSeatForUi:c,showWolves:R,imActioner:f,firstSwapSeat:p,secondSeat:w,multiSelectedSeats:S,getWolfStatusLine:v,effectiveRole:h}=o,k=(0,r(d[0]).useMemo)(()=>{if(s)return'chooseSeat'===s.kind||'swap'===s.kind||'multiChooseSeat'===s.kind?s.constraints:void 0},[s]),A=(0,r(d[0]).useMemo)(()=>{if(!n)return[];const o='wolfRobotLearn'===s?.id&&null!=n.wolfRobotReveal;return(0,r(d[1]).buildSeatViewModels)(n,c,R,p,{schemaConstraints:f&&!o?k:void 0,secondSelectedSeat:w,multiSelectedSeats:S,showReadyBadges:u===r(d[2]).GameStatus.Assigned||u===r(d[2]).GameStatus.Ready,groupConfirmAcks:'groupConfirm'===s?.kind?(()=>{const o={awakenedGargoyleConvertReveal:n.conversionRevealAcks,cupidLoversReveal:n.cupidLoversRevealAcks,piperHypnotizedReveal:n.piperRevealAcks},t=s.id;if(!(t in o))throw new Error(`Unknown groupConfirm step: ${t}`);return o[t]})():void 0})},[n,c,R,p,w,S,f,k,s?.id,s?.kind,u]),M=(0,r(d[0]).useMemo)(()=>n?(0,r(d[1]).getRoleStats)(n.template.roles):{roleCounts:{},wolfRoles:[],godRoles:[],specialRoles:[],villagerCount:0,wolfRoleItems:[],godRoleItems:[],specialRoleItems:[],villagerRoleItems:[]},[n]),b=(0,r(d[0]).useMemo)(()=>{if(!l)return'';if(!s?.ui?.prompt)throw new Error(`[FAIL-FAST] Missing schema.ui.prompt for role: ${l}`);return['wolfRobotLearn'===s.id&&'hunter'===n?.wolfRobotReveal?.learnedRoleId&&!n?.wolfRobotHunterStatusViewed?s.ui.hunterGatePrompt??s.ui.prompt:s.ui.prompt,v(),t(n?.ui?.currentActorHint,h)].filter(Boolean).join('\n')},[n,l,s,v,h]);return Object.assign({seatViewModels:A},M,{actionMessage:b})};const o=new Set(['wolf_unanimity_required','wolf_tie_random']);function t(t,n){return t&&n&&o.has(t.kind)&&t.targetRoleIds.includes(n)?`\u26a0\ufe0f ${t.message}`:null}},2175,[36,2171,1904]);
2442
+ __d(function(g,r,i,a,m,e,d){"use strict";function t(t,o,s,n){(0,r(d[1]).showAlert)(t,o,[{text:n??"\u77e5\u9053\u4e86",style:"default",onPress:s}])}function o(t,o,l){const c="compound"===o.kind?o.steps?.find(n):void 0,f="compound"===o.kind?o.steps?.find(s)?.ui?.prompt:void 0,u=o.ui.prompt;if(t.killedSeat>=0)if(t.canSave){const o=c.ui.promptTemplate.replace("{seat}",(0,r(d[2]).formatSeat)(t.killedSeat));(0,r(d[3]).showDismissAlert)(u,o,l)}else(0,r(d[3]).showDismissAlert)(u,c.ui.cannotSavePrompt,l);else(0,r(d[3]).showDismissAlert)(o.ui.emptyKillTitle,f,l)}function s(t){return"poison"===t.key}function n(t){return"save"===t.key}function l(t,o,s,n,l){const c=l.ui.confirmTitle;let f;f=n||(-1===o?l.ui.emptyVoteConfirmTemplate.replace("{wolf}",t):l.ui.voteConfirmTemplate.replace("{wolf}",t).replace("{seat}",(0,r(d[2]).formatSeat)(o))),(0,r(d[3]).showConfirmAlert)(c,f,s)}function c(t,o,s,n){(0,r(d[3]).showConfirmAlert)(t,o,s,n?{onCancel:n}:void 0)}function f(t,o,s){(0,r(d[3]).showDismissAlert)(t,o,s)}function u(t,o){const s=o.ui.firstTargetTitle,n=o.ui.firstTargetPromptTemplate.replace("{seat}",(0,r(d[2]).formatSeat)(t));(0,r(d[3]).showDismissAlert)(s,n)}function p(t){(0,r(d[3]).showDismissAlert)("\u64cd\u4f5c\u65e0\u6548",t)}Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomActionDialogs=function(){const s=(0,r(d[0]).c)(1),n=p,h=u,w=f,A=c,D=l,v=o,T=t;let S;s[0]===Symbol.for("react.memo_cache_sentinel")?(S={showActionRejectedAlert:n,showMagicianFirstAlert:h,showRevealDialog:w,showConfirmDialog:A,showWolfVoteDialog:D,showWitchInfoPrompt:v,showRoleActionPrompt:T},s[0]=S):S=s[0];return S}},2176,[1092,1074,1071,1073]);
2443
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomSeatDialogs=function(t){const n=(0,r(d[0]).c)(34),{pendingSeat:o,setPendingSeat:l,setSeatModalVisible:s,setModalType:c,takeSeat:u,leaveSeat:S,navigation:f,onLeaveRoom:v}=t,h=(0,r(d[1]).useRef)(!1),[L,b]=(0,r(d[1]).useState)(!1);let w;n[0]!==c||n[1]!==l||n[2]!==s?(w=t=>{h.current=!1,b(!1),l(t),c("enter"),s(!0)},n[0]=c,n[1]=l,n[2]=s,n[3]=w):w=n[3];const p=w;let y;n[4]!==c||n[5]!==l||n[6]!==s?(y=t=>{h.current=!1,b(!1),l(t),c("leave"),s(!0)},n[4]=c,n[5]=l,n[6]=s,n[7]=y):y=n[7];const C=y;let R;n[8]!==o||n[9]!==l||n[10]!==s||n[11]!==u?(R=()=>{if(null===o||h.current)return;h.current=!0,b(!0);const t=o;r(d[2]).roomScreenLog.debug("Taking seat",{seat:t}),u(t).then(n=>{n?(s(!1),l(null)):(r(d[2]).roomScreenLog.warn("takeSeat failed (occupied)",{seat:t}),s(!1),l(null),(0,r(d[3]).showErrorAlert)("\u5165\u5ea7\u5931\u8d25",`${(0,r(d[4]).formatSeat)(t)}\u5ea7\u4f4d\u5df2\u88ab\u5360\u7528\uff0c\u8bf7\u9009\u62e9\u5176\u4ed6\u4f4d\u7f6e\u3002`))}).finally(()=>{h.current=!1,b(!1)})},n[8]=o,n[9]=l,n[10]=s,n[11]=u,n[12]=R):R=n[12];const _=R;let k;n[13]!==l||n[14]!==s?(k=()=>{s(!1),l(null)},n[13]=l,n[14]=s,n[15]=k):k=n[15];const D=k;let M;n[16]!==S||n[17]!==o||n[18]!==l||n[19]!==s?(M=()=>{null===o||h.current||(h.current=!0,b(!0),r(d[2]).roomScreenLog.debug("Leaving seat",{seat:o}),S().then(()=>{s(!1),l(null)}).finally(()=>{h.current=!1,b(!1)}))},n[16]=S,n[17]=o,n[18]=l,n[19]=s,n[20]=M):M=n[20];const A=M;let E;n[21]!==f||n[22]!==v?(E=()=>{r(d[2]).roomScreenLog.debug("Leaving room"),v?.(),f.navigate("Home")},n[21]=f,n[22]=v,n[23]=E):E=n[23];const P=E;let T;n[24]!==P?(T=()=>{(0,r(d[3]).showConfirmAlert)("\u79bb\u5f00\u623f\u95f4\uff1f","",P)},n[24]=P,n[25]=T):T=n[25];const j=T;let H;n[26]!==D||n[27]!==A||n[28]!==_||n[29]!==j||n[30]!==L||n[31]!==p||n[32]!==C?(H={showEnterSeatDialog:p,showLeaveSeatDialog:C,handleConfirmSeat:_,handleCancelSeat:D,handleConfirmLeave:A,handleLeaveRoom:j,isSeatSubmitting:L},n[26]=D,n[27]=A,n[28]=_,n[29]=j,n[30]=L,n[31]=p,n[32]=C,n[33]=H):H=n[33];return H}},2177,[1092,36,1061,1073,1071]);
2444
+ __d(function(g,r,i,_a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildActionLines=n,e.buildIdentityLines=c,e.buildNightReviewData=function(t){return{actionLines:n(t),identityLines:c(t.players)}};const t={wolfKill:'\u72fc\u6740',poison:'\u6bd2\u6740',checkDeath:'\u67e5\u9a8c\u81f4\u6b7b',wolfQueenLink:'\u9b45\u60d1\u8fde\u9501',bondedLink:'\u7ed1\u5b9a\u8fde\u9501',coupleLink:'\u6b89\u60c5',dreamcatcherLink:'\u6444\u68a6\u8fde\u9501',reflection:'\u53cd\u4f24',magicianSwap:'\u9b54\u672f\u5e08\u4ea4\u6362'};function o(t,o){for(const[a,l]of t)if(l?.role===o)return a}function a(t,o){const a=o.currentNightResults;if(a.poisonedSeat===t)return!0;const l=o.witchContext?.killedSeat;return void 0!==l&&l>=0&&l===t&&a.savedSeat!==t}function l(t,l){const s=l.currentNightResults;if(s.poisonedSeat===t)return!1;const n=l.loverSeats;if(n&&n.includes(t)){if(a(n[0]===t?n[1]:n[0],l))return!1}if(s.dreamingSeat===t){const t=o(l.players,'dreamcatcher');if(void 0!==t&&a(t,l))return!1}if(s.charmedSeat===t){const t=o(l.players,'wolfQueen');if(void 0!==t&&a(t,l))return!1}return!0}function s(t){if(!t)return;const o=Object.entries(t);if(0===o.length)return;const a=new Map;for(const[,t]of o)a.set(t,(a.get(t)??0)+1);let l,s=0,n=!1;for(const[t,o]of a)o>s?(s=o,l=t,n=!1):o===s&&(n=!0);return n?void 0:l}function n(a){const n=[],c=a.currentNightResults;if(a.bottomCards&&a.bottomCards.length>0){const t=a.bottomCards.map(t=>(0,r(_d[0]).getRoleDisplayName)(t)).join('\u3001');n.push(`${(0,r(_d[0]).getRoleEmoji)('treasureMaster')} \u5e95\u724c\u7ec4\u6210\uff1a${t}`)}if(a.treasureMasterChosenCard){const t=(0,r(_d[0]).getRoleDisplayName)(a.treasureMasterChosenCard);n.push(`${(0,r(_d[0]).getRoleEmoji)('treasureMaster')} \u76d7\u5b9d\u5927\u5e08\u9009\u62e9\u4e86 ${t}`)}if(a.thiefChosenCard){const t=(0,r(_d[0]).getRoleDisplayName)(a.thiefChosenCard);n.push(`${(0,r(_d[0]).getRoleEmoji)('thief')} \u76d7\u8d3c\u9009\u62e9\u4e86 ${t}`)}if(a.loverSeats&&2===a.loverSeats.length&&n.push(`${(0,r(_d[0]).getRoleEmoji)('cupid')} \u4e18\u6bd4\u7279\u8fde\u7ebf\u4e86 ${(0,r(_d[1]).formatSeat)(a.loverSeats[0])} \u548c ${(0,r(_d[1]).formatSeat)(a.loverSeats[1])}`),c.wolfVotesBySeat&&Object.keys(c.wolfVotesBySeat).length>0){const t=Object.entries(c.wolfVotesBySeat).map(([t,o])=>`${(0,r(_d[1]).formatSeat)(Number(t))}\u2192${(0,r(_d[1]).formatSeat)(o)}`).join('\uff0c');n.push(`${(0,r(_d[0]).getRoleEmoji)('wolf')} \u72fc\u4eba\u88ad\u51fb\uff1a${t}`)}else!c.wolfKillOverride&&Array.from(a.players.values()).some(t=>t?.role&&r(_d[0]).ROLE_SPECS[t.role]?.team===r(_d[2]).Team.Wolf)&&n.push(`${(0,r(_d[0]).getRoleEmoji)('wolf')} \u72fc\u4eba\u7a7a\u5200\uff08\u672a\u9009\u62e9\u76ee\u6807\uff09`);if(c.wolfKillOverride){const t='poisoner'===c.wolfKillOverride.source?'\u6bd2\u5e08\u5728\u573a':`\u88ab${(0,r(_d[0]).getRoleDisplayName)('nightmare')}\u5c01\u9501`;n.push(`${(0,r(_d[0]).getRoleEmoji)('wolf')} \u72fc\u4eba\u653e\u5f03\u88ad\u51fb\uff08${t}\uff09`)}if(null!=c.blockedSeat){const t=a.players.get(c.blockedSeat),o=t?.role?`\uff08${(0,r(_d[0]).getRoleDisplayName)(t.role)}\uff0c\u6280\u80fd\u65e0\u6548\uff09`:'';n.push(`${(0,r(_d[0]).getRoleEmoji)('nightmare')} ${(0,r(_d[0]).getRoleDisplayName)('nightmare')}\u5c01\u9501\u4e86 ${(0,r(_d[1]).formatSeat)(c.blockedSeat)}${o}`)}if(null!=c.shelteredSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('eclipseWolfQueen')} ${(0,r(_d[0]).getRoleDisplayName)('eclipseWolfQueen')}\u5e87\u62a4\u4e86 ${(0,r(_d[1]).formatSeat)(c.shelteredSeat)}`),null!=c.guardedSeat)n.push(`${r(_d[3]).ACTION.GUARD} \u5b88\u536b\u5b88\u62a4\u4e86 ${(0,r(_d[1]).formatSeat)(c.guardedSeat)}`);else{const t=o(a.players,'guard');void 0!==t&&c.blockedSeat!==t&&n.push(`${r(_d[3]).ACTION.GUARD} \u5b88\u536b\u672a\u5b88\u62a4`)}if(null!=c.silencedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('silenceElder')} \u7981\u8a00\u957f\u8001\u7981\u8a00\u4e86 ${(0,r(_d[1]).formatSeat)(c.silencedSeat)}`),null!=c.votebannedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('votebanElder')} \u7981\u7968\u957f\u8001\u7981\u7968\u4e86 ${(0,r(_d[1]).formatSeat)(c.votebannedSeat)}`),null!=c.savedSeat&&n.push(`${r(_d[3]).ACTION.SAVE} \u5973\u5deb\u4f7f\u7528\u89e3\u836f\u6551\u4e86 ${(0,r(_d[1]).formatSeat)(c.savedSeat)}`),null!=c.poisonedSeat){const t=void 0!==o(a.players,'poisoner')?'\u6bd2\u5e08\u6bd2\u6740\u4e86':'\u5973\u5deb\u4f7f\u7528\u6bd2\u836f\u6bd2\u6740\u4e86';n.push(`${r(_d[3]).ACTION.POISON} ${t} ${(0,r(_d[1]).formatSeat)(c.poisonedSeat)}`)}{const t=o(a.players,'witch'),l=o(a.players,'poisoner'),s=void 0!==t&&c.blockedSeat===t,d=void 0!==l&&c.blockedSeat===l;if(void 0!==t&&!s){const t=null==c.savedSeat,o=void 0===l,a=null==c.poisonedSeat;t&&o&&a?n.push(`${r(_d[3]).ACTION.SAVE} \u5973\u5deb\u672a\u4f7f\u7528\u836f\u6c34`):(t&&n.push(`${r(_d[3]).ACTION.SAVE} \u5973\u5deb\u672a\u4f7f\u7528\u89e3\u836f`),o&&a&&n.push(`${r(_d[3]).ACTION.POISON} \u5973\u5deb\u672a\u4f7f\u7528\u6bd2\u836f`))}void 0===l||d||null!=c.poisonedSeat||n.push(`${r(_d[3]).ACTION.POISON} \u6bd2\u5e08\u672a\u4f7f\u7528\u6bd2\u836f`)}null!=c.cursedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('crow')} \u4e4c\u9e26\u8bc5\u5492\u4e86 ${(0,r(_d[1]).formatSeat)(c.cursedSeat)}`),null!=c.dreamingSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('dreamcatcher')} \u6444\u68a6\u4eba\u6444\u68a6\u4e86 ${(0,r(_d[1]).formatSeat)(c.dreamingSeat)}`),c.swappedSeats&&n.push(`${(0,r(_d[0]).getRoleEmoji)('magician')} \u9b54\u672f\u5e08\u4ea4\u6362\u4e86 ${(0,r(_d[1]).formatSeat)(c.swappedSeats[0])} \u548c ${(0,r(_d[1]).formatSeat)(c.swappedSeats[1])}`);const d=a.actions.get('slacker');d&&'target'===d.kind&&n.push(`${(0,r(_d[0]).getRoleEmoji)('slacker')} ${(0,r(_d[0]).getRoleDisplayName)('slacker')}\u9009\u62e9\u4e86 ${(0,r(_d[1]).formatSeat)(d.targetSeat)} \u4e3a\u699c\u6837`);const f=a.actions.get('wildChild');if(f&&'target'===f.kind&&n.push(`${(0,r(_d[0]).getRoleEmoji)('wildChild')} \u91ce\u5b69\u5b50\u9009\u62e9\u4e86 ${(0,r(_d[1]).formatSeat)(f.targetSeat)} \u4e3a\u699c\u6837`),null!=c.shadowMimicTarget){const t=c.avengerFaction===r(_d[2]).Team.Third?`${(0,r(_d[0]).getRoleEmoji)('shadow')} \u5f71\u5b50\u6a21\u4eff\u4e86 ${(0,r(_d[1]).formatSeat)(c.shadowMimicTarget)}\uff08\u7ed1\u5b9a\uff09`:`${(0,r(_d[0]).getRoleEmoji)('shadow')} \u5f71\u5b50\u6a21\u4eff\u4e86 ${(0,r(_d[1]).formatSeat)(c.shadowMimicTarget)}`;n.push(t)}void 0!==o(a.players,'avenger')&&n.push(`${(0,r(_d[0]).getRoleEmoji)('avenger')} \u590d\u4ec7\u8005\u5df2\u786e\u8ba4\u9635\u8425`);const u=a.actions.get('wolfQueen');if(u&&'target'===u.kind&&n.push(`${r(_d[3]).ACTION.CHARM} \u72fc\u7f8e\u4eba\u9b45\u60d1\u4e86 ${(0,r(_d[1]).formatSeat)(u.targetSeat)}`),null!=c.convertedSeat&&n.push(`${(0,r(_d[0]).getRoleEmoji)('awakenedGargoyle')} \u89c9\u9192\u77f3\u50cf\u9b3c\u8f6c\u5316\u4e86 ${(0,r(_d[1]).formatSeat)(c.convertedSeat)}`),c.hypnotizedSeats&&c.hypnotizedSeats.length>0){const t=c.hypnotizedSeats.map(t=>(0,r(_d[1]).formatSeat)(t)).join('\u3001');n.push(`${(0,r(_d[0]).getRoleEmoji)('piper')} \u5439\u7b1b\u8005\u50ac\u7720\u4e86 ${t}`)}const S=[{key:'seerReveal',label:'\u9884\u8a00\u5bb6'},{key:'mirrorSeerReveal',label:'\u706f\u5f71\u9884\u8a00\u5bb6'},{key:'drunkSeerReveal',label:'\u9152\u9b3c\u9884\u8a00\u5bb6'},{key:'psychicReveal',label:'\u901a\u7075\u5e08'},{key:'gargoyleReveal',label:'\u77f3\u50cf\u9b3c'},{key:'pureWhiteReveal',label:'\u7eaf\u767d\u4e4b\u5973'},{key:'wolfWitchReveal',label:'\u72fc\u5deb'}];for(const{key:t,label:o}of S){const l=a[t];l&&n.push(`${r(_d[3]).ACTION.CHECK} ${o}\u67e5\u9a8c ${(0,r(_d[1]).formatSeat)(l.targetSeat)}\uff1a${l.result}`)}if(a.wolfRobotReveal){const t=a.wolfRobotReveal;n.push(`${r(_d[3]).ACTION.LEARN} ${(0,r(_d[0]).getRoleDisplayName)('wolfRobot')}\u5b66\u4e60\u4e86 ${(0,r(_d[1]).formatSeat)(t.targetSeat)}\uff08${(0,r(_d[0]).getRoleDisplayName)(t.learnedRoleId)}\uff09`)}const p=o(a.players,'hunter');if(void 0!==p){const t=l(p,a);n.push(t?`${r(_d[3]).ACTION.SHOOT} \u730e\u4eba\u53ef\u4ee5\u53d1\u52a8\u6280\u80fd`:`${r(_d[3]).ACTION.SHOOT} \u730e\u4eba\u4e0d\u80fd\u53d1\u52a8\u6280\u80fd`)}const h=o(a.players,'darkWolfKing');if(void 0!==h){const t=l(h,a);n.push(t?`${(0,r(_d[0]).getRoleEmoji)('darkWolfKing')} ${(0,r(_d[0]).getRoleDisplayName)('darkWolfKing')}\u53ef\u4ee5\u53d1\u52a8\u6280\u80fd`:`${(0,r(_d[0]).getRoleEmoji)('darkWolfKing')} ${(0,r(_d[0]).getRoleDisplayName)('darkWolfKing')}\u4e0d\u80fd\u53d1\u52a8\u6280\u80fd`)}const $=s(c.wolfVotesBySeat);if(void 0!==$&&c.guardedSeat===$&&c.savedSeat===$&&n.push(`\u26a0\ufe0f \u540c\u5b88\u540c\u6551\uff1a${(0,r(_d[1]).formatSeat)($)} \u4ecd\u7136\u6b7b\u4ea1`),null!=c.poisonedSeat){const t=a.players.get(c.poisonedSeat);if(t?.role){const o=r(_d[0]).ROLE_SPECS[t.role]?.abilities?.some(t=>'passive'===t.type&&'immuneToPoison'===t.effect);o&&n.push(`\u26a0\ufe0f ${(0,r(_d[1]).formatSeat)(c.poisonedSeat)}\uff08${(0,r(_d[0]).getRoleDisplayName)(t.role)}\uff09\u514d\u75ab\u6bd2\u836f`)}}const R=[{key:'seerReveal',roleId:'seer'},{key:'mirrorSeerReveal',roleId:'mirrorSeer'},{key:'drunkSeerReveal',roleId:'drunkSeer'},{key:'psychicReveal',roleId:'psychic'},{key:'gargoyleReveal',roleId:'gargoyle'},{key:'pureWhiteReveal',roleId:'pureWhite'},{key:'wolfWitchReveal',roleId:'wolfWitch'}];for(const{key:t,roleId:o}of R){const l=a[t];if(l){const t=a.players.get(l.targetSeat);if(t?.role){const a=r(_d[0]).ROLE_SPECS[t.role]?.abilities?.some(t=>'passive'===t.type&&'reflectsDamage'===t.effect);a&&n.push(`\u26a0\ufe0f ${(0,r(_d[0]).getRoleDisplayName)(o)} \u67e5\u9a8c\u4e86 ${(0,r(_d[1]).formatSeat)(l.targetSeat)}\uff08${(0,r(_d[0]).getRoleDisplayName)(t.role)}\uff09\uff0c\u906d\u5230\u53cd\u4f24`)}}}const y=a.lastNightDeaths;if(0===y.length)n.push(`${r(_d[3]).STATUS.PEACEFUL_NIGHT} \u6628\u591c\u5e73\u5b89\u591c`);else{const{deathReasons:o}=a,l=y.map(a=>{const l=o?.[a];return l?`${(0,r(_d[1]).formatSeat)(a)}\uff08${t[l]}\uff09`:(0,r(_d[1]).formatSeat)(a)}).join('\u3001');n.push(`${r(_d[3]).STATUS.DEATH} \u6b7b\u4ea1\uff1a${l}`)}return n}function c(t){const o=[],a=Array.from(t.keys()).sort((t,o)=>t-o);for(const l of a){const a=t.get(l);if(!a){o.push(`${(0,r(_d[1]).formatSeat)(l)}: \u7a7a\u5ea7`);continue}const s=a.role?(0,r(_d[0]).getRoleDisplayName)(a.role):'\u672a\u5206\u914d';o.push(`${(0,r(_d[1]).formatSeat)(l)}: ${s}`)}return o}},2178,[1077,1071,1082,1448]);
2445
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.uploadShareImage=async function(t){r(d[0]).shareLog.debug('Uploading share image',{sizeKB:Math.round(t.length/1024)});const{url:n}=await(0,r(d[1]).cfPost)('/share/image',{base64:t});return n}},2179,[1061,1072]);
2446
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useRoomModals=function(t){const s=(0,r(d[0]).c)(30),{isHost:o,canShareReport:l,getLastNightInfo:n,getCurseInfo:c,shareNightReview:h,beginReportCapture:u,shareNightReviewReport:S}=t,[R,w]=(0,r(d[1]).useState)(!1),[f,_]=(0,r(d[1]).useState)(!1),[v,P]=(0,r(d[1]).useState)(!1);let b;s[0]===Symbol.for("react.memo_cache_sentinel")?(b=()=>{w(!1),_(!1),P(!1)},s[0]=b):b=s[0];const y=b,[x,C]=(0,r(d[1]).useState)(null);let A;s[1]===Symbol.for("react.memo_cache_sentinel")?(A=t=>{C(t)},s[1]=A):A=s[1];const N=A;let p;s[2]===Symbol.for("react.memo_cache_sentinel")?(p=()=>{C(null)},s[2]=p):p=s[2];const I=p,[L,T]=(0,r(d[1]).useState)(!1),[V,k]=(0,r(d[1]).useState)(!1),M=(0,r(d[1]).useRef)(!1);let O;s[3]===Symbol.for("react.memo_cache_sentinel")?(O=()=>{(0,r(d[2]).showConfirmAlert)("\u63d0\u793a","\u8bf7\u786e\u4fdd\u4f60\u662f\u88c1\u5224\u6216\u89c2\u6218\u73a9\u5bb6\uff0c\u518d\u67e5\u770b\u8be6\u7ec6\u4fe1\u606f",()=>k(!0),{confirmText:"\u786e\u5b9a\u67e5\u770b"})},s[3]=O):O=s[3];const D=O;let j;s[4]!==l||s[5]!==o||s[6]!==S?(j=t=>{const s=()=>{M.current=!1};o?(0,r(d[3]).showAlert)("\u8be6\u7ec6\u4fe1\u606f","\u9009\u62e9\u64cd\u4f5c",[{text:"\u81ea\u5df1\u67e5\u770b",onPress:()=>{s(),D()}},{text:"\u5206\u4eab\u7ed9\u73a9\u5bb6",onPress:()=>{s(),T(!0)}},{text:"\u5206\u4eab\u6218\u62a5",loading:t,onPress:()=>{s(),S()}},{text:"\u53d6\u6d88",style:"cancel",onPress:s}]):l&&(0,r(d[3]).showAlert)("\u8be6\u7ec6\u4fe1\u606f","\u9009\u62e9\u64cd\u4f5c",[{text:"\u67e5\u770b",onPress:()=>{s(),D()}},{text:"\u5206\u4eab\u6218\u62a5",loading:t,onPress:()=>{s(),S()}},{text:"\u53d6\u6d88",style:"cancel",onPress:s}])},s[4]=l,s[5]=o,s[6]=S,s[7]=j):j=s[7];const B=j;let H;s[8]!==u||s[9]!==l||s[10]!==o||s[11]!==B?(H=()=>{o||l?(M.current=!0,u().then(()=>{M.current&&B(!1)}),B(!0)):D()},s[8]=u,s[9]=l,s[10]=o,s[11]=B,s[12]=H):H=s[12];const U=H;let q;s[13]===Symbol.for("react.memo_cache_sentinel")?(q=()=>k(!1),s[13]=q):q=s[13];const z=q;let E;s[14]===Symbol.for("react.memo_cache_sentinel")?(E=()=>T(!1),s[14]=E):E=s[14];const F=E;let G;s[15]!==h?(G=async t=>{await h(t),T(!1)},s[15]=h,s[16]=G):G=s[16];const J=G;let K;s[17]!==c||s[18]!==n?(K=()=>{(0,r(d[2]).showConfirmAlert)("\u63d0\u793a","\u8bf7\u5728\u8b66\u957f\u7ade\u9009\u7ed3\u675f\u540e\u518d\u67e5\u770b\uff0c\u8bf7\u52ff\u4f5c\u5f0a",()=>{const t=n(),s=c(),o=[r(d[3]).DISMISS_BUTTON];null!=s&&o.unshift({text:"\u67e5\u770b\u8bc5\u5492",onPress:()=>{(0,r(d[2]).showDismissAlert)("\u4e4c\u9e26\u8bc5\u5492",s)}}),(0,r(d[3]).showAlert)("\u6628\u591c\u4fe1\u606f",t,o)},{confirmText:"\u786e\u5b9a\u67e5\u770b"})},s[17]=c,s[18]=n,s[19]=K):K=s[19];const Q=K;let W;s[20]!==J||s[21]!==v||s[22]!==V||s[23]!==U||s[24]!==R||s[25]!==L||s[26]!==f||s[27]!==Q||s[28]!==x?(W={roleCardVisible:R,shouldPlayRevealAnimation:f,isLoadingRole:v,setRoleCardVisible:w,setShouldPlayRevealAnimation:_,setIsLoadingRole:P,handleRoleCardClose:y,skillPreviewRoleId:x,handleSkillPreviewOpen:N,handleSkillPreviewClose:I,nightReviewVisible:V,openNightReview:U,closeNightReview:z,shareReviewVisible:L,closeShareReview:F,handleShareNightReview:J,showLastNightInfo:Q},s[20]=J,s[21]=v,s[22]=V,s[23]=U,s[24]=R,s[25]=L,s[26]=f,s[27]=Q,s[28]=x,s[29]=W):W=s[29];return W}},2180,[1092,36,1073,1074]);
2447
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useNightProgress=function(t){const s=(0,r(d[0]).c)(11),{currentStepId:l,gameState:n}=t;let o;if(s[0]!==l||s[1]!==n){e:{if(!l||n?.status!==r(d[1]).GameStatus.Ongoing){o=null;break e}const t=(0,r(d[2]).buildNightPlan)(n.template.roles,n.seerLabelMap);let c;s[3]!==l?(c=t=>t.stepId===l,s[3]=l,s[4]=c):c=s[4];const u=t.steps.findIndex(c);if(-1===u){o=null;break e}const p=t.steps[u];let f=p?.displayName;if(p){const t=(0,r(d[2]).getRoleDisplayAs)(p.roleId);if(t){const s=(0,r(d[2]).getRoleSpec)(t);f=s?.displayName??f}const s=n.seerLabelMap;if(s){const t=s[p.roleId];null!=t&&f&&(f=`${t}\u53f7${f}`)}}const b=u+1;let I;s[5]!==t||s[6]!==f||s[7]!==b?(I={current:b,total:t.length,roleName:f},s[5]=t,s[6]=f,s[7]=b,s[8]=I):I=s[8],o=I}s[0]=l,s[1]=n,s[2]=o}else o=s[2];const c=o;let u;s[9]!==c?(u={nightProgress:c},s[9]=c,s[10]=u):u=s[10];return u}},2181,[1092,1904,1077]);
2448
2448
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.shareQRCodeImage=async function(o,s){await(0,n.shareImageBase64)(o,`room-${s}-qr.png`,`\u72fc\u4eba\u6740\u623f\u95f4 ${s} \u4e8c\u7ef4\u7801`)};var n=r(d[0])},2182,[2131]);
2449
2449
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createRoomScreenStyles=function(e){const o=(0,r(d[1]).createSharedStyles)(e);return t.default.create({container:{flex:1,backgroundColor:e.transparent,overflow:'hidden'},loadingContainer:{flex:1,justifyContent:'center',alignItems:'center',backgroundColor:e.transparent},loadingText:{marginTop:r(d[1]).spacing.medium,fontSize:r(d[1]).typography.body,lineHeight:r(d[1]).typography.lineHeights.body,color:e.textSecondary},errorMessageText:{color:e.error,textAlign:'center',paddingHorizontal:r(d[1]).spacing.large},errorBackButton:{paddingHorizontal:r(d[1]).spacing.large,paddingVertical:r(d[1]).spacing.medium,backgroundColor:e.primary,borderRadius:r(d[1]).borderRadius.full},errorBackButtonText:Object.assign({},r(d[1]).textStyles.bodySemibold,{color:e.textInverse}),errorSecondaryButton:{paddingHorizontal:r(d[1]).spacing.large,paddingVertical:r(d[1]).spacing.medium,backgroundColor:e.surfaceHover,borderRadius:r(d[1]).borderRadius.full,borderWidth:r(d[1]).fixed.borderWidth,borderColor:e.border},errorSecondaryButtonText:Object.assign({},r(d[1]).textStyles.bodySemibold,{color:e.textSecondary}),retryButtonRow:{flexDirection:'row',gap:r(d[1]).spacing.small+r(d[1]).spacing.tight,marginTop:r(d[1]).spacing.large},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:r(d[1]).spacing.screenH,paddingVertical:r(d[1]).layout.headerPaddingV,backgroundColor:e.surface,borderBottomWidth:r(d[1]).fixed.borderWidth,borderBottomColor:e.border,overflow:'hidden'},backButton:Object.assign({},o.iconButton,{borderRadius:r(d[1]).borderRadius.full,overflow:'hidden',zIndex:1}),headerCenter:Object.assign({},t.default.absoluteFillObject,{justifyContent:'center',alignItems:'center'}),headerTitle:{fontSize:r(d[1]).layout.headerTitleSize,lineHeight:r(d[1]).layout.headerTitleLineHeight,fontWeight:r(d[1]).typography.weights.bold,color:e.text},headerRight:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small,zIndex:1},headerLeft:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small,zIndex:1},scrollView:{flex:1,backgroundColor:e.transparent},scrollContent:{flexGrow:1,padding:r(d[1]).spacing.medium,paddingBottom:r(d[1]).spacing.xxlarge+r(d[1]).spacing.xlarge},hiddenShareCardContainer:{position:'absolute',top:-9999,left:-9999,pointerEvents:'none'}})};var e,t=(e=r(d[0]))&&e.__esModule?e:{default:e}},2183,[38,1098]);
2450
2450
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createRoomScreenComponentStyles=function(t){const n=(0,r(d[0]).createStatusPanelStyles)(t);return Object.assign({},(0,r(d[1]).createBoardInfoStyles)(t),n,(0,r(d[2]).createModalMenuStyles)(t),{statusRibbon:n.statusRibbon})}},2184,[2185,2186,2187]);
@@ -2455,15 +2455,15 @@ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return'undefined'!=typeo
2455
2455
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useBottomLayout=function(t){const o=(0,r(d[0]).c)(3),{ctx:u,schemaVM:n}=t;let s;o[0]!==u||o[1]!==n.buttons?(s=(0,r(d[1]).resolveBottomLayout)(u,n.buttons),o[0]=u,o[1]=n.buttons,o[2]=s):s=o[2];return s}},2189,[1092,2190]);
2456
2456
  __d(function(g,_r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.resolveBottomLayout=function(t,o=[]){const l=s(t),u=_r(d[0]).LAYOUT_RULES.find(r=>c(r.match.status,t.roomStatus)&&r.match.role===l&&(!r.match.when||r.match.when(t)));if(!u)return _r(d[0]).EMPTY_LAYOUT;const y=r(o),p=n(u.layout.primary,'primary',t,y),h=n(u.layout.secondary,'secondary',t,y),f=n(u.layout.ghost,'ghost',t,y);return{primary:p,secondary:h,ghost:f}};const t=new Set(['skip','wolfEmpty']);function r(r){if(0===r.length)return{primary:[],secondary:[]};if(1===r.length){const o=r[0];return t.has(o.key)?{primary:[],secondary:[o]}:{primary:[o],secondary:[]}}return{primary:[r[0]],secondary:r.slice(1)}}function o(t,r,o){const n=_r(d[0]).STATIC_BUTTONS[t],s={key:t,label:n.label,variant:r,size:'primary'===r?'lg':'md',action:t,testID:n.testID};switch('ghost'===r&&n.ghostTextColor&&(s.textColor=n.ghostTextColor),'primary'===r&&n.primaryButtonColor&&(s.buttonColor=n.primaryButtonColor),t){case'waitForHost':case'audioWaiting':s.disabled=!0,s.fireWhenDisabled=!0;break;case'prepareToFlip':case'startGame':case'restart':s.disabled=o.isHostActionSubmitting,s.fireWhenDisabled=!0}return s}function n(t,r,n,s){const c=[];for(const l of t)if('static'===l.source)c.push(o(l.button,r,n));else{const t='primary'===l.tier?s.primary:s.secondary;for(const o of t)c.push({key:o.key,label:o.label,variant:'ghost'===r?'ghost':r,size:'primary'===r?'lg':'md',intent:o.intent})}return c}function s(t){return t.isHost?'host':null!==t.effectiveSeat?'player':'spectator'}function c(t,r){return Array.isArray(t)?t.includes(r):t===r}},2190,[2191]);
2457
2457
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"STATIC_BUTTONS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"LAYOUT_RULES",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"EMPTY_LAYOUT",{enumerable:!0,get:function(){return s}});const t={viewRole:{label:'\u67e5\u770b\u8eab\u4efd'},waitForHost:{label:'\u7b49\u5f85\u623f\u4e3b\u5f00\u59cb'},audioWaiting:{label:'\u8bed\u97f3\u64ad\u62a5\u4e2d\u2026',testID:r(d[0]).TESTIDS.audioWaitingButton},settings:{label:'\u623f\u95f4\u914d\u7f6e',testID:r(d[0]).TESTIDS.roomSettingsButton,primaryButtonColor:r(d[1]).colors.info},prepareToFlip:{label:'\u5206\u914d\u89d2\u8272',testID:r(d[0]).TESTIDS.prepareToFlipButton},startGame:{label:'\u5f00\u59cb\u6e38\u620f',testID:r(d[0]).TESTIDS.startGameButton},restart:{label:'\u91cd\u65b0\u5f00\u59cb',testID:r(d[0]).TESTIDS.restartButton,ghostTextColor:r(d[1]).colors.error},lastNightInfo:{label:'\u6628\u591c\u4fe1\u606f',testID:r(d[0]).TESTIDS.lastNightInfoButton},nightReview:{label:'\u8be6\u7ec6\u4fe1\u606f',testID:r(d[0]).TESTIDS.nightReviewButton}},o=[{match:{status:r(d[2]).GameStatus.Unseated,role:'host'},layout:{primary:[{source:'static',button:'settings'}],secondary:[],ghost:[]}},{match:{status:r(d[2]).GameStatus.Unseated,role:'player'},layout:{primary:[{source:'static',button:'waitForHost'}],secondary:[],ghost:[]}},{match:{status:r(d[2]).GameStatus.Seated,role:'host'},layout:{primary:[{source:'static',button:'prepareToFlip'}],secondary:[],ghost:[{source:'static',button:'settings'}]}},{match:{status:r(d[2]).GameStatus.Seated,role:'player'},layout:{primary:[{source:'static',button:'waitForHost'}],secondary:[],ghost:[]}},{match:{status:r(d[2]).GameStatus.Assigned,role:'host'},layout:{primary:[{source:'static',button:'viewRole'}],secondary:[],ghost:[{source:'static',button:'restart'}]}},{match:{status:r(d[2]).GameStatus.Assigned,role:'player'},layout:{primary:[{source:'static',button:'viewRole'}],secondary:[],ghost:[]}},{match:{status:r(d[2]).GameStatus.Ready,role:'host'},layout:{primary:[{source:'static',button:'startGame'}],secondary:[],ghost:[{source:'static',button:'viewRole'},{source:'static',button:'restart'}]}},{match:{status:r(d[2]).GameStatus.Ready,role:'player'},layout:{primary:[{source:'static',button:'viewRole'}],secondary:[],ghost:[]}},{match:{status:r(d[2]).GameStatus.Ongoing,role:'host',when:t=>t.imActioner&&t.isAudioPlaying},layout:{primary:[{source:'static',button:'audioWaiting'}],secondary:[],ghost:[{source:'static',button:'viewRole'},{source:'static',button:'restart'}]}},{match:{status:r(d[2]).GameStatus.Ongoing,role:'player',when:t=>t.imActioner&&t.isAudioPlaying},layout:{primary:[{source:'static',button:'audioWaiting'}],secondary:[],ghost:[{source:'static',button:'viewRole'}]}},{match:{status:r(d[2]).GameStatus.Ongoing,role:'host',when:t=>t.imActioner},layout:{primary:[{source:'schema',tier:'primary'}],secondary:[{source:'schema',tier:'secondary'}],ghost:[{source:'static',button:'viewRole'},{source:'static',button:'restart'}]}},{match:{status:r(d[2]).GameStatus.Ongoing,role:'player',when:t=>t.imActioner},layout:{primary:[{source:'schema',tier:'primary'}],secondary:[{source:'schema',tier:'secondary'}],ghost:[{source:'static',button:'viewRole'}]}},{match:{status:r(d[2]).GameStatus.Ongoing,role:'host'},layout:{primary:[{source:'static',button:'viewRole'}],secondary:[],ghost:[{source:'static',button:'restart'}]}},{match:{status:r(d[2]).GameStatus.Ongoing,role:'player'},layout:{primary:[{source:'static',button:'viewRole'}],secondary:[],ghost:[]}},{match:{status:r(d[2]).GameStatus.Ended,role:'host'},layout:{primary:[{source:'static',button:'restart'}],secondary:[],ghost:[{source:'static',button:'viewRole'},{source:'static',button:'nightReview'},{source:'static',button:'lastNightInfo'}]}},{match:{status:r(d[2]).GameStatus.Ended,role:'player',when:t=>null!==t.effectiveSeat&&t.nightReviewAllowedSeats.includes(t.effectiveSeat)},layout:{primary:[{source:'static',button:'viewRole'}],secondary:[],ghost:[{source:'static',button:'nightReview'}]}},{match:{status:r(d[2]).GameStatus.Ended,role:'player'},layout:{primary:[{source:'static',button:'viewRole'}],secondary:[],ghost:[]}},{match:{status:r(d[2]).GameStatus.Ended,role:'spectator'},layout:{primary:[{source:'static',button:'nightReview'}],secondary:[],ghost:[]}}],s={primary:[],secondary:[],ghost:[]}},2191,[1872,1098,1904]);
2458
- __d(function(g,r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AlertModal",{enumerable:!0,get:function(){return x}});var e=t(r(d[0])),l=t(r(d[1])),o=t(r(d[2])),n=t(r(d[3])),s=t(r(d[4])),u=t(r(d[5])),c=t(r(d[6]));function b(t){const e=t.filter(t=>'cancel'===t.style),l=t.filter(t=>'cancel'!==t.style);return 0===e.length?t:2===t.length?[...e,...l]:[...l,...e]}const x=t=>{const l=(0,r(d[7]).c)(60),{visible:x,title:f,message:p,buttons:B,input:T,onClose:h}=t,{width:v}=(0,u.default)();let S;l[0]!==B?(S=b(B),l[0]=B,l[1]=S):S=l[1];const I=S;let j;l[2]!==I.length||l[3]!==v?(j=y(r(d[8]).colors,I.length,v),l[2]=I.length,l[3]=v,l[4]=j):j=l[4];const C=j,[D,M]=(0,r(d[9]).useState)(T?.defaultValue??"");let k;l[5]!==T?.defaultValue||l[6]!==x?(k=()=>{x&&M(T?.defaultValue??"")},l[5]=T?.defaultValue,l[6]=x,l[7]=k):k=l[7];const E=T?.defaultValue;let H,O;l[8]!==E||l[9]!==x?(H=[x,E],l[8]=E,l[9]=x,l[10]=H):H=l[10],(0,r(d[9]).useEffect)(k,H),l[11]!==T||l[12]!==D||l[13]!==h?(O=t=>{h(),t.onPress?.(T?D:void 0)},l[11]=T,l[12]=D,l[13]=h,l[14]=O):O=l[14];const R=O,V=C.overlay,_=C.alertBox;let z,w,P;l[15]!==C.title||l[16]!==f?(z=(0,r(d[10]).jsx)(o.default,{style:C.title,testID:r(d[11]).TESTIDS.alertTitle,children:f}),l[15]=C.title,l[16]=f,l[17]=z):z=l[17],l[18]!==p||l[19]!==C.message?(w=p?(0,r(d[10]).jsx)(o.default,{style:C.message,testID:r(d[11]).TESTIDS.alertMessage,children:p}):null,l[18]=p,l[19]=C.message,l[20]=w):w=l[20],l[21]!==T||l[22]!==D||l[23]!==C.input?(P=T?(0,r(d[10]).jsx)(n.default,{style:C.input,value:D,onChangeText:M,placeholder:T.placeholder,placeholderTextColor:r(d[8]).colors.textMuted,autoFocus:!0,testID:r(d[11]).TESTIDS.alertInput}):null,l[21]=T,l[22]=D,l[23]=C.input,l[24]=P):P=l[24];const W=C.buttonContainer;let A,$,q,F,G;if(l[25]!==R||l[26]!==I||l[27]!==C.button||l[28]!==C.buttonText||l[29]!==C.cancelButton||l[30]!==C.cancelButtonText||l[31]!==C.destructiveButton||l[32]!==C.destructiveButtonText||l[33]!==C.disabledButton){let t;l[35]!==R||l[36]!==C.button||l[37]!==C.buttonText||l[38]!==C.cancelButton||l[39]!==C.cancelButtonText||l[40]!==C.destructiveButton||l[41]!==C.destructiveButtonText||l[42]!==C.disabledButton?(t=(t,l)=>(0,r(d[10]).jsx)(s.default,{testID:r(d[11]).TESTIDS.alertButton(l),style:[C.button,"cancel"===t.style&&C.cancelButton,"destructive"===t.style&&C.destructiveButton,(t.loading||t.disabled)&&C.disabledButton],onPress:()=>R(t),disabled:t.loading||t.disabled,children:t.loading?(0,r(d[10]).jsx)(e.default,{size:"small",color:"cancel"===t.style?r(d[8]).colors.textSecondary:r(d[8]).colors.textInverse}):(0,r(d[10]).jsx)(o.default,{style:[C.buttonText,"cancel"===t.style&&C.cancelButtonText,"destructive"===t.style&&C.destructiveButtonText],children:t.text})},`alert-btn-${t.text}-${l}`),l[35]=R,l[36]=C.button,l[37]=C.buttonText,l[38]=C.cancelButton,l[39]=C.cancelButtonText,l[40]=C.destructiveButton,l[41]=C.destructiveButtonText,l[42]=C.disabledButton,l[43]=t):t=l[43],A=I.map(t),l[25]=R,l[26]=I,l[27]=C.button,l[28]=C.buttonText,l[29]=C.cancelButton,l[30]=C.cancelButtonText,l[31]=C.destructiveButton,l[32]=C.destructiveButtonText,l[33]=C.disabledButton,l[34]=A}else A=l[34];return l[44]!==C.buttonContainer||l[45]!==A?($=(0,r(d[10]).jsx)(c.default,{style:W,children:A}),l[44]=C.buttonContainer,l[45]=A,l[46]=$):$=l[46],l[47]!==C.alertBox||l[48]!==w||l[49]!==P||l[50]!==$||l[51]!==z?(q=(0,r(d[10]).jsxs)(c.default,{style:_,testID:r(d[11]).TESTIDS.alertModal,children:[z,w,P,$]}),l[47]=C.alertBox,l[48]=w,l[49]=P,l[50]=$,l[51]=z,l[52]=q):q=l[52],l[53]!==C.overlay||l[54]!==q?(F=(0,r(d[10]).jsx)(c.default,{style:V,testID:r(d[11]).TESTIDS.alertModalOverlay,children:q}),l[53]=C.overlay,l[54]=q,l[55]=F):F=l[55],l[56]!==h||l[57]!==F||l[58]!==x?(G=(0,r(d[10]).jsx)(r(d[12]).Modal,{visible:x,transparent:!0,animationType:"fade",onRequestClose:h,children:F}),l[56]=h,l[57]=F,l[58]=x,l[59]=G):G=l[59],G};function y(t,e,o){return l.default.create({overlay:{flex:1,backgroundColor:t.overlay,justifyContent:'center',alignItems:'center'},alertBox:Object.assign({backgroundColor:t.surface,borderRadius:r(d[8]).borderRadius.large,padding:r(d[8]).spacing.large,width:.85*o},r(d[8]).shadows.lg),title:Object.assign({},r(d[8]).textStyles.subtitleSemibold,{color:t.text,textAlign:'center',marginBottom:r(d[8]).spacing.small}),message:{fontSize:r(d[8]).typography.secondary,lineHeight:r(d[8]).typography.lineHeights.secondary,color:t.textSecondary,textAlign:'center',marginBottom:r(d[8]).spacing.large},input:{backgroundColor:t.background,borderRadius:r(d[8]).borderRadius.medium,borderWidth:r(d[8]).fixed.borderWidth,borderColor:t.border,paddingHorizontal:r(d[8]).spacing.medium,paddingVertical:r(d[8]).spacing.small,fontSize:r(d[8]).typography.body,lineHeight:r(d[8]).typography.lineHeights.body,color:t.text,marginBottom:r(d[8]).spacing.medium},buttonContainer:{marginTop:r(d[8]).spacing.small,flexDirection:2===e?'row':'column',gap:r(d[8]).spacing.small},button:Object.assign({backgroundColor:t.primary,borderRadius:r(d[8]).borderRadius.full,paddingVertical:r(d[8]).spacing.small,paddingHorizontal:r(d[8]).spacing.medium,alignItems:'center'},2===e?{flex:1}:{}),cancelButton:{backgroundColor:t.surfaceHover,borderWidth:r(d[8]).fixed.borderWidth,borderColor:t.border},destructiveButton:{backgroundColor:t.error},disabledButton:{opacity:.5},buttonText:Object.assign({},r(d[8]).textStyles.bodySemibold,{color:t.textInverse}),cancelButtonText:{color:t.textSecondary},destructiveButtonText:{color:t.textInverse}})}},2192,[602,38,549,594,585,1046,459,1092,1098,36,700,1872,1113]);
2458
+ __d(function(g,r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AlertModal",{enumerable:!0,get:function(){return x}});var e=t(r(d[0])),n=t(r(d[1])),l=t(r(d[2])),o=t(r(d[3])),s=t(r(d[4])),u=t(r(d[5])),c=t(r(d[6]));function b(t){const e=t.filter(t=>'cancel'===t.style),n=t.filter(t=>'cancel'!==t.style);return 0===e.length?t:2===t.length?[...e,...n]:[...n,...e]}const x=t=>{const n=(0,r(d[7]).c)(64),{visible:x,title:f,message:p,buttons:B,input:T,onClose:h}=t,{width:v}=(0,u.default)();let S;n[0]!==B?(S=b(B),n[0]=B,n[1]=S):S=n[1];const I=S;let j;n[2]!==I.length||n[3]!==v?(j=y(r(d[8]).colors,I.length,v),n[2]=I.length,n[3]=v,n[4]=j):j=n[4];const C=j,[D,M]=(0,r(d[9]).useState)(T?.defaultValue??""),[k,A]=(0,r(d[9]).useState)(null);let E;n[5]!==T?.defaultValue||n[6]!==x?(E=()=>{x&&(M(T?.defaultValue??""),A(null))},n[5]=T?.defaultValue,n[6]=x,n[7]=E):E=n[7];const H=T?.defaultValue;let O,R;n[8]!==B||n[9]!==H||n[10]!==f||n[11]!==x?(O=[x,f,B,H],n[8]=B,n[9]=H,n[10]=f,n[11]=x,n[12]=O):O=n[12],(0,r(d[9]).useEffect)(E,O),n[13]!==T||n[14]!==D||n[15]!==h?(R=(t,e)=>{const n=(0,r(d[10]).getAlertGeneration)(),l=t.onPress?.(T?D:void 0);l&&"function"==typeof l.then?(A(e),l.then(()=>{(0,r(d[10]).getAlertGeneration)()===n&&(A(null),h())},()=>{(0,r(d[10]).getAlertGeneration)()===n&&A(null)})):(0,r(d[10]).getAlertGeneration)()===n&&h()},n[13]=T,n[14]=D,n[15]=h,n[16]=R):R=n[16];const V=R,_=C.overlay,z=C.alertBox;let w,G,P;n[17]!==C.title||n[18]!==f?(w=(0,r(d[11]).jsx)(l.default,{style:C.title,testID:r(d[12]).TESTIDS.alertTitle,children:f}),n[17]=C.title,n[18]=f,n[19]=w):w=n[19],n[20]!==p||n[21]!==C.message?(G=p?(0,r(d[11]).jsx)(l.default,{style:C.message,testID:r(d[12]).TESTIDS.alertMessage,children:p}):null,n[20]=p,n[21]=C.message,n[22]=G):G=n[22],n[23]!==T||n[24]!==D||n[25]!==C.input?(P=T?(0,r(d[11]).jsx)(o.default,{style:C.input,value:D,onChangeText:M,placeholder:T.placeholder,placeholderTextColor:r(d[8]).colors.textMuted,autoFocus:!0,testID:r(d[12]).TESTIDS.alertInput}):null,n[23]=T,n[24]=D,n[25]=C.input,n[26]=P):P=n[26];const W=C.buttonContainer;let $,q,F,J,K;if(n[27]!==V||n[28]!==k||n[29]!==I||n[30]!==C.button||n[31]!==C.buttonText||n[32]!==C.cancelButton||n[33]!==C.cancelButtonText||n[34]!==C.destructiveButton||n[35]!==C.destructiveButtonText||n[36]!==C.disabledButton){let t;n[38]!==V||n[39]!==k||n[40]!==C.button||n[41]!==C.buttonText||n[42]!==C.cancelButton||n[43]!==C.cancelButtonText||n[44]!==C.destructiveButton||n[45]!==C.destructiveButtonText||n[46]!==C.disabledButton?(t=(t,n)=>{const o=t.loading||k===n,u=o||t.disabled||null!==k;return(0,r(d[11]).jsx)(s.default,{testID:r(d[12]).TESTIDS.alertButton(n),style:[C.button,"cancel"===t.style&&C.cancelButton,"destructive"===t.style&&C.destructiveButton,u&&C.disabledButton],onPress:()=>V(t,n),disabled:u,children:o?(0,r(d[11]).jsx)(e.default,{size:"small",color:"cancel"===t.style?r(d[8]).colors.textSecondary:r(d[8]).colors.textInverse}):(0,r(d[11]).jsx)(l.default,{style:[C.buttonText,"cancel"===t.style&&C.cancelButtonText,"destructive"===t.style&&C.destructiveButtonText],children:t.text})},`alert-btn-${t.text}-${n}`)},n[38]=V,n[39]=k,n[40]=C.button,n[41]=C.buttonText,n[42]=C.cancelButton,n[43]=C.cancelButtonText,n[44]=C.destructiveButton,n[45]=C.destructiveButtonText,n[46]=C.disabledButton,n[47]=t):t=n[47],$=I.map(t),n[27]=V,n[28]=k,n[29]=I,n[30]=C.button,n[31]=C.buttonText,n[32]=C.cancelButton,n[33]=C.cancelButtonText,n[34]=C.destructiveButton,n[35]=C.destructiveButtonText,n[36]=C.disabledButton,n[37]=$}else $=n[37];return n[48]!==C.buttonContainer||n[49]!==$?(q=(0,r(d[11]).jsx)(c.default,{style:W,children:$}),n[48]=C.buttonContainer,n[49]=$,n[50]=q):q=n[50],n[51]!==C.alertBox||n[52]!==G||n[53]!==P||n[54]!==q||n[55]!==w?(F=(0,r(d[11]).jsxs)(c.default,{style:z,testID:r(d[12]).TESTIDS.alertModal,children:[w,G,P,q]}),n[51]=C.alertBox,n[52]=G,n[53]=P,n[54]=q,n[55]=w,n[56]=F):F=n[56],n[57]!==C.overlay||n[58]!==F?(J=(0,r(d[11]).jsx)(c.default,{style:_,testID:r(d[12]).TESTIDS.alertModalOverlay,children:F}),n[57]=C.overlay,n[58]=F,n[59]=J):J=n[59],n[60]!==h||n[61]!==J||n[62]!==x?(K=(0,r(d[11]).jsx)(r(d[13]).Modal,{visible:x,transparent:!0,animationType:"fade",onRequestClose:h,children:J}),n[60]=h,n[61]=J,n[62]=x,n[63]=K):K=n[63],K};function y(t,e,l){return n.default.create({overlay:{flex:1,backgroundColor:t.overlay,justifyContent:'center',alignItems:'center'},alertBox:Object.assign({backgroundColor:t.surface,borderRadius:r(d[8]).borderRadius.large,padding:r(d[8]).spacing.large,width:.85*l},r(d[8]).shadows.lg),title:Object.assign({},r(d[8]).textStyles.subtitleSemibold,{color:t.text,textAlign:'center',marginBottom:r(d[8]).spacing.small}),message:{fontSize:r(d[8]).typography.secondary,lineHeight:r(d[8]).typography.lineHeights.secondary,color:t.textSecondary,textAlign:'center',marginBottom:r(d[8]).spacing.large},input:{backgroundColor:t.background,borderRadius:r(d[8]).borderRadius.medium,borderWidth:r(d[8]).fixed.borderWidth,borderColor:t.border,paddingHorizontal:r(d[8]).spacing.medium,paddingVertical:r(d[8]).spacing.small,fontSize:r(d[8]).typography.body,lineHeight:r(d[8]).typography.lineHeights.body,color:t.text,marginBottom:r(d[8]).spacing.medium},buttonContainer:{marginTop:r(d[8]).spacing.small,flexDirection:2===e?'row':'column',gap:r(d[8]).spacing.small},button:Object.assign({backgroundColor:t.primary,borderRadius:r(d[8]).borderRadius.full,paddingVertical:r(d[8]).spacing.small,paddingHorizontal:r(d[8]).spacing.medium,alignItems:'center'},2===e?{flex:1}:{}),cancelButton:{backgroundColor:t.surfaceHover,borderWidth:r(d[8]).fixed.borderWidth,borderColor:t.border},destructiveButton:{backgroundColor:t.error},disabledButton:{opacity:.5},buttonText:Object.assign({},r(d[8]).textStyles.bodySemibold,{color:t.textInverse}),cancelButtonText:{color:t.textSecondary},destructiveButtonText:{color:t.textInverse}})}},2192,[602,38,549,594,585,1046,459,1092,1098,36,1074,700,1872,1113]);
2459
2459
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ChooseBottomCardModal",{enumerable:!0,get:function(){return f}});var t=e(r(d[0])),c=e(r(d[1])),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),o=e(r(d[5])),u=e(r(d[6]));function b(e,t){return l.default.create({overlay:{flex:1,backgroundColor:e.overlay,justifyContent:'center',alignItems:'center'},container:{backgroundColor:e.surface,borderRadius:r(d[7]).borderRadius.large,padding:r(d[7]).spacing.large,width:'85%',maxWidth:400},title:Object.assign({},r(d[7]).textStyles.subtitle,{color:e.text,textAlign:'center',marginBottom:r(d[7]).spacing.micro}),teamSubtitle:Object.assign({},r(d[7]).textStyles.caption,{color:e.textSecondary,textAlign:'center',marginBottom:r(d[7]).spacing.medium}),cardList:{gap:r(d[7]).spacing.small},cardListScroll:{maxHeight:.45*t},card:{flexDirection:'row',alignItems:'center',backgroundColor:e.card,borderRadius:r(d[7]).borderRadius.medium,padding:r(d[7]).spacing.medium,borderWidth:1,borderColor:e.borderLight},cardDisabled:{opacity:.4},cardBadge:{width:40,height:40,marginRight:r(d[7]).spacing.small},cardInfo:{flex:1},cardName:Object.assign({},r(d[7]).textStyles.body,{color:e.text,fontWeight:r(d[7]).typography.weights.semibold}),cardNameDisabled:{color:e.textMuted},cardHint:Object.assign({},r(d[7]).textStyles.caption,{color:e.textMuted,marginTop:r(d[7]).spacing.micro}),cancelButton:{marginTop:r(d[7]).spacing.medium,alignItems:'center',padding:r(d[7]).spacing.small},cancelText:Object.assign({},r(d[7]).textStyles.body,{color:e.textSecondary})})}const y=e=>{const l=(0,r(d[8]).c)(58),{visible:y,bottomCards:f,confirmText:p,disabledIndices:h,disabledHint:j,subtitle:S,onChoose:N,onClose:B}=e,{height:D}=(0,o.default)();let I;l[0]!==D?(I=b(r(d[7]).colors,D),l[0]=D,l[1]=I):I=l[1];const C=I;let v;l[2]!==f?(v=f.map(x),l[2]=f,l[3]=v):v=l[3];const L=v;let O;l[4]!==p||l[5]!==N?(O=(e,t)=>{(0,r(d[9]).showConfirmAlert)("\u786e\u8ba4\u9009\u62e9",`${p}\n\n${t.displayName}`,()=>N(e))},l[4]=p,l[5]=N,l[6]=O):O=l[6];const H=O,R=C.overlay,T=C.container;let w,M;l[7]!==C.title?(w=(0,r(d[10]).jsx)(n.default,{style:C.title,children:"\u9009\u62e9\u5e95\u724c"}),l[7]=C.title,l[8]=w):w=l[8],l[9]!==C.teamSubtitle||l[10]!==S?(M=(0,r(d[10]).jsx)(n.default,{style:C.teamSubtitle,children:S}),l[9]=C.teamSubtitle,l[10]=S,l[11]=M):M=l[11];const _=C.cardListScroll,P=C.cardList;let $,k,A,W,q,V,z;if(l[12]!==L||l[13]!==j||l[14]!==h||l[15]!==H||l[16]!==C.card||l[17]!==C.cardBadge||l[18]!==C.cardDisabled||l[19]!==C.cardHint||l[20]!==C.cardInfo||l[21]!==C.cardName||l[22]!==C.cardNameDisabled){let e;l[24]!==j||l[25]!==h||l[26]!==H||l[27]!==C.card||l[28]!==C.cardBadge||l[29]!==C.cardDisabled||l[30]!==C.cardHint||l[31]!==C.cardInfo||l[32]!==C.cardName||l[33]!==C.cardNameDisabled?(e=(e,c)=>{const l=h.includes(c);return(0,r(d[10]).jsxs)(s.default,{style:[C.card,l&&C.cardDisabled],disabled:l,activeOpacity:.7,onPress:()=>H(c,e),children:[(0,r(d[10]).jsx)(t.default,{source:(0,r(d[11]).getRoleBadge)(e.roleId),style:C.cardBadge}),(0,r(d[10]).jsxs)(u.default,{style:C.cardInfo,children:[(0,r(d[10]).jsx)(n.default,{style:[C.cardName,l&&C.cardNameDisabled],children:e.displayName}),l&&j&&(0,r(d[10]).jsx)(n.default,{style:C.cardHint,children:j})]})]},`${e.roleId}-${c}`)},l[24]=j,l[25]=h,l[26]=H,l[27]=C.card,l[28]=C.cardBadge,l[29]=C.cardDisabled,l[30]=C.cardHint,l[31]=C.cardInfo,l[32]=C.cardName,l[33]=C.cardNameDisabled,l[34]=e):e=l[34],$=L.map(e),l[12]=L,l[13]=j,l[14]=h,l[15]=H,l[16]=C.card,l[17]=C.cardBadge,l[18]=C.cardDisabled,l[19]=C.cardHint,l[20]=C.cardInfo,l[21]=C.cardName,l[22]=C.cardNameDisabled,l[23]=$}else $=l[23];return l[35]!==C.cardList||l[36]!==C.cardListScroll||l[37]!==$?(k=(0,r(d[10]).jsx)(c.default,{style:_,contentContainerStyle:P,showsVerticalScrollIndicator:!1,children:$}),l[35]=C.cardList,l[36]=C.cardListScroll,l[37]=$,l[38]=k):k=l[38],l[39]!==C.cancelText?(A=(0,r(d[10]).jsx)(n.default,{style:C.cancelText,children:"\u53d6\u6d88"}),l[39]=C.cancelText,l[40]=A):A=l[40],l[41]!==B||l[42]!==C.cancelButton||l[43]!==A?(W=(0,r(d[10]).jsx)(s.default,{style:C.cancelButton,onPress:B,activeOpacity:.7,children:A}),l[41]=B,l[42]=C.cancelButton,l[43]=A,l[44]=W):W=l[44],l[45]!==C.container||l[46]!==k||l[47]!==W||l[48]!==w||l[49]!==M?(q=(0,r(d[10]).jsxs)(u.default,{style:T,children:[w,M,k,W]}),l[45]=C.container,l[46]=k,l[47]=W,l[48]=w,l[49]=M,l[50]=q):q=l[50],l[51]!==C.overlay||l[52]!==q?(V=(0,r(d[10]).jsx)(u.default,{style:R,children:q}),l[51]=C.overlay,l[52]=q,l[53]=V):V=l[53],l[54]!==B||l[55]!==V||l[56]!==y?(z=(0,r(d[10]).jsx)(r(d[12]).Modal,{visible:y,transparent:!0,animationType:"fade",onRequestClose:B,children:V}),l[54]=B,l[55]=V,l[56]=y,l[57]=z):z=l[57],z},f=(0,r(d[13]).memo)(y);function x(e){return{roleId:e,displayName:(0,r(d[14]).getRoleDisplayName)(e)}}},2193,[539,497,38,549,585,1046,459,1098,1092,1073,700,1440,1113,36,1077]);
2460
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"SettingsScreen",{enumerable:!0,get:function(){return v}});var t=e(r(_d[0])),s=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),t.default=e,t})(r(_d[1])),o=e(r(_d[2])),n=e(r(_d[3])),l=e(r(_d[4])),c=e(r(_d[5])),u=r(_d[6]),d=r(_d[7]),y=r(_d[8]),h=r(_d[9]),f=r(_d[10]),x=r(_d[11]);const v=()=>{const e=(0,r(_d[12]).useSafeAreaInsets)(),v=(0,r(_d[13]).useMemo)(()=>(0,x.createSettingsScreenStyles)(r(_d[14]).colors),[]),p=(0,r(_d[15]).useNavigation)(),{user:j,isAuthenticated:A,loading:S,refreshUser:w}=(0,r(_d[16]).useAuthContext)(),{mutateAsync:b}=(0,r(_d[17]).useSignOut)(),{mutateAsync:E,isPending:C}=(0,r(_d[17]).useSignInAnonymously)(),{mutateAsync:P}=(0,r(_d[17]).useUpdateProfile)(),{mutateAsync:k}=(0,r(_d[17]).useChangePassword)(),B=(0,r(_d[18]).useGameFacade)(),O=(0,r(_d[13]).useCallback)(e=>B.subscribe(e),[B]),U=(0,r(_d[13]).useCallback)(()=>B.getState(),[B]),M=(0,r(_d[13]).useSyncExternalStore)(O,U),L=null!==M,T=null!==B.getMySeat(),N=!L||M?.status===r(_d[19]).GameStatus.Unseated||M?.status===r(_d[19]).GameStatus.Seated,[F,z]=(0,r(_d[13]).useState)(!1),{data:R}=(0,r(_d[20]).useUserStatsQuery)(),{data:_}=(0,f.useGachaStatusQuery)(),D=_?_.normalDraws+_.goldenDraws:0,G=(0,r(_d[13]).useRef)(j?.isAnonymous),I=(0,r(_d[13]).useRef)(A);(0,r(_d[13]).useEffect)(()=>{const e=j?.isAnonymous;G.current&&j&&!e&&(r(_d[21]).settingsLog.info('Anonymous\u2192email upgrade detected, syncing profile to GameState'),B.updatePlayerProfile(j.displayName??void 0,j.avatarUrl??void 0).catch(e=>r(_d[21]).settingsLog.warn('Profile sync to GameState failed',e))),G.current=e,A&&(I.current=!0)},[j,B,A]),(0,r(_d[13]).useEffect)(()=>p.addListener('focus',()=>{}),[p]);const V=(0,r(_d[13]).useMemo)(()=>j?.avatarUrl&&!j?.isAnonymous?(0,r(_d[22]).isBuiltinAvatarUrl)(j.avatarUrl)?(0,r(_d[22]).getBuiltinAvatarImage)(j.avatarUrl):{uri:j.avatarUrl}:null,[j?.isAnonymous,j?.avatarUrl]),H=(0,r(_d[13]).useCallback)(()=>{p.canGoBack()?p.goBack():p.navigate('Home')},[p]),K=(0,r(_d[13]).useCallback)(async()=>{try{I.current=!1,await b(),r(_d[23],"@/lib/storage").storage.remove(r(_d[24],"@/config/storageKeys").LAST_ROOM_CODE_KEY),await w()}catch(e){const t=(0,r(_d[25]).getErrorMessage)(e);r(_d[21]).settingsLog.error('Sign out failed',{message:t},e),(0,r(_d[26]).showErrorAlert)('\u9000\u51fa\u5931\u8d25',t)}},[b,w]),Q=(0,r(_d[13]).useCallback)(()=>{p.navigate('Appearance')},[p]),W=(0,r(_d[13]).useCallback)(()=>{p.navigate('Unlocks')},[p]),Y=(0,r(_d[13]).useCallback)(()=>{p.navigate('Gacha')},[p]),q=(0,r(_d[13]).useCallback)(()=>{(0,r(_d[27]).showPrompt)('\u4fee\u6539\u6635\u79f0',{placeholder:'\u8f93\u5165\u540d\u5b57',defaultValue:j?.displayName||'',onConfirm:e=>{(async()=>{const t=e.trim();if(t)try{await P({displayName:t}),await w(),u.toast.success('\u6635\u79f0\u5df2\u66f4\u65b0'),B.updatePlayerProfile(t,void 0).catch(e=>r(_d[21]).settingsLog.warn('Name sync to GameState failed',e))}catch(e){const t=(0,r(_d[25]).getErrorMessage)(e);r(_d[21]).settingsLog.error('Update name failed',{message:t},e),(0,r(_d[26]).showErrorAlert)('\u66f4\u65b0\u5931\u8d25',t)}else u.toast.warning('\u8bf7\u8f93\u5165\u540d\u5b57')})()}})},[j?.displayName,P,w,B]),J=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',formTitle:'\u7ed1\u5b9a\u90ae\u7bb1',showToggleMode:!1,showSuccessOnLogin:!0})},[p]),X=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',formTitle:'\u7ed1\u5b9a\u5df2\u6709\u8d26\u53f7',showToggleMode:!1,showSuccessOnLogin:!0,hideDisplayName:!0})},[p]),Z=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',formTitle:'\u6ce8\u518c\u65b0\u90ae\u7bb1',showToggleMode:!1,showSuccessOnLogin:!0})},[p]),$=(0,r(_d[13]).useCallback)(()=>{const e=async()=>{try{if(L&&T){const e=await B.leaveSeatWithAck();if(!e.success)return void(0,r(_d[26]).showErrorAlert)('\u79bb\u5ea7\u5931\u8d25',(0,r(_d[25]).translateReasonCode)(e.reason))}p.navigate('AuthEmail',{mode:'signIn',signOutFirst:!0,showSuccessOnLogin:!0})}catch(e){const t=e instanceof Error?e.message:String(e),o=(0,r(_d[21]).mapAuthError)(t);(0,r(_d[21]).isExpectedAuthError)(t)?r(_d[21]).settingsLog.warn('Account switch expected error',{message:t},e):(r(_d[21]).settingsLog.error('Account switch failed',{message:t},e),s.captureException(e)),(0,r(_d[26]).showErrorAlert)('\u5207\u6362\u5931\u8d25',o)}};j?.isAnonymous?(0,r(_d[26]).showDestructiveAlert)('\u5207\u6362\u8d26\u53f7','\u533f\u540d\u6570\u636e\u5c06\u65e0\u6cd5\u6062\u590d\uff0c\u786e\u5b9a\u5207\u6362\u8d26\u53f7\uff1f','\u5207\u6362',()=>{e()}):e()},[j?.isAnonymous,B,p,L,T]),ee=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',navigateSettingsOnSignUp:!0})},[p]),te=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signIn'})},[p]),se=(0,r(_d[13]).useCallback)(async()=>{try{await E(),await w(),u.toast.success('\u767b\u5f55\u6210\u529f')}catch(e){const t=(0,r(_d[25]).getErrorMessage)(e);r(_d[21]).settingsLog.warn('Anonymous login failed',{message:t}),(0,r(_d[26]).showErrorAlert)('\u767b\u5f55\u5931\u8d25',t)}},[E,w]),ae=(0,r(_d[13]).useCallback)(()=>{p.navigate('Appearance')},[p]);return(0,r(_d[28]).jsxs)(r(_d[12]).SafeAreaView,{style:v.container,edges:['left','right'],children:[(0,r(_d[28]).jsx)(h.ScreenHeader,{title:"\u8bbe\u7f6e",onBack:H,topInset:e.top}),(0,r(_d[28]).jsxs)(o.default,{style:v.scrollView,showsVerticalScrollIndicator:!1,contentContainerStyle:[v.scrollContent,e.bottom>0&&{paddingBottom:e.bottom}],children:[(0,r(_d[28]).jsxs)(c.default,{style:v.card,children:[(0,r(_d[28]).jsxs)(n.default,{style:v.cardTitle,children:[(0,r(_d[28]).jsx)(t.default,{name:"person-outline",size:r(_d[14]).typography.body,color:r(_d[14]).colors.text})," \u8d26\u6237"]}),A?j?.isAnonymous?(0,r(_d[28]).jsxs)(r(_d[28]).Fragment,{children:[(0,r(_d[28]).jsx)(x.AvatarSection,{isAnonymous:!0,userId:j?.id??'anonymous',avatarSource:V,avatarUrl:j?.avatarUrl,avatarFrame:j?.avatarFrame,seatFlair:j?.seatFlair,uploadingAvatar:!1,displayName:j?.displayName??null,onPickAvatar:Q,styles:v,colors:r(_d[14]).colors}),(0,r(_d[28]).jsxs)(c.default,{style:v.accountRow,children:[(0,r(_d[28]).jsx)(n.default,{style:v.accountLabel,children:"\u72b6\u6001"}),(0,r(_d[28]).jsxs)(c.default,{style:v.statusBadge,children:[(0,r(_d[28]).jsx)(c.default,{style:v.statusDot}),(0,r(_d[28]).jsx)(n.default,{style:v.statusText,children:"\u533f\u540d\u767b\u5f55"})]})]}),N&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.primary,onPress:J,style:v.logoutBtn,children:"\u7ed1\u5b9a\u90ae\u7bb1"}),N&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:$,style:v.logoutBtn,children:"\u5207\u6362\u8d26\u53f7"}),!L&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:()=>{K()},style:v.logoutBtn,children:"\u767b\u51fa"})]}):(0,r(_d[28]).jsxs)(r(_d[28]).Fragment,{children:[(0,r(_d[28]).jsxs)(c.default,{style:v.profileRow,children:[(0,r(_d[28]).jsx)(x.AvatarSection,{isAnonymous:!1,userId:j?.id??'anonymous',avatarSource:V,avatarUrl:j?.avatarUrl,avatarFrame:j?.avatarFrame,seatFlair:j?.seatFlair,uploadingAvatar:!1,displayName:j?.displayName??null,onPickAvatar:Q,styles:v,colors:r(_d[14]).colors}),(0,r(_d[28]).jsxs)(c.default,{style:v.profileRowRight,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.profileRowName,children:[(0,r(_d[28]).jsx)(x.NameSection,{isAnonymous:!1,displayName:j?.displayName??null,nameStyle:j?.nameStyle,onStartEdit:q,styles:v}),R&&(0,r(_d[28]).jsx)(c.default,{style:v.levelPill,children:(0,r(_d[28]).jsxs)(n.default,{style:v.levelPillText,children:["Lv.",R.level]})})]}),(0,r(_d[28]).jsxs)(c.default,{style:v.statusBadge,children:[(0,r(_d[28]).jsx)(c.default,{style:v.statusDot}),(0,r(_d[28]).jsx)(n.default,{style:v.statusText,children:j?.email?'\u90ae\u7bb1\u767b\u5f55':'\u5fae\u4fe1\u767b\u5f55'})]}),j?.email&&(0,r(_d[28]).jsx)(n.default,{style:v.accountValue,children:j.email})]})]}),R&&(0,r(_d[28]).jsx)(x.GrowthSection,{stats:R,styles:v,onPressUnlocks:W}),(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,onPress:Q,activeOpacity:r(_d[14]).fixed.activeOpacity,children:[(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u66f4\u6362\u5934\u50cf\u4e0e\u88c5\u626e"}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]}),(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,onPress:Y,activeOpacity:r(_d[14]).fixed.activeOpacity,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryRight,children:[(0,r(_d[28]).jsx)(t.default,{name:"gift-outline",size:r(_d[14]).componentSizes.icon.sm,color:r(_d[14]).colors.text}),(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u626d\u86cb\u62bd\u5956"})]}),(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryRight,children:[D>0&&(0,r(_d[28]).jsx)(c.default,{style:v.dresserEntryBadge,children:(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryBadgeText,children:D>99?'99+':D})}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]})]}),N&&!j?.email&&(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsxs)(r(_d[28]).Fragment,{children:[(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,activeOpacity:r(_d[14]).fixed.activeOpacity,onPress:X,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryContent,children:[(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u7ed1\u5b9a\u5df2\u6709\u8d26\u53f7"}),(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryDesc,children:"\u8f93\u5165\u4e4b\u524d\u6ce8\u518c\u7684\u90ae\u7bb1\u548c\u5bc6\u7801\uff0c\u6062\u590d\u6635\u79f0\u3001\u5934\u50cf\u7b49\u6570\u636e"})]}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]}),(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,activeOpacity:r(_d[14]).fixed.activeOpacity,onPress:Z,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryContent,children:[(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u6ce8\u518c\u65b0\u90ae\u7bb1"}),(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryDesc,children:"\u7ed1\u5b9a\u540e\u53ef\u5728\u7f51\u9875\u7aef\u767b\u5f55\uff0c\u6570\u636e\u4e0d\u4e22\u5931"})]}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]})]}),N&&!j?.email&&!(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.primary,onPress:J,style:v.logoutBtn,children:"\u7ed1\u5b9a\u90ae\u7bb1"}),j?.email&&F?(0,r(_d[28]).jsx)(x.ChangePasswordForm,{onSubmit:async(e,t)=>{await k({oldPassword:e,newPassword:t}),z(!1),u.toast.success('\u5bc6\u7801\u5df2\u4fee\u6539')},onCancel:()=>z(!1),styles:v,colors:r(_d[14]).colors}):j?.email?(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:()=>z(!0),style:v.logoutBtn,children:"\u4fee\u6539\u5bc6\u7801"}):null,N&&!F&&!(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:$,style:v.logoutBtn,children:"\u5207\u6362\u8d26\u53f7"}),!L&&!F&&!(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.error,onPress:()=>{K()},style:v.logoutBtn,children:"\u767b\u51fa"})]}):I.current||S?null:(0,r(_d[28]).jsx)(d.LoginOptions,{authLoading:S||C,onEmailSignUp:ee,onEmailSignIn:te,onAnonymousLogin:()=>{se()},hideAnonymous:(0,r(_d[29]).isMiniProgram)(),onBrowseAvatars:ae,styles:v})]}),(0,r(_d[28]).jsx)(x.AboutSection,{styles:v})]})]})}},2194,[1013,119,497,549,585,459,599,1866,1119,1467,1930,2195,1006,36,1098,1704,1090,1806,1094,1904,1859,1061,1125,1054,1877,1088,1073,1074,700,1880]);
2460
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"SettingsScreen",{enumerable:!0,get:function(){return v}});var t=e(r(_d[0])),s=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),t.default=e,t})(r(_d[1])),o=e(r(_d[2])),n=e(r(_d[3])),l=e(r(_d[4])),c=e(r(_d[5])),u=r(_d[6]),d=r(_d[7]),y=r(_d[8]),h=r(_d[9]),f=r(_d[10]),x=r(_d[11]);const v=()=>{const e=(0,r(_d[12]).useSafeAreaInsets)(),v=(0,r(_d[13]).useMemo)(()=>(0,x.createSettingsScreenStyles)(r(_d[14]).colors),[]),p=(0,r(_d[15]).useNavigation)(),{user:j,isAuthenticated:A,loading:S,refreshUser:w}=(0,r(_d[16]).useAuthContext)(),{mutateAsync:b}=(0,r(_d[17]).useSignOut)(),{mutateAsync:E,isPending:C}=(0,r(_d[17]).useSignInAnonymously)(),{mutateAsync:P}=(0,r(_d[17]).useUpdateProfile)(),{mutateAsync:k}=(0,r(_d[17]).useChangePassword)(),B=(0,r(_d[18]).useGameFacade)(),O=(0,r(_d[13]).useCallback)(e=>B.subscribe(e),[B]),U=(0,r(_d[13]).useCallback)(()=>B.getState(),[B]),M=(0,r(_d[13]).useSyncExternalStore)(O,U),L=null!==M,T=null!==B.getMySeat(),N=!L||M?.status===r(_d[19]).GameStatus.Unseated||M?.status===r(_d[19]).GameStatus.Seated,[F,z]=(0,r(_d[13]).useState)(!1),{data:R}=(0,r(_d[20]).useUserStatsQuery)(),{data:_}=(0,f.useGachaStatusQuery)(),D=_?_.normalDraws+_.goldenDraws:0,G=(0,r(_d[13]).useRef)(j?.isAnonymous),I=(0,r(_d[13]).useRef)(A);(0,r(_d[13]).useEffect)(()=>{const e=j?.isAnonymous;G.current&&j&&!e&&(r(_d[21]).settingsLog.info('Anonymous\u2192email upgrade detected, syncing profile to GameState'),B.updatePlayerProfile(j.displayName??void 0,j.avatarUrl??void 0).catch(e=>r(_d[21]).settingsLog.warn('Profile sync to GameState failed',e))),G.current=e,A&&(I.current=!0)},[j,B,A]),(0,r(_d[13]).useEffect)(()=>p.addListener('focus',()=>{}),[p]);const V=(0,r(_d[13]).useMemo)(()=>j?.avatarUrl&&!j?.isAnonymous?(0,r(_d[22]).isBuiltinAvatarUrl)(j.avatarUrl)?(0,r(_d[22]).getBuiltinAvatarImage)(j.avatarUrl):{uri:j.avatarUrl}:null,[j?.isAnonymous,j?.avatarUrl]),H=(0,r(_d[13]).useCallback)(()=>{p.canGoBack()?p.goBack():p.navigate('Home')},[p]),K=(0,r(_d[13]).useCallback)(async()=>{try{I.current=!1,await b(),r(_d[23],"@/lib/storage").storage.remove(r(_d[24],"@/config/storageKeys").LAST_ROOM_CODE_KEY),await w()}catch(e){const t=(0,r(_d[25]).getErrorMessage)(e);r(_d[21]).settingsLog.error('Sign out failed',{message:t},e),(0,r(_d[26]).showErrorAlert)('\u9000\u51fa\u5931\u8d25',t)}},[b,w]),Q=(0,r(_d[13]).useCallback)(()=>{p.navigate('Appearance')},[p]),W=(0,r(_d[13]).useCallback)(()=>{p.navigate('Unlocks')},[p]),Y=(0,r(_d[13]).useCallback)(()=>{p.navigate('Gacha')},[p]),q=(0,r(_d[13]).useCallback)(()=>{(0,r(_d[27]).showPrompt)('\u4fee\u6539\u6635\u79f0',{placeholder:'\u8f93\u5165\u540d\u5b57',defaultValue:j?.displayName||'',onConfirm:e=>{(async()=>{const t=e.trim();if(t)try{await P({displayName:t}),await w(),u.toast.success('\u6635\u79f0\u5df2\u66f4\u65b0'),B.updatePlayerProfile(t,void 0).catch(e=>r(_d[21]).settingsLog.warn('Name sync to GameState failed',e))}catch(e){const t=(0,r(_d[25]).getErrorMessage)(e);r(_d[21]).settingsLog.error('Update name failed',{message:t},e),(0,r(_d[26]).showErrorAlert)('\u66f4\u65b0\u5931\u8d25',t)}else u.toast.warning('\u8bf7\u8f93\u5165\u540d\u5b57')})()}})},[j?.displayName,P,w,B]),J=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',formTitle:'\u7ed1\u5b9a\u90ae\u7bb1',showToggleMode:!1,showSuccessOnLogin:!0})},[p]),X=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',formTitle:'\u7ed1\u5b9a\u5df2\u6709\u8d26\u53f7',showToggleMode:!1,showSuccessOnLogin:!0,hideDisplayName:!0})},[p]),Z=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',formTitle:'\u6ce8\u518c\u65b0\u90ae\u7bb1',showToggleMode:!1,showSuccessOnLogin:!0})},[p]),$=(0,r(_d[13]).useCallback)(()=>{const e=async()=>{try{if(L&&T){const e=await B.leaveSeatWithAck();if(!e.success)return void(0,r(_d[26]).showErrorAlert)('\u79bb\u5ea7\u5931\u8d25',(0,r(_d[25]).translateReasonCode)(e.reason))}p.navigate('AuthEmail',{mode:'signIn',signOutFirst:!0,showSuccessOnLogin:!0})}catch(e){const t=e instanceof Error?e.message:String(e),o=(0,r(_d[21]).mapAuthError)(t);(0,r(_d[21]).isExpectedAuthError)(t)?r(_d[21]).settingsLog.warn('Account switch expected error',{message:t},e):(r(_d[21]).settingsLog.error('Account switch failed',{message:t},e),s.captureException(e)),(0,r(_d[26]).showErrorAlert)('\u5207\u6362\u5931\u8d25',o)}};j?.isAnonymous?(0,r(_d[26]).showDestructiveAlert)('\u5207\u6362\u8d26\u53f7','\u533f\u540d\u6570\u636e\u5c06\u65e0\u6cd5\u6062\u590d\uff0c\u786e\u5b9a\u5207\u6362\u8d26\u53f7\uff1f','\u5207\u6362',()=>e()):e()},[j?.isAnonymous,B,p,L,T]),ee=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signUp',navigateSettingsOnSignUp:!0})},[p]),te=(0,r(_d[13]).useCallback)(()=>{p.navigate('AuthEmail',{mode:'signIn'})},[p]),se=(0,r(_d[13]).useCallback)(async()=>{try{await E(),await w(),u.toast.success('\u767b\u5f55\u6210\u529f')}catch(e){const t=(0,r(_d[25]).getErrorMessage)(e);r(_d[21]).settingsLog.warn('Anonymous login failed',{message:t}),(0,r(_d[26]).showErrorAlert)('\u767b\u5f55\u5931\u8d25',t)}},[E,w]),ae=(0,r(_d[13]).useCallback)(()=>{p.navigate('Appearance')},[p]);return(0,r(_d[28]).jsxs)(r(_d[12]).SafeAreaView,{style:v.container,edges:['left','right'],children:[(0,r(_d[28]).jsx)(h.ScreenHeader,{title:"\u8bbe\u7f6e",onBack:H,topInset:e.top}),(0,r(_d[28]).jsxs)(o.default,{style:v.scrollView,showsVerticalScrollIndicator:!1,contentContainerStyle:[v.scrollContent,e.bottom>0&&{paddingBottom:e.bottom}],children:[(0,r(_d[28]).jsxs)(c.default,{style:v.card,children:[(0,r(_d[28]).jsxs)(n.default,{style:v.cardTitle,children:[(0,r(_d[28]).jsx)(t.default,{name:"person-outline",size:r(_d[14]).typography.body,color:r(_d[14]).colors.text})," \u8d26\u6237"]}),A?j?.isAnonymous?(0,r(_d[28]).jsxs)(r(_d[28]).Fragment,{children:[(0,r(_d[28]).jsx)(x.AvatarSection,{isAnonymous:!0,userId:j?.id??'anonymous',avatarSource:V,avatarUrl:j?.avatarUrl,avatarFrame:j?.avatarFrame,seatFlair:j?.seatFlair,uploadingAvatar:!1,displayName:j?.displayName??null,onPickAvatar:Q,styles:v,colors:r(_d[14]).colors}),(0,r(_d[28]).jsxs)(c.default,{style:v.accountRow,children:[(0,r(_d[28]).jsx)(n.default,{style:v.accountLabel,children:"\u72b6\u6001"}),(0,r(_d[28]).jsxs)(c.default,{style:v.statusBadge,children:[(0,r(_d[28]).jsx)(c.default,{style:v.statusDot}),(0,r(_d[28]).jsx)(n.default,{style:v.statusText,children:"\u533f\u540d\u767b\u5f55"})]})]}),N&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.primary,onPress:J,style:v.logoutBtn,children:"\u7ed1\u5b9a\u90ae\u7bb1"}),N&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:$,style:v.logoutBtn,children:"\u5207\u6362\u8d26\u53f7"}),!L&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:()=>{K()},style:v.logoutBtn,children:"\u767b\u51fa"})]}):(0,r(_d[28]).jsxs)(r(_d[28]).Fragment,{children:[(0,r(_d[28]).jsxs)(c.default,{style:v.profileRow,children:[(0,r(_d[28]).jsx)(x.AvatarSection,{isAnonymous:!1,userId:j?.id??'anonymous',avatarSource:V,avatarUrl:j?.avatarUrl,avatarFrame:j?.avatarFrame,seatFlair:j?.seatFlair,uploadingAvatar:!1,displayName:j?.displayName??null,onPickAvatar:Q,styles:v,colors:r(_d[14]).colors}),(0,r(_d[28]).jsxs)(c.default,{style:v.profileRowRight,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.profileRowName,children:[(0,r(_d[28]).jsx)(x.NameSection,{isAnonymous:!1,displayName:j?.displayName??null,nameStyle:j?.nameStyle,onStartEdit:q,styles:v}),R&&(0,r(_d[28]).jsx)(c.default,{style:v.levelPill,children:(0,r(_d[28]).jsxs)(n.default,{style:v.levelPillText,children:["Lv.",R.level]})})]}),(0,r(_d[28]).jsxs)(c.default,{style:v.statusBadge,children:[(0,r(_d[28]).jsx)(c.default,{style:v.statusDot}),(0,r(_d[28]).jsx)(n.default,{style:v.statusText,children:j?.email?'\u90ae\u7bb1\u767b\u5f55':'\u5fae\u4fe1\u767b\u5f55'})]}),j?.email&&(0,r(_d[28]).jsx)(n.default,{style:v.accountValue,children:j.email})]})]}),R&&(0,r(_d[28]).jsx)(x.GrowthSection,{stats:R,styles:v,onPressUnlocks:W}),(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,onPress:Q,activeOpacity:r(_d[14]).fixed.activeOpacity,children:[(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u66f4\u6362\u5934\u50cf\u4e0e\u88c5\u626e"}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]}),(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,onPress:Y,activeOpacity:r(_d[14]).fixed.activeOpacity,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryRight,children:[(0,r(_d[28]).jsx)(t.default,{name:"gift-outline",size:r(_d[14]).componentSizes.icon.sm,color:r(_d[14]).colors.text}),(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u626d\u86cb\u62bd\u5956"})]}),(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryRight,children:[D>0&&(0,r(_d[28]).jsx)(c.default,{style:v.dresserEntryBadge,children:(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryBadgeText,children:D>99?'99+':D})}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]})]}),N&&!j?.email&&(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsxs)(r(_d[28]).Fragment,{children:[(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,activeOpacity:r(_d[14]).fixed.activeOpacity,onPress:X,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryContent,children:[(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u7ed1\u5b9a\u5df2\u6709\u8d26\u53f7"}),(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryDesc,children:"\u8f93\u5165\u4e4b\u524d\u6ce8\u518c\u7684\u90ae\u7bb1\u548c\u5bc6\u7801\uff0c\u6062\u590d\u6635\u79f0\u3001\u5934\u50cf\u7b49\u6570\u636e"})]}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]}),(0,r(_d[28]).jsxs)(l.default,{style:v.dresserEntry,activeOpacity:r(_d[14]).fixed.activeOpacity,onPress:Z,children:[(0,r(_d[28]).jsxs)(c.default,{style:v.dresserEntryContent,children:[(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryText,children:"\u6ce8\u518c\u65b0\u90ae\u7bb1"}),(0,r(_d[28]).jsx)(n.default,{style:v.dresserEntryDesc,children:"\u7ed1\u5b9a\u540e\u53ef\u5728\u7f51\u9875\u7aef\u767b\u5f55\uff0c\u6570\u636e\u4e0d\u4e22\u5931"})]}),(0,r(_d[28]).jsx)(t.default,{name:"chevron-forward",size:r(_d[14]).componentSizes.icon.md,color:r(_d[14]).colors.textMuted})]})]}),N&&!j?.email&&!(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.primary,onPress:J,style:v.logoutBtn,children:"\u7ed1\u5b9a\u90ae\u7bb1"}),j?.email&&F?(0,r(_d[28]).jsx)(x.ChangePasswordForm,{onSubmit:async(e,t)=>{await k({oldPassword:e,newPassword:t}),z(!1),u.toast.success('\u5bc6\u7801\u5df2\u4fee\u6539')},onCancel:()=>z(!1),styles:v,colors:r(_d[14]).colors}):j?.email?(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:()=>z(!0),style:v.logoutBtn,children:"\u4fee\u6539\u5bc6\u7801"}):null,N&&!F&&!(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.text,onPress:$,style:v.logoutBtn,children:"\u5207\u6362\u8d26\u53f7"}),!L&&!F&&!(0,r(_d[29]).isMiniProgram)()&&(0,r(_d[28]).jsx)(y.Button,{variant:"ghost",buttonColor:r(_d[14]).colors.background,textColor:r(_d[14]).colors.error,onPress:()=>{K()},style:v.logoutBtn,children:"\u767b\u51fa"})]}):I.current||S?null:(0,r(_d[28]).jsx)(d.LoginOptions,{authLoading:S||C,onEmailSignUp:ee,onEmailSignIn:te,onAnonymousLogin:()=>{se()},hideAnonymous:(0,r(_d[29]).isMiniProgram)(),onBrowseAvatars:ae,styles:v})]}),(0,r(_d[28]).jsx)(x.AboutSection,{styles:v})]})]})}},2194,[1013,119,497,549,585,459,599,1866,1119,1467,1930,2195,1006,36,1098,1704,1090,1806,1094,1904,1859,1061,1125,1054,1877,1088,1073,1074,700,1880]);
2461
2461
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AboutSection",{enumerable:!0,get:function(){return t.AboutSection}}),Object.defineProperty(e,"AvatarSection",{enumerable:!0,get:function(){return n.AvatarSection}}),Object.defineProperty(e,"ChangePasswordForm",{enumerable:!0,get:function(){return o.ChangePasswordForm}}),Object.defineProperty(e,"GrowthSection",{enumerable:!0,get:function(){return c.GrowthSection}}),Object.defineProperty(e,"NameSection",{enumerable:!0,get:function(){return u.NameSection}}),Object.defineProperty(e,"createSettingsScreenStyles",{enumerable:!0,get:function(){return r(d[0]).createSettingsScreenStyles}});var t=r(d[1]),n=r(d[2]),o=r(d[3]),c=r(d[4]),u=r(d[5])},2195,[2196,2197,2198,2199,2200,2201]);
2462
2462
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"createSettingsScreenStyles",{enumerable:!0,get:function(){return o}});var e,t=(e=r(d[0]))&&e.__esModule?e:{default:e};const o=e=>t.default.create(Object.assign({container:{flex:1,backgroundColor:e.transparent,overflow:'hidden'},scrollView:{flex:1,padding:r(d[1]).spacing.screenH,backgroundColor:e.transparent},scrollContent:{flexGrow:1},card:Object.assign({},(0,r(d[1]).createSharedStyles)(e).cardBase,{marginBottom:r(d[1]).spacing.screenH}),cardTitle:Object.assign({},r(d[1]).textStyles.subtitleSemibold,{color:e.text,marginBottom:r(d[1]).spacing.medium}),accountRow:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',paddingVertical:r(d[1]).spacing.small},accountLabel:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary,color:e.textSecondary},accountValue:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary,color:e.text,fontFamily:'monospace'},statusBadge:{flexDirection:'row',alignItems:'center',backgroundColor:(0,r(d[1]).withAlpha)(e.success,.125),paddingHorizontal:r(d[1]).spacing.small,paddingVertical:r(d[1]).spacing.tight,borderRadius:r(d[1]).borderRadius.full},statusDot:{width:6,height:6,borderRadius:3,backgroundColor:e.success,marginRight:r(d[1]).spacing.tight},statusText:{fontSize:r(d[1]).typography.caption,lineHeight:r(d[1]).typography.lineHeights.caption,color:e.success},logoutBtn:{marginTop:r(d[1]).spacing.medium,padding:r(d[1]).spacing.medium,backgroundColor:e.background,borderRadius:r(d[1]).borderRadius.full,alignItems:'center'},infoRow:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',paddingVertical:r(d[1]).spacing.small},infoLabel:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary,color:e.textSecondary},infoValue:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary,color:e.text},profileSection:{alignItems:'center',paddingVertical:r(d[1]).spacing.medium,marginBottom:r(d[1]).spacing.medium,borderBottomWidth:r(d[1]).fixed.borderWidth,borderBottomColor:e.border},avatar:{width:r(d[1]).componentSizes.avatar.xl,height:r(d[1]).componentSizes.avatar.xl,borderRadius:r(d[1]).borderRadius.medium,marginBottom:r(d[1]).spacing.small,overflow:'visible'},avatarPlaceholder:{width:r(d[1]).componentSizes.avatar.xl,height:r(d[1]).componentSizes.avatar.xl,borderRadius:r(d[1]).borderRadius.full,backgroundColor:e.border,justifyContent:'center',alignItems:'center',marginBottom:r(d[1]).spacing.small},avatarPlaceholderIcon:{fontSize:r(d[1]).typography.display,lineHeight:r(d[1]).typography.lineHeights.display},avatarEditBadge:{position:'absolute',bottom:-r(d[1]).spacing.tight,right:-r(d[1]).spacing.small,width:r(d[1]).componentSizes.icon.lg,height:r(d[1]).componentSizes.icon.lg,borderRadius:r(d[1]).borderRadius.medium,backgroundColor:e.surface,justifyContent:'center',alignItems:'center',borderWidth:r(d[1]).fixed.borderWidthThick,borderColor:e.border},avatarEditIcon:{fontSize:r(d[1]).typography.caption,lineHeight:r(d[1]).typography.lineHeights.caption},nameRow:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.tight},userName:Object.assign({},r(d[1]).textStyles.subtitleSemibold,{color:e.text}),editIcon:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary}},(0,r(d[2]).createAuthBaseStyles)(e),{formContainer:{paddingVertical:r(d[1]).spacing.medium},formTitle:Object.assign({},(0,r(d[2]).createAuthBaseStyles)(e).formTitle,{marginBottom:r(d[1]).spacing.large}),emailDomainDropdown:Object.assign({},(0,r(d[2]).createAuthBaseStyles)(e).emailDomainDropdown,{marginTop:-r(d[1]).spacing.small,marginBottom:r(d[1]).spacing.medium}),errorText:Object.assign({},(0,r(d[2]).createAuthBaseStyles)(e).errorText,{marginBottom:r(d[1]).spacing.medium}),aboutRow:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',paddingVertical:r(d[1]).spacing.small},aboutLabel:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary,color:e.textSecondary},aboutValue:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary,color:e.text},aboutValueRow:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.tight},avatarPreviewSection:{alignItems:'center'},avatarPreviewCard:{alignItems:'center',marginTop:r(d[1]).spacing.medium,paddingVertical:r(d[1]).spacing.medium,paddingHorizontal:r(d[1]).spacing.medium,backgroundColor:e.surface,borderRadius:r(d[1]).borderRadius.large,borderWidth:r(d[1]).fixed.borderWidth,borderColor:e.border},avatarPreviewRow:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small},avatarPreviewItem:{width:r(d[1]).componentSizes.avatar.sm,height:r(d[1]).componentSizes.avatar.sm,borderRadius:r(d[1]).borderRadius.small},avatarPreviewLockBadge:{width:r(d[1]).componentSizes.avatar.sm,height:r(d[1]).componentSizes.avatar.sm,borderRadius:r(d[1]).borderRadius.small,borderWidth:r(d[1]).fixed.borderWidth,borderColor:e.border,borderStyle:'dashed',justifyContent:'center',alignItems:'center'},avatarPreviewDesc:{fontSize:r(d[1]).typography.caption,lineHeight:r(d[1]).typography.lineHeights.caption,color:e.textSecondary,textAlign:'center',marginTop:r(d[1]).spacing.small},avatarPreviewUpgradeBtn:{backgroundColor:e.primary,paddingVertical:r(d[1]).spacing.small,paddingHorizontal:r(d[1]).spacing.large,borderRadius:r(d[1]).borderRadius.full,alignSelf:'center',marginTop:r(d[1]).spacing.small},avatarPreviewUpgradeBtnText:Object.assign({},r(d[1]).textStyles.secondarySemibold,{color:e.textInverse}),avatarPreviewCta:{fontSize:r(d[1]).typography.secondary,lineHeight:r(d[1]).typography.lineHeights.secondary,color:e.primary,fontWeight:r(d[1]).typography.weights.medium,marginTop:r(d[1]).spacing.tight},profileRow:{flexDirection:'row',alignItems:'center',paddingVertical:r(d[1]).spacing.medium,marginBottom:r(d[1]).spacing.medium,borderBottomWidth:r(d[1]).fixed.borderWidth,borderBottomColor:e.border,gap:r(d[1]).spacing.medium},profileRowRight:{flex:1,gap:r(d[1]).spacing.tight},profileRowName:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.tight},dresserEntry:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingVertical:r(d[1]).spacing.medium,paddingHorizontal:r(d[1]).spacing.medium,backgroundColor:(0,r(d[1]).withAlpha)(e.primary,.06),borderRadius:r(d[1]).borderRadius.medium,marginBottom:r(d[1]).spacing.medium,borderWidth:r(d[1]).fixed.borderWidth,borderColor:(0,r(d[1]).withAlpha)(e.primary,.1)},dresserEntryContent:{flex:1},dresserEntryText:Object.assign({},r(d[1]).textStyles.body,{color:e.text}),dresserEntryDesc:Object.assign({},r(d[1]).textStyles.caption,{color:e.textMuted,marginTop:r(d[1]).spacing.tight}),dresserEntryChevron:{color:e.textMuted},dresserEntryRight:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small},dresserEntryBadge:{minWidth:r(d[1]).componentSizes.badge.sm,height:r(d[1]).componentSizes.badge.sm,borderRadius:r(d[1]).componentSizes.badge.sm/2,paddingHorizontal:r(d[1]).spacing.micro,alignItems:'center',justifyContent:'center',backgroundColor:e.error},dresserEntryBadgeText:{fontSize:r(d[1]).typography.captionSmall,fontWeight:r(d[1]).typography.weights.bold,color:e.textInverse},levelPill:{backgroundColor:(0,r(d[1]).withAlpha)(e.primary,.1),paddingHorizontal:r(d[1]).spacing.small,paddingVertical:r(d[1]).spacing.micro,borderRadius:r(d[1]).borderRadius.full},levelPillText:{fontSize:r(d[1]).typography.caption,lineHeight:r(d[1]).typography.lineHeights.caption,fontWeight:r(d[1]).typography.weights.semibold,color:e.primary},growthEntryContent:{flex:1,marginHorizontal:r(d[1]).spacing.small},growthMiniProgress:{height:5,backgroundColor:(0,r(d[1]).withAlpha)(e.primary,.1),borderRadius:r(d[1]).borderRadius.full,overflow:'hidden',marginTop:r(d[1]).spacing.tight},growthMiniProgressFill:{height:'100%',backgroundColor:e.primary,borderRadius:r(d[1]).borderRadius.full},growthXpRow:{flexDirection:'row',alignItems:'center',gap:r(d[1]).spacing.small,marginBottom:r(d[1]).spacing.medium},growthXpLabel:{fontSize:r(d[1]).typography.caption,lineHeight:r(d[1]).typography.lineHeights.caption,color:e.textSecondary},growthProgressBarBg:{flex:1,height:10,backgroundColor:(0,r(d[1]).withAlpha)(e.primary,.08),borderRadius:r(d[1]).borderRadius.full,overflow:'hidden'},growthProgressBarFill:{height:'100%',backgroundColor:e.primaryLight,borderRadius:r(d[1]).borderRadius.full},growthXpValue:{fontSize:r(d[1]).typography.caption,lineHeight:r(d[1]).typography.lineHeights.caption,color:e.textSecondary,minWidth:r(d[1]).spacing.xxlarge,textAlign:'right'}}))},2196,[38,1098,1876]);
2463
2463
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AboutSection",{enumerable:!0,get:function(){return c}});var t=e(r(d[0])),o=e(r(d[1])),l=e(r(d[2])),u=e(r(d[3])),s=r(d[4]);const c=(0,r(d[5]).memo)(e=>{const s=(0,r(d[6]).c)(28),{styles:c}=e,b=n;let f,y,_,h,j,x,p,R,V,w,E;return s[0]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r(d[7]).jsx)(t.default,{name:"information-circle-outline",size:r(d[8]).typography.body,color:r(d[8]).colors.text}),s[0]=f):f=s[0],s[1]!==c.cardTitle?(y=(0,r(d[7]).jsxs)(l.default,{style:c.cardTitle,children:[f," ","\u5173\u4e8e"]}),s[1]=c.cardTitle,s[2]=y):y=s[2],s[3]!==c.aboutLabel?(_=(0,r(d[7]).jsx)(l.default,{style:c.aboutLabel,children:"\u7248\u672c"}),s[3]=c.aboutLabel,s[4]=_):_=s[4],s[5]!==c.aboutValue?(h=(0,r(d[7]).jsx)(l.default,{style:c.aboutValue,children:r(d[9]).APP_VERSION}),s[5]=c.aboutValue,s[6]=h):h=s[6],s[7]!==c.aboutRow||s[8]!==_||s[9]!==h?(j=(0,r(d[7]).jsxs)(u.default,{style:c.aboutRow,children:[_,h]}),s[7]=c.aboutRow,s[8]=_,s[9]=h,s[10]=j):j=s[10],s[11]!==c.aboutLabel?(x=(0,r(d[7]).jsx)(l.default,{style:c.aboutLabel,children:"\u8054\u7cfb\u5fae\u4fe1"}),s[11]=c.aboutLabel,s[12]=x):x=s[12],s[13]!==c.aboutValue?(p=(0,r(d[7]).jsx)(l.default,{style:c.aboutValue,children:r(d[10]).DEVELOPER_WECHAT_ID}),s[13]=c.aboutValue,s[14]=p):p=s[14],s[15]===Symbol.for("react.memo_cache_sentinel")?(R=(0,r(d[7]).jsx)(o.default,{onPress:b,hitSlop:8,children:(0,r(d[7]).jsx)(t.default,{name:"copy-outline",size:r(d[8]).componentSizes.icon.sm,color:r(d[8]).colors.primary})}),s[15]=R):R=s[15],s[16]!==c.aboutValueRow||s[17]!==p?(V=(0,r(d[7]).jsxs)(u.default,{style:c.aboutValueRow,children:[p,R]}),s[16]=c.aboutValueRow,s[17]=p,s[18]=V):V=s[18],s[19]!==c.aboutRow||s[20]!==x||s[21]!==V?(w=(0,r(d[7]).jsxs)(u.default,{style:c.aboutRow,children:[x,V]}),s[19]=c.aboutRow,s[20]=x,s[21]=V,s[22]=w):w=s[22],s[23]!==c.card||s[24]!==w||s[25]!==y||s[26]!==j?(E=(0,r(d[7]).jsxs)(u.default,{style:c.card,children:[y,j,w]}),s[23]=c.card,s[24]=w,s[25]=y,s[26]=j,s[27]=E):E=s[27],E});function n(){"undefined"!=typeof navigator&&navigator.clipboard&&(navigator.clipboard.writeText(r(d[10]).DEVELOPER_WECHAT_ID),s.toast.success("\u5df2\u590d\u5236\u5fae\u4fe1\u53f7"))}c.displayName='AboutSection'},2197,[1013,603,549,459,599,36,1092,700,1098,1956,1950]);
2464
2464
  __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AvatarSection",{enumerable:!0,get:function(){return y}});var t=e(r(d[0])),i=e(r(d[1])),s=e(r(d[2])),o=e(r(d[3])),l=e(r(d[4])),v=e(r(d[5])),c=r(d[6]),n=r(d[7]),u=r(d[8]);const f=(()=>{const e=Math.floor(r(d[9]).AVATAR_IMAGES.length/4);return Array.from({length:4},(t,i)=>i*e)})(),y=(0,r(d[10]).memo)(e=>{const y=(0,r(d[11]).c)(56),{isAnonymous:P,userId:x,avatarSource:h,avatarUrl:w,avatarFrame:j,seatFlair:A,uploadingAvatar:b,displayName:R,onPickAvatar:S,styles:p}=e;if(P){const e=p.avatarPreviewSection,i=p.avatar.borderRadius;let n;y[0]!==i||y[1]!==x?(n=(0,r(d[12]).jsx)(c.Avatar,{value:x,size:r(d[13]).componentSizes.avatar.xl,borderRadius:i}),y[0]=i,y[1]=x,y[2]=n):n=y[2];const u=R||"\u533f\u540d\u7528\u6237";let P;y[3]!==p.userName||y[4]!==u?(P=(0,r(d[12]).jsx)(o.default,{style:p.userName,children:u}),y[3]=p.userName,y[4]=u,y[5]=P):P=y[5];const h=p.avatarPreviewCard,w=p.avatarPreviewRow;let j,A,b,_,I,z,C,B,M;return y[6]!==p.avatarPreviewItem?(j=f.map(e=>(0,r(d[12]).jsx)(s.default,{source:(0,r(d[9]).getAvatarThumbByIndex)(e),style:p.avatarPreviewItem,resizeMode:"cover"},e)),y[6]=p.avatarPreviewItem,y[7]=j):j=y[7],y[8]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r(d[12]).jsx)(t.default,{name:"lock-closed",size:r(d[13]).componentSizes.icon.sm,color:r(d[13]).colors.textSecondary}),y[8]=A):A=y[8],y[9]!==p.avatarPreviewLockBadge?(b=(0,r(d[12]).jsx)(v.default,{style:p.avatarPreviewLockBadge,children:A}),y[9]=p.avatarPreviewLockBadge,y[10]=b):b=y[10],y[11]!==p.avatarPreviewRow||y[12]!==b||y[13]!==j?(_=(0,r(d[12]).jsxs)(v.default,{style:w,children:[j,b]}),y[11]=p.avatarPreviewRow,y[12]=b,y[13]=j,y[14]=_):_=y[14],y[15]!==p.avatarPreviewDesc?(I=(0,r(d[12]).jsx)(o.default,{style:p.avatarPreviewDesc,children:`\u7ed1\u5b9a\u90ae\u7bb1\uff0c\u89e3\u9501 ${r(d[9]).AVATAR_IMAGES.length} \u6b3e\u6697\u9ed1\u5934\u50cf\u3001\u81ea\u5b9a\u4e49\u6635\u79f0\u548c\u5934\u50cf\u6846`}),y[15]=p.avatarPreviewDesc,y[16]=I):I=y[16],y[17]!==p.avatarPreviewCta?(z=(0,r(d[12]).jsx)(o.default,{style:p.avatarPreviewCta,children:"\u6d4f\u89c8\u5168\u90e8\u5934\u50cf \u203a"}),y[17]=p.avatarPreviewCta,y[18]=z):z=y[18],y[19]!==S||y[20]!==z?(C=(0,r(d[12]).jsx)(l.default,{onPress:S,activeOpacity:r(d[13]).fixed.activeOpacity,children:z}),y[19]=S,y[20]=z,y[21]=C):C=y[21],y[22]!==p.avatarPreviewCard||y[23]!==_||y[24]!==I||y[25]!==C?(B=(0,r(d[12]).jsxs)(v.default,{style:h,children:[_,I,C]}),y[22]=p.avatarPreviewCard,y[23]=_,y[24]=I,y[25]=C,y[26]=B):B=y[26],y[27]!==p.avatarPreviewSection||y[28]!==B||y[29]!==n||y[30]!==P?(M=(0,r(d[12]).jsxs)(v.default,{style:e,children:[n,P,B]}),y[27]=p.avatarPreviewSection,y[28]=B,y[29]=n,y[30]=P,y[31]=M):M=y[31],M}if(b){let e,t;return y[32]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r(d[12]).jsx)(i.default,{color:r(d[13]).colors.primary}),y[32]=e):e=y[32],y[33]!==p.avatarPlaceholder?(t=(0,r(d[12]).jsx)(v.default,{style:p.avatarPlaceholder,children:e}),y[33]=p.avatarPlaceholder,y[34]=t):t=y[34],t}let _;y[35]!==A?(_=A?(0,u.getFlairById)(A):void 0,y[35]=A,y[36]=_):_=y[36];const I=_,z=I?.Component,C=r(d[13]).componentSizes.avatar.xl;let B;y[37]!==j||y[38]!==h||y[39]!==w||y[40]!==p.avatar.borderRadius||y[41]!==x?(B=h?(0,r(d[12]).jsx)(n.AvatarWithFrame,{value:x,size:C,avatarUrl:w,borderRadius:p.avatar.borderRadius,frameId:j}):(0,r(d[12]).jsx)(n.AvatarWithFrame,{value:x,size:C,borderRadius:p.avatar.borderRadius,frameId:j}),y[37]=j,y[38]=h,y[39]=w,y[40]=p.avatar.borderRadius,y[41]=x,y[42]=B):B=y[42];const M=B;let O,E,N,k,F;return y[43]!==z||y[44]!==p.avatar.borderRadius?(O=z&&(0,r(d[12]).jsx)(z,{size:C,borderRadius:p.avatar.borderRadius}),y[43]=z,y[44]=p.avatar.borderRadius,y[45]=O):O=y[45],y[46]===Symbol.for("react.memo_cache_sentinel")?(E=(0,r(d[12]).jsx)(t.default,{name:r(d[14]).UI_ICONS.CAMERA,size:r(d[13]).componentSizes.icon.sm,color:r(d[13]).colors.textSecondary}),y[46]=E):E=y[46],y[47]!==p.avatarEditBadge?(N=(0,r(d[12]).jsx)(v.default,{style:p.avatarEditBadge,children:E}),y[47]=p.avatarEditBadge,y[48]=N):N=y[48],y[49]!==M||y[50]!==O||y[51]!==N?(k=(0,r(d[12]).jsxs)(v.default,{children:[M,O,N]}),y[49]=M,y[50]=O,y[51]=N,y[52]=k):k=y[52],y[53]!==S||y[54]!==k?(F=(0,r(d[12]).jsx)(l.default,{onPress:S,activeOpacity:r(d[13]).fixed.activeOpacity,children:k}),y[53]=S,y[54]=k,y[55]=F):F=y[55],F});y.displayName='AvatarSection'},2198,[1013,602,539,549,585,459,1493,1492,1565,1125,36,1092,700,1098,1112]);
2465
2465
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ChangePasswordForm",{enumerable:!0,get:function(){return l}});var t=e(r(d[0])),n=e(r(d[1])),s=r(d[2]),o=r(d[3]);const l=(0,r(d[4]).memo)(({onSubmit:e,onCancel:l,styles:u,colors:c})=>{const[x,f]=(0,r(d[4]).useState)(''),[y,p]=(0,r(d[4]).useState)(''),[b,h]=(0,r(d[4]).useState)(''),[C,T]=(0,r(d[4]).useState)(null),[S,w]=(0,r(d[4]).useState)(!1),j=(0,r(d[4]).useRef)(null),v=(0,r(d[4]).useRef)(null),F=(0,r(d[4]).useCallback)(async()=>{if(T(null),x)if(y)if(y.length<6)T('\u65b0\u5bc6\u7801\u81f3\u5c11 6 \u4e2a\u5b57\u7b26');else if(y===b)if(x!==y){w(!0);try{await e(x,y)}catch(e){const t=e instanceof Error?e.message:String(e);r(d[5]).settingsLog.warn('changePassword failed',{error:t}),T(t)}finally{w(!1)}}else T('\u65b0\u5bc6\u7801\u4e0d\u80fd\u4e0e\u65e7\u5bc6\u7801\u76f8\u540c');else T('\u4e24\u6b21\u8f93\u5165\u7684\u65b0\u5bc6\u7801\u4e0d\u4e00\u81f4');else T('\u8bf7\u8f93\u5165\u65b0\u5bc6\u7801');else T('\u8bf7\u8f93\u5165\u65e7\u5bc6\u7801')},[x,y,b,e]);return(0,r(d[6]).jsxs)(n.default,{style:{gap:r(d[7]).spacing.small},children:[(0,r(d[6]).jsx)(o.FormTextField,{placeholder:"\u65e7\u5bc6\u7801",secureTextEntry:!0,autoComplete:"current-password",value:x,onChangeText:f,returnKeyType:"next",onSubmitEditing:()=>j.current?.focus(),editable:!S}),(0,r(d[6]).jsx)(o.FormTextField,{ref:j,placeholder:"\u65b0\u5bc6\u7801\uff08\u81f3\u5c11 6 \u4f4d\uff09",secureTextEntry:!0,autoComplete:"new-password",value:y,onChangeText:p,returnKeyType:"next",onSubmitEditing:()=>v.current?.focus(),editable:!S}),(0,r(d[6]).jsx)(o.FormTextField,{ref:v,placeholder:"\u786e\u8ba4\u65b0\u5bc6\u7801",secureTextEntry:!0,autoComplete:"new-password",value:b,onChangeText:h,returnKeyType:"done",onSubmitEditing:()=>{F()},editable:!S}),C&&(0,r(d[6]).jsx)(t.default,{style:u.errorText,children:C}),(0,r(d[6]).jsx)(s.Button,{variant:"primary",onPress:()=>{F()},disabled:S,buttonColor:c.primary,textColor:c.textInverse,children:S?'\u4fee\u6539\u4e2d':'\u786e\u8ba4\u4fee\u6539'}),(0,r(d[6]).jsx)(s.Button,{variant:"ghost",onPress:l,disabled:S,buttonColor:c.background,textColor:c.textSecondary,children:"\u53d6\u6d88"})]})});l.displayName='ChangePasswordForm'},2199,[549,459,1119,1868,36,1061,700,1098]);
2466
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GrowthSection",{enumerable:!0,get:function(){return n}});var t=e(r(d[0])),s=e(r(d[1])),o=e(r(d[2])),l=e(r(d[3]));const n=(0,r(d[4]).memo)(e=>{const n=(0,r(d[5]).c)(46),{stats:c,styles:h,onPressUnlocks:w}=e,u=(0,r(d[6]).getLevelProgress)(c.xp),y=c.level<r(d[6]).LEVEL_THRESHOLDS.length-1?r(d[6]).LEVEL_THRESHOLDS[c.level+1]:r(d[6]).LEVEL_THRESHOLDS[r(d[6]).LEVEL_THRESHOLDS.length-1];let E;n[0]!==c.unlockedItems?(E=new Set([...c.unlockedItems,...r(d[6]).FREE_AVATAR_IDS,...r(d[6]).FREE_FRAME_IDS,...r(d[6]).FREE_FLAIR_IDS]),n[0]=c.unlockedItems,n[1]=E):E=n[1];const _=E.size;let L;n[2]!==h.growthXpLabel?(L=(0,r(d[7]).jsx)(s.default,{style:h.growthXpLabel,children:"XP"}),n[2]=h.growthXpLabel,n[3]=L):L=n[3];const f=100*u+"%";let p,x,P,S,j,O,T;n[4]!==f?(p={width:f},n[4]=f,n[5]=p):p=n[5],n[6]!==h.growthProgressBarFill||n[7]!==p?(x=(0,r(d[7]).jsx)(l.default,{style:[h.growthProgressBarFill,p]}),n[6]=h.growthProgressBarFill,n[7]=p,n[8]=x):x=n[8],n[9]!==h.growthProgressBarBg||n[10]!==x?(P=(0,r(d[7]).jsx)(l.default,{style:h.growthProgressBarBg,children:x}),n[9]=h.growthProgressBarBg,n[10]=x,n[11]=P):P=n[11],n[12]!==y||n[13]!==c.xp||n[14]!==h.growthXpValue?(S=(0,r(d[7]).jsxs)(s.default,{style:h.growthXpValue,children:[c.xp,"/",y]}),n[12]=y,n[13]=c.xp,n[14]=h.growthXpValue,n[15]=S):S=n[15],n[16]!==h.growthXpRow||n[17]!==L||n[18]!==P||n[19]!==S?(j=(0,r(d[7]).jsxs)(l.default,{style:h.growthXpRow,children:[L,P,S]}),n[16]=h.growthXpRow,n[17]=L,n[18]=P,n[19]=S,n[20]=j):j=n[20],n[21]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r(d[7]).jsx)(t.default,{name:"trophy-outline",size:r(d[8]).componentSizes.icon.md,color:r(d[8]).colors.primary}),n[21]=O):O=n[21],n[22]!==c.gamesPlayed||n[23]!==h.dresserEntryText||n[24]!==_?(T=(0,r(d[7]).jsxs)(s.default,{style:h.dresserEntryText,children:[c.gamesPlayed," \u5c40 \xb7 \u5df2\u89e3\u9501 ",_,"/",r(d[6]).TOTAL_UNLOCKABLE_COUNT]}),n[22]=c.gamesPlayed,n[23]=h.dresserEntryText,n[24]=_,n[25]=T):T=n[25];const R=_/r(d[6]).TOTAL_UNLOCKABLE_COUNT*100+"%";let F,B,M,X,A,b,v;return n[26]!==R?(F={width:R},n[26]=R,n[27]=F):F=n[27],n[28]!==h.growthMiniProgressFill||n[29]!==F?(B=(0,r(d[7]).jsx)(l.default,{style:[h.growthMiniProgressFill,F]}),n[28]=h.growthMiniProgressFill,n[29]=F,n[30]=B):B=n[30],n[31]!==h.growthMiniProgress||n[32]!==B?(M=(0,r(d[7]).jsx)(l.default,{style:h.growthMiniProgress,children:B}),n[31]=h.growthMiniProgress,n[32]=B,n[33]=M):M=n[33],n[34]!==h.growthEntryContent||n[35]!==T||n[36]!==M?(X=(0,r(d[7]).jsxs)(l.default,{style:h.growthEntryContent,children:[T,M]}),n[34]=h.growthEntryContent,n[35]=T,n[36]=M,n[37]=X):X=n[37],n[38]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r(d[7]).jsx)(t.default,{name:"chevron-forward",size:r(d[8]).componentSizes.icon.md,color:r(d[8]).colors.textMuted}),n[38]=A):A=n[38],n[39]!==w||n[40]!==h.dresserEntry||n[41]!==X?(b=(0,r(d[7]).jsxs)(o.default,{style:h.dresserEntry,onPress:w,activeOpacity:r(d[8]).fixed.activeOpacity,children:[O,X,A]}),n[39]=w,n[40]=h.dresserEntry,n[41]=X,n[42]=b):b=n[42],n[43]!==b||n[44]!==j?(v=(0,r(d[7]).jsxs)(r(d[7]).Fragment,{children:[j,b]}),n[43]=b,n[44]=j,n[45]=v):v=n[45],v});n.displayName='GrowthSection'},2200,[1013,549,585,459,36,1092,2148,700,1098]);
2466
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GrowthSection",{enumerable:!0,get:function(){return n}});var t=e(r(d[0])),s=e(r(d[1])),o=e(r(d[2])),l=e(r(d[3]));const n=(0,r(d[4]).memo)(e=>{const n=(0,r(d[5]).c)(46),{stats:c,styles:h,onPressUnlocks:w}=e,u=(0,r(d[6]).getLevelProgress)(c.xp),y=c.level<r(d[6]).LEVEL_THRESHOLDS.length-1?r(d[6]).LEVEL_THRESHOLDS[c.level+1]:r(d[6]).LEVEL_THRESHOLDS[r(d[6]).LEVEL_THRESHOLDS.length-1];let E;n[0]!==c.unlockedItems?(E=new Set([...c.unlockedItems,...r(d[6]).FREE_AVATAR_IDS,...r(d[6]).FREE_FRAME_IDS,...r(d[6]).FREE_FLAIR_IDS]),n[0]=c.unlockedItems,n[1]=E):E=n[1];const _=E.size;let L;n[2]!==h.growthXpLabel?(L=(0,r(d[7]).jsx)(s.default,{style:h.growthXpLabel,children:"XP"}),n[2]=h.growthXpLabel,n[3]=L):L=n[3];const f=100*u+"%";let p,x,P,S,j,O,T;n[4]!==f?(p={width:f},n[4]=f,n[5]=p):p=n[5],n[6]!==h.growthProgressBarFill||n[7]!==p?(x=(0,r(d[7]).jsx)(l.default,{style:[h.growthProgressBarFill,p]}),n[6]=h.growthProgressBarFill,n[7]=p,n[8]=x):x=n[8],n[9]!==h.growthProgressBarBg||n[10]!==x?(P=(0,r(d[7]).jsx)(l.default,{style:h.growthProgressBarBg,children:x}),n[9]=h.growthProgressBarBg,n[10]=x,n[11]=P):P=n[11],n[12]!==y||n[13]!==c.xp||n[14]!==h.growthXpValue?(S=(0,r(d[7]).jsxs)(s.default,{style:h.growthXpValue,children:[c.xp,"/",y]}),n[12]=y,n[13]=c.xp,n[14]=h.growthXpValue,n[15]=S):S=n[15],n[16]!==h.growthXpRow||n[17]!==L||n[18]!==P||n[19]!==S?(j=(0,r(d[7]).jsxs)(l.default,{style:h.growthXpRow,children:[L,P,S]}),n[16]=h.growthXpRow,n[17]=L,n[18]=P,n[19]=S,n[20]=j):j=n[20],n[21]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r(d[7]).jsx)(t.default,{name:"trophy-outline",size:r(d[8]).componentSizes.icon.md,color:r(d[8]).colors.primary}),n[21]=O):O=n[21],n[22]!==c.gamesPlayed||n[23]!==h.dresserEntryText||n[24]!==_?(T=(0,r(d[7]).jsxs)(s.default,{style:h.dresserEntryText,children:[c.gamesPlayed," \u5c40 \xb7 \u5df2\u89e3\u9501 ",_,"/",r(d[6]).TOTAL_UNLOCKABLE_COUNT]}),n[22]=c.gamesPlayed,n[23]=h.dresserEntryText,n[24]=_,n[25]=T):T=n[25];const R=_/r(d[6]).TOTAL_UNLOCKABLE_COUNT*100+"%";let F,B,M,X,A,b,v;return n[26]!==R?(F={width:R},n[26]=R,n[27]=F):F=n[27],n[28]!==h.growthMiniProgressFill||n[29]!==F?(B=(0,r(d[7]).jsx)(l.default,{style:[h.growthMiniProgressFill,F]}),n[28]=h.growthMiniProgressFill,n[29]=F,n[30]=B):B=n[30],n[31]!==h.growthMiniProgress||n[32]!==B?(M=(0,r(d[7]).jsx)(l.default,{style:h.growthMiniProgress,children:B}),n[31]=h.growthMiniProgress,n[32]=B,n[33]=M):M=n[33],n[34]!==h.growthEntryContent||n[35]!==T||n[36]!==M?(X=(0,r(d[7]).jsxs)(l.default,{style:h.growthEntryContent,children:[T,M]}),n[34]=h.growthEntryContent,n[35]=T,n[36]=M,n[37]=X):X=n[37],n[38]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r(d[7]).jsx)(t.default,{name:"chevron-forward",size:r(d[8]).componentSizes.icon.md,color:r(d[8]).colors.textMuted}),n[38]=A):A=n[38],n[39]!==w||n[40]!==h.dresserEntry||n[41]!==X?(b=(0,r(d[7]).jsxs)(o.default,{style:h.dresserEntry,onPress:w,activeOpacity:r(d[8]).fixed.activeOpacity,children:[O,X,A]}),n[39]=w,n[40]=h.dresserEntry,n[41]=X,n[42]=b):b=n[42],n[43]!==b||n[44]!==j?(v=(0,r(d[7]).jsxs)(r(d[7]).Fragment,{children:[j,b]}),n[43]=b,n[44]=j,n[45]=v):v=n[45],v});n.displayName='GrowthSection'},2200,[1013,549,585,459,36,1092,2164,700,1098]);
2467
2467
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NameSection",{enumerable:!0,get:function(){return l}});var t=e(r(d[0])),n=e(r(d[1])),s=e(r(d[2]));const l=(0,r(d[3]).memo)(e=>{const l=(0,r(d[4]).c)(11),{isAnonymous:o,displayName:u,nameStyle:c,onStartEdit:y,styles:f}=e;if(o)return null;let N;l[0]!==u||l[1]!==c||l[2]!==f.userName?(N=u?(0,r(d[5]).jsx)(r(d[6]).NameStyleText,{styleId:c,style:f.userName,children:u}):(0,r(d[5]).jsx)(n.default,{style:f.userName,children:"\u70b9\u51fb\u8bbe\u7f6e\u540d\u5b57"}),l[0]=u,l[1]=c,l[2]=f.userName,l[3]=N):N=l[3];const I=N;let _,j;return l[4]!==f.editIcon?(_=(0,r(d[5]).jsx)(t.default,{name:r(d[7]).UI_ICONS.EDIT,size:r(d[8]).typography.secondary,style:f.editIcon}),l[4]=f.editIcon,l[5]=_):_=l[5],l[6]!==I||l[7]!==y||l[8]!==f.nameRow||l[9]!==_?(j=(0,r(d[5]).jsxs)(s.default,{style:f.nameRow,onPress:y,children:[I,_]}),l[6]=I,l[7]=y,l[8]=f.nameRow,l[9]=_,l[10]=j):j=l[10],j});l.displayName='NameSection'},2201,[1013,549,585,36,1092,700,1646,1112,1098]);
2468
2468
  __d(function(g,r,_i,_a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ShardExchangeScreen=function(e){const s=(0,r(_d[14]).c)(59),{navigation:C}=e,O=(0,r(_d[15]).useSafeAreaInsets)(),{width:_}=(0,d.default)(),I=w(_),{data:A,isLoading:D}=(0,h.useGachaStatusQuery)(),{data:T,isLoading:B}=(0,r(_d[16]).useUserStatsQuery)(),{mutate:v,isPending:z}=(0,h.useExchangeShardMutation)(),[H,V]=(0,r(_d[17]).useState)("avatar"),[E,W]=(0,r(_d[17]).useState)("all"),P=A?.shards??0;let L,M;s[0]!==T?.unlockedItems?(L=T?.unlockedItems??[],s[0]=T?.unlockedItems,s[1]=L):L=s[1];s[2]!==L?(M=new Set(L),s[2]=L,s[3]=M):M=s[3];const $=M;let Y;if(s[4]!==E||s[5]!==H||s[6]!==$){let e,t;s[8]!==E||s[9]!==H?(e=e=>e.type===H&&("all"===E||e.rarity===E),s[8]=E,s[9]=H,s[10]=e):e=s[10],s[11]!==$?(t=e=>({type:e.type,id:e.id,rarity:e.rarity,cost:r(_d[18]).SHARD_COSTS[e.rarity],isOwned:$.has(e.id)}),s[11]=$,s[12]=t):t=s[12],Y=r(_d[18]).REWARD_POOL.filter(e).map(t).sort(R),s[4]=E,s[5]=H,s[6]=$,s[7]=Y}else Y=s[7];const N=Y;let U;e:{const e=N.length%I;if(0===e){U=N;break e}let t;if(s[13]!==H||s[14]!==I||s[15]!==e){let a;s[17]!==H?(a=(e,t)=>({type:H,id:`__spacer_${t}`,rarity:"common",cost:0,isOwned:!1}),s[17]=H,s[18]=a):a=s[18],t=Array.from({length:I-e},a),s[13]=H,s[14]=I,s[15]=e,s[16]=t}else t=s[16];const a=t;let o;s[19]!==N||s[20]!==a?(o=[...N,...a],s[19]=N,s[20]=a,s[21]=o):o=s[21],U=o}const G=U;let Q;s[22]!==v?(Q=e=>{const t=(0,f.getRewardDisplayName)(e.type,e.id);l.default.alert("\u786e\u8ba4\u5151\u6362",`\u6d88\u8017 \u2726 ${e.cost} \u788e\u7247\u5151\u6362\u300c${t}\u300d\uff1f`,[{text:"\u53d6\u6d88",style:"cancel"},{text:"\u5151\u6362",onPress:()=>{v(e.id,{onSuccess:()=>{p.toast.success("\u5151\u6362\u6210\u529f",{description:`\u83b7\u5f97\u300c${t}\u300d`})},onError:t=>{t.message.includes("\u788e\u7247\u4e0d\u8db3")||t.message.includes("\u5df2\u62e5\u6709")||(r(_d[19]).gachaLog.error("Exchange failed",{rewardId:e.id,error:t}),a.captureException(t)),p.toast.error(t.message||"\u5151\u6362\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5")}})}}])},s[22]=v,s[23]=Q):Q=s[23];const F=Q;let q;s[24]!==C?(q=()=>{C.canGoBack()?C.goBack():C.navigate("Gacha")},s[24]=C,s[25]=q):q=s[25];const J=q;let K;s[26]!==F||s[27]!==z||s[28]!==P?(K=e=>{const{item:a}=e;if(a.id.startsWith("__spacer_"))return(0,r(_d[20]).jsx)(u.default,{style:j.cell});const o=r(_d[21]).RARITY_VISUAL[a.rarity],l=P>=a.cost,i=a.isOwned||!l||z;return(0,r(_d[20]).jsxs)(u.default,{style:[j.cell,{borderColor:a.isOwned?r(_d[22]).colors.border:(0,r(_d[22]).withAlpha)(o.color,.4)},a.isOwned&&j.cellOwned],children:[(0,r(_d[20]).jsx)(u.default,{style:[j.rarityDot,{backgroundColor:o.color}]}),(0,r(_d[20]).jsx)(u.default,{style:a.isOwned?j.previewDimmed:void 0,children:(0,r(_d[20]).jsx)(f.RewardPreview,{rewardType:a.type,rewardId:a.id,size:k})}),(0,r(_d[20]).jsx)(c.default,{style:j.cellName,numberOfLines:1,children:(0,f.getRewardDisplayName)(a.type,a.id)}),a.isOwned?(0,r(_d[20]).jsxs)(u.default,{style:j.ownedBadge,children:[(0,r(_d[20]).jsx)(t.default,{name:"checkmark-circle",size:12,color:r(_d[22]).colors.success}),(0,r(_d[20]).jsx)(c.default,{style:j.ownedText,children:"\u5df2\u62e5\u6709"})]}):(0,r(_d[20]).jsx)(n.default,{style:[j.exchangeButton,i&&j.exchangeButtonDisabled],onPress:()=>F(a),disabled:i,children:(0,r(_d[20]).jsxs)(c.default,{style:[j.exchangeButtonText,i&&j.exchangeButtonTextDisabled],children:["\u2726 ",a.cost]})}),!a.isOwned&&!l&&(0,r(_d[20]).jsxs)(c.default,{style:j.deficitText,children:["\u5dee ",a.cost-P]})]})},s[26]=F,s[27]=z,s[28]=P,s[29]=K):K=s[29];const X=K,Z=S,ee=D||B;let te;s[30]===Symbol.for("react.memo_cache_sentinel")?(te=["left","right"],s[30]=te):te=s[30];const ae=O.top;let re,oe,le,ie,ne,se,ce,de,ge,ue;s[31]===Symbol.for("react.memo_cache_sentinel")?(re=(0,r(_d[20]).jsx)(t.default,{name:"diamond-outline",size:14,color:r(_d[22]).colors.warning}),s[31]=re):re=s[31];s[32]!==P?(oe=P.toLocaleString(),s[32]=P,s[33]=oe):oe=s[33];s[34]!==oe?(le=(0,r(_d[20]).jsxs)(u.default,{style:j.shardBadge,children:[re,(0,r(_d[20]).jsx)(c.default,{style:j.shardCount,children:oe})]}),s[34]=oe,s[35]=le):le=s[35];s[36]!==J||s[37]!==O.top||s[38]!==le?(ie=(0,r(_d[20]).jsx)(y.ScreenHeader,{title:"\u788e\u7247\u5151\u6362",onBack:J,topInset:ae,headerRight:le}),s[36]=J,s[37]=O.top,s[38]=le,s[39]=ie):ie=s[39];s[40]!==H?(ne=b.map(e=>{const t=H===e.key;return(0,r(_d[20]).jsx)(n.default,{style:[j.tab,t&&j.tabActive],onPress:()=>V(e.key),children:(0,r(_d[20]).jsx)(c.default,{style:[j.tabText,t&&j.tabTextActive],children:e.label})},e.key)}),s[40]=H,s[41]=ne):ne=s[41];s[42]!==ne?(se=(0,r(_d[20]).jsx)(u.default,{style:j.tabBar,children:ne}),s[42]=ne,s[43]=se):se=s[43];s[44]!==E?(ce=x.map(e=>{const t=E===e.key,a="all"===e.key?r(_d[22]).colors.primary:r(_d[21]).RARITY_VISUAL[e.key].color;return(0,r(_d[20]).jsxs)(n.default,{style:[j.rarityChip,t&&{backgroundColor:(0,r(_d[22]).withAlpha)(a,.15)}],onPress:()=>W(e.key),children:["all"!==e.key&&(0,r(_d[20]).jsx)(u.default,{style:[j.rarityChipDot,{backgroundColor:r(_d[21]).RARITY_VISUAL[e.key].color}]}),(0,r(_d[20]).jsx)(c.default,{style:[j.rarityChipText,t&&{color:a,fontWeight:r(_d[22]).typography.weights.semibold}],children:e.label})]},e.key)}),s[44]=E,s[45]=ce):ce=s[45];s[46]!==ce?(de=(0,r(_d[20]).jsx)(u.default,{style:j.rarityBar,children:ce}),s[46]=ce,s[47]=de):de=s[47];s[48]!==O.bottom||s[49]!==ee||s[50]!==I||s[51]!==G||s[52]!==X?(ge=ee?(0,r(_d[20]).jsx)(u.default,{style:j.loadingContainer,children:(0,r(_d[20]).jsx)(o.default,{size:"large",color:r(_d[22]).colors.primary})}):(0,r(_d[20]).jsx)(i.default,{data:G,renderItem:X,keyExtractor:Z,numColumns:I,contentContainerStyle:[j.listContent,{paddingBottom:Math.max(O.bottom,r(_d[22]).spacing.large)}],columnWrapperStyle:j.row,showsVerticalScrollIndicator:!1},I),s[48]=O.bottom,s[49]=ee,s[50]=I,s[51]=G,s[52]=X,s[53]=ge):ge=s[53];s[54]!==ie||s[55]!==se||s[56]!==de||s[57]!==ge?(ue=(0,r(_d[20]).jsxs)(r(_d[15]).SafeAreaView,{style:j.container,edges:te,children:[ie,se,de,ge]}),s[54]=ie,s[55]=se,s[56]=de,s[57]=ge,s[58]=ue):ue=s[58];return ue};var t=e(r(_d[0])),a=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}),t.default=e,t})(r(_d[1])),o=e(r(_d[2])),l=e(r(_d[3])),i=e(r(_d[4])),n=e(r(_d[5])),s=e(r(_d[6])),c=e(r(_d[7])),d=e(r(_d[8])),u=e(r(_d[9])),p=r(_d[10]),y=r(_d[11]),h=r(_d[12]),f=r(_d[13]);const b=[{key:'avatar',label:'\u5934\u50cf'},{key:'frame',label:'\u5934\u50cf\u6846'},{key:'seatFlair',label:'\u5ea7\u4f4d'},{key:'nameStyle',label:'\u540d\u5b57'},{key:'seatAnimation',label:'\u52a8\u753b'},{key:'roleRevealEffect',label:'\u7279\u6548'}],x=[{key:'all',label:'\u5168\u90e8'},{key:'legendary',label:'\u4f20\u8bf4'},{key:'epic',label:'\u53f2\u8bd7'},{key:'rare',label:'\u7a00\u6709'},{key:'common',label:'\u666e\u901a'}];function w(e){return e>=768?5:e>=600?4:3}const k=56;function S(e){return`${e.type}-${e.id}`}function R(e,t){return e.isOwned!==t.isOwned?e.isOwned?1:-1:r(_d[21]).RARITY_ORDER.indexOf(e.rarity)-r(_d[21]).RARITY_ORDER.indexOf(t.rarity)}const j=s.default.create({container:{flex:1,backgroundColor:r(_d[22]).colors.background},loadingContainer:{flex:1,justifyContent:'center',alignItems:'center'},shardBadge:{flexDirection:'row',alignItems:'center',gap:r(_d[22]).spacing.micro,backgroundColor:(0,r(_d[22]).withAlpha)(r(_d[22]).colors.warning,.12),paddingHorizontal:r(_d[22]).spacing.small,paddingVertical:r(_d[22]).spacing.tight,borderRadius:r(_d[22]).borderRadius.full},shardCount:{fontSize:r(_d[22]).typography.caption,fontWeight:r(_d[22]).typography.weights.semibold,color:r(_d[22]).colors.warning,fontVariant:['tabular-nums']},tabBar:{flexDirection:'row',paddingHorizontal:r(_d[22]).spacing.screenH,gap:r(_d[22]).spacing.tight,paddingVertical:r(_d[22]).spacing.small},tab:{flex:1,paddingVertical:r(_d[22]).spacing.small,alignItems:'center',borderRadius:r(_d[22]).borderRadius.medium,backgroundColor:r(_d[22]).colors.surface},tabActive:{backgroundColor:r(_d[22]).colors.primary},tabText:{fontSize:r(_d[22]).typography.caption,fontWeight:r(_d[22]).typography.weights.medium,color:r(_d[22]).colors.textMuted},tabTextActive:{color:r(_d[22]).colors.textInverse,fontWeight:r(_d[22]).typography.weights.semibold},rarityBar:{flexDirection:'row',paddingHorizontal:r(_d[22]).spacing.screenH,gap:r(_d[22]).spacing.tight,paddingBottom:r(_d[22]).spacing.small},rarityChip:{flexDirection:'row',alignItems:'center',gap:r(_d[22]).spacing.micro,paddingHorizontal:r(_d[22]).spacing.small,paddingVertical:r(_d[22]).spacing.tight,borderRadius:r(_d[22]).borderRadius.full,backgroundColor:r(_d[22]).colors.surface},rarityChipDot:{width:6,height:6,borderRadius:r(_d[22]).borderRadius.full},rarityChipText:{fontSize:r(_d[22]).typography.captionSmall,color:r(_d[22]).colors.textMuted},listContent:{paddingHorizontal:r(_d[22]).spacing.screenH,paddingTop:r(_d[22]).spacing.small,gap:r(_d[22]).spacing.small},row:{gap:r(_d[22]).spacing.small},cell:Object.assign({flex:1,backgroundColor:r(_d[22]).colors.surface,borderWidth:r(_d[22]).fixed.borderWidth,borderColor:r(_d[22]).colors.border,borderRadius:r(_d[22]).borderRadius.medium,paddingVertical:r(_d[22]).spacing.small,paddingHorizontal:r(_d[22]).spacing.tight,alignItems:'center',gap:r(_d[22]).spacing.micro},r(_d[22]).shadows.sm),cellOwned:{opacity:.5},rarityDot:{width:6,height:6,borderRadius:r(_d[22]).borderRadius.full,alignSelf:'flex-start'},previewDimmed:{opacity:.4},cellName:{fontSize:r(_d[22]).typography.captionSmall,fontWeight:r(_d[22]).typography.weights.semibold,color:r(_d[22]).colors.text,textAlign:'center'},ownedBadge:{flexDirection:'row',alignItems:'center',gap:2},ownedText:{fontSize:r(_d[22]).typography.captionSmall,color:r(_d[22]).colors.success},exchangeButton:{backgroundColor:(0,r(_d[22]).withAlpha)(r(_d[22]).colors.warning,.12),paddingHorizontal:r(_d[22]).spacing.small,paddingVertical:r(_d[22]).spacing.tight,borderRadius:r(_d[22]).borderRadius.small},exchangeButtonDisabled:{opacity:.4},exchangeButtonText:{fontSize:r(_d[22]).typography.captionSmall,fontWeight:r(_d[22]).typography.weights.bold,color:r(_d[22]).colors.warning},exchangeButtonTextDisabled:{color:r(_d[22]).colors.textMuted},deficitText:{fontSize:r(_d[22]).typography.captionSmall,color:r(_d[22]).colors.error}})},2202,[1013,119,602,580,489,603,38,549,1046,459,599,1467,1930,1941,1092,1006,1859,36,1126,1061,700,1470,1098]);
2469
2469
  __d(function(g,_r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"UnlocksScreen",{enumerable:!0,get:function(){return h}});var t=e(_r(d[0])),r=e(_r(d[1])),o=e(_r(d[2])),l=e(_r(d[3])),s=e(_r(d[4])),n=e(_r(d[5])),c=_r(d[6]),u=_r(d[7]),p=_r(d[8]);const y=[{key:'all',label:'\u5168\u90e8'},..._r(d[9]).RARITY_ORDER.map(e=>({key:e,label:_r(d[9]).RARITY_VISUAL[e].label}))],h=()=>{const e=(0,_r(d[10]).c)(52),l=(0,_r(d[11]).useSafeAreaInsets)(),u=(0,_r(d[12]).useNavigation)(),h=(0,_r(d[12]).useRoute)(),j=h.params?.userId,R=h.params?.displayName;let T;e[0]!==j?(T={viewingUserId:j},e[0]=j,e[1]=T):T=e[1];const{activeTab:w,rarityFilter:k,setRarityFilter:C,loading:S,isViewer:B,paddedItems:I,numColumns:A,unlockedCount:v,totalCount:H,progressPercent:_,handleTabChange:z}=(0,p.useUnlocksScreenState)(T);let D;e[2]!==u?(D=()=>u.goBack(),e[2]=u,e[3]=D):D=e[3];const V=D,W=f,$=x;let O,P,U;e[4]!==v?(O=(0,_r(d[13]).jsx)(s.default,{style:b.progressNumber,children:v}),e[4]=v,e[5]=O):O=e[5],e[6]!==H?(P=(0,_r(d[13]).jsxs)(s.default,{style:b.progressDenom,children:["/",H]}),e[6]=H,e[7]=P):P=e[7],e[8]!==O||e[9]!==P?(U=(0,_r(d[13]).jsx)(n.default,{style:b.progressRing,children:(0,_r(d[13]).jsxs)(n.default,{style:b.progressRingInner,children:[O,P]})}),e[8]=O,e[9]=P,e[10]=U):U=e[10];const F=B?"TA\u7684\u6536\u85cf":"\u6536\u85cf\u8fdb\u5ea6";let M;e[11]!==F?(M=(0,_r(d[13]).jsx)(s.default,{style:b.summaryTitle,children:F}),e[11]=F,e[12]=M):M=e[12];const N=`${_}%`;let L;e[13]!==N?(L=(0,_r(d[13]).jsx)(n.default,{style:b.summaryBarBg,children:(0,_r(d[13]).jsx)(n.default,{style:[b.summaryBarFill,{width:N}]})}),e[13]=N,e[14]=L):L=e[14];const Y=B?`\u5df2\u6536\u96c6 ${_}%`:`\u5df2\u6536\u96c6 ${_}%\uff0c\u7ee7\u7eed\u6e38\u73a9\u89e3\u9501\u66f4\u591a`;let E,G,q,J,K,Q,X,Z;e[15]!==Y?(E=(0,_r(d[13]).jsx)(s.default,{style:b.summarySubtitle,children:Y}),e[15]=Y,e[16]=E):E=e[16],e[17]!==E||e[18]!==M||e[19]!==L?(G=(0,_r(d[13]).jsxs)(n.default,{style:b.summaryRight,children:[M,L,E]}),e[17]=E,e[18]=M,e[19]=L,e[20]=G):G=e[20],e[21]!==G||e[22]!==U?(q=(0,_r(d[13]).jsxs)(n.default,{style:b.summaryCard,children:[U,G]}),e[21]=G,e[22]=U,e[23]=q):q=e[23],e[24]!==w||e[25]!==z?(J=p.TABS.map(e=>{const t=e.key===w;return(0,_r(d[13]).jsx)(o.default,{style:[b.tab,t&&b.tabActive],onPress:()=>z(e.key),children:(0,_r(d[13]).jsx)(s.default,{style:[b.tabText,t&&b.tabTextActive],children:e.label})},e.key)}),e[24]=w,e[25]=z,e[26]=J):J=e[26],e[27]!==J?(K=(0,_r(d[13]).jsx)(n.default,{style:b.tabBar,children:J}),e[27]=J,e[28]=K):K=e[28],e[29]!==k||e[30]!==C?(Q=y.map(e=>{const t=e.key===k,r="all"!==e.key?_r(d[9]).RARITY_VISUAL[e.key]:null,l=r?.color??_r(d[14]).colors.primary,n=r?.chipShadow??`0px 2px 8px ${(0,_r(d[14]).withAlpha)(_r(d[14]).colors.primary,.3)}`;return(0,_r(d[13]).jsx)(o.default,{style:[b.rarityTab,t&&{backgroundColor:l,boxShadow:n}],onPress:()=>C(e.key),children:(0,_r(d[13]).jsx)(s.default,{style:[b.rarityTabText,t&&b.rarityTabTextActive],children:e.label})},e.key)}),e[29]=k,e[30]=C,e[31]=Q):Q=e[31],e[32]!==Q?(X=(0,_r(d[13]).jsx)(n.default,{style:b.rarityTabBar,children:Q}),e[32]=Q,e[33]=X):X=e[33],e[34]!==q||e[35]!==K||e[36]!==X?(Z=(0,_r(d[13]).jsxs)(_r(d[13]).Fragment,{children:[q,K,X]}),e[34]=q,e[35]=K,e[36]=X,e[37]=Z):Z=e[37];const ee=Z;let te;e[38]===Symbol.for("react.memo_cache_sentinel")?(te=["left","right"],e[38]=te):te=e[38];const re=B?`${R??"TA"}\u7684\u6536\u85cf`:"\u89e3\u9501\u4e00\u89c8";let oe,ae,ie;return e[39]!==V||e[40]!==l.top||e[41]!==re?(oe=(0,_r(d[13]).jsx)(c.ScreenHeader,{title:re,onBack:V,topInset:l.top}),e[39]=V,e[40]=l.top,e[41]=re,e[42]=oe):oe=e[42],e[43]!==l.bottom||e[44]!==ee||e[45]!==S||e[46]!==A||e[47]!==I?(ae=S?(0,_r(d[13]).jsx)(n.default,{style:b.loadingContainer,children:(0,_r(d[13]).jsx)(t.default,{size:"large",color:_r(d[14]).colors.primary})}):(0,_r(d[13]).jsx)(r.default,{data:I,renderItem:W,keyExtractor:$,numColumns:A,ListHeaderComponent:ee,contentContainerStyle:[b.listContent,l.bottom>0&&{paddingBottom:_r(d[14]).spacing.xxlarge+l.bottom}],showsVerticalScrollIndicator:!1,initialNumToRender:12,maxToRenderPerBatch:8,windowSize:5},A),e[43]=l.bottom,e[44]=ee,e[45]=S,e[46]=A,e[47]=I,e[48]=ae):ae=e[48],e[49]!==oe||e[50]!==ae?(ie=(0,_r(d[13]).jsxs)(_r(d[11]).SafeAreaView,{style:b.container,edges:te,children:[oe,ae]}),e[49]=oe,e[50]=ae,e[51]=ie):ie=e[51],ie},b=l.default.create({container:{flex:1,backgroundColor:_r(d[14]).colors.transparent,overflow:'hidden'},loadingContainer:{flex:1,justifyContent:'center',alignItems:'center'},listContent:{flexGrow:1,padding:_r(d[14]).spacing.screenH,paddingBottom:_r(d[14]).spacing.xxlarge},cell:{flex:1,alignItems:'center',marginBottom:_r(d[14]).spacing.medium},summaryCard:Object.assign({flexDirection:'row',alignItems:'center',backgroundColor:_r(d[14]).colors.surface,borderRadius:_r(d[14]).borderRadius.large,padding:_r(d[14]).spacing.medium,marginBottom:_r(d[14]).spacing.large,gap:_r(d[14]).spacing.medium},_r(d[14]).shadows.md),progressRing:{width:64,height:64,borderRadius:32,borderWidth:4,borderColor:_r(d[14]).colors.primary,justifyContent:'center',alignItems:'center',backgroundColor:(0,_r(d[14]).withAlpha)(_r(d[14]).colors.primary,.06)},progressRingInner:{flexDirection:'row',alignItems:'baseline'},progressNumber:{fontSize:_r(d[14]).typography.title,lineHeight:_r(d[14]).typography.lineHeights.title,fontWeight:_r(d[14]).typography.weights.bold,color:_r(d[14]).colors.primary},progressDenom:{fontSize:_r(d[14]).typography.caption,lineHeight:_r(d[14]).typography.lineHeights.caption,color:_r(d[14]).colors.textMuted},summaryRight:{flex:1},summaryTitle:{fontSize:_r(d[14]).typography.body,lineHeight:_r(d[14]).typography.lineHeights.body,fontWeight:_r(d[14]).typography.weights.semibold,color:_r(d[14]).colors.text,marginBottom:_r(d[14]).spacing.tight},summaryBarBg:{height:10,backgroundColor:(0,_r(d[14]).withAlpha)(_r(d[14]).colors.primary,.08),borderRadius:_r(d[14]).borderRadius.full,overflow:'hidden',marginBottom:_r(d[14]).spacing.tight},summaryBarFill:{height:'100%',backgroundColor:_r(d[14]).colors.primaryLight,borderRadius:_r(d[14]).borderRadius.full},summarySubtitle:{fontSize:_r(d[14]).typography.captionSmall,lineHeight:_r(d[14]).typography.lineHeights.caption,color:_r(d[14]).colors.textMuted},tabBar:Object.assign({flexDirection:'row',backgroundColor:_r(d[14]).colors.surface,borderRadius:_r(d[14]).borderRadius.large,padding:_r(d[14]).spacing.tight,marginBottom:_r(d[14]).spacing.medium,gap:_r(d[14]).spacing.tight},_r(d[14]).shadows.sm),tab:{flex:1,paddingVertical:_r(d[14]).spacing.small,borderRadius:_r(d[14]).borderRadius.medium,alignItems:'center'},tabActive:{backgroundColor:_r(d[14]).colors.primary},tabText:{fontSize:_r(d[14]).typography.body,lineHeight:_r(d[14]).typography.lineHeights.body,fontWeight:_r(d[14]).typography.weights.semibold,color:_r(d[14]).colors.textSecondary},tabTextActive:{color:_r(d[14]).colors.textInverse},rarityTabBar:{flexDirection:'row',marginBottom:_r(d[14]).spacing.medium,gap:_r(d[14]).spacing.tight},rarityTab:{paddingVertical:_r(d[14]).spacing.tight,paddingHorizontal:_r(d[14]).spacing.small,borderRadius:_r(d[14]).borderRadius.full},rarityTabText:Object.assign({},_r(d[14]).textStyles.caption,{fontWeight:_r(d[14]).typography.weights.medium,color:_r(d[14]).colors.textMuted}),rarityTabTextActive:{color:_r(d[14]).colors.textInverse,fontWeight:_r(d[14]).typography.weights.semibold}});function f(e){const{item:t}=e;return t.id.startsWith("__spacer_")?(0,_r(d[13]).jsx)(n.default,{style:b.cell}):(0,_r(d[13]).jsx)(u.UnlockCell,{item:t})}function x(e){return`${e.type}-${e.id}`}},2203,[602,489,603,38,549,459,1467,2204,2205,1470,1092,1006,1704,700,1098]);
@@ -2484,7 +2484,7 @@ __d(function(g,r,_i,a,m,e,d){function n(){const n={},t=Object.keys(r(d[0]));for(
2484
2484
  __d(function(_g,_r,_i,_a,m,e,d){var r=Object.hasOwnProperty,t=Object.create(null);for(var a in _r(d[0]))r.call(_r(d[0]),a)&&(t[_r(d[0])[a]]=a);var n=m.exports={to:{},get:{}};function s(r,t,a){return Math.min(Math.max(t,r),a)}function o(r){var t=Math.round(r).toString(16).toUpperCase();return t.length<2?'0'+t:t}n.get=function(r){var t,a;switch(r.substring(0,3).toLowerCase()){case'hsl':t=n.get.hsl(r),a='hsl';break;case'hwb':t=n.get.hwb(r),a='hwb';break;default:t=n.get.rgb(r),a='rgb'}return t?{model:a,value:t}:null},n.get.rgb=function(t){if(!t)return null;var a,n,o,l=[0,0,0,1];if(a=t.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(o=a[2],a=a[1],n=0;n<3;n++){var u=2*n;l[n]=parseInt(a.slice(u,u+2),16)}o&&(l[3]=parseInt(o,16)/255)}else if(a=t.match(/^#([a-f0-9]{3,4})$/i)){for(o=(a=a[1])[3],n=0;n<3;n++)l[n]=parseInt(a[n]+a[n],16);o&&(l[3]=parseInt(o+o,16)/255)}else if(a=t.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(n=0;n<3;n++)l[n]=parseInt(a[n+1],0);a[4]&&(a[5]?l[3]=.01*parseFloat(a[4]):l[3]=parseFloat(a[4]))}else{if(!(a=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(a=t.match(/^(\w+)$/))?'transparent'===a[1]?[0,0,0,0]:r.call(_r(d[0]),a[1])?((l=_r(d[0])[a[1]])[3]=1,l):null:null;for(n=0;n<3;n++)l[n]=Math.round(2.55*parseFloat(a[n+1]));a[4]&&(a[5]?l[3]=.01*parseFloat(a[4]):l[3]=parseFloat(a[4]))}for(n=0;n<3;n++)l[n]=s(l[n],0,255);return l[3]=s(l[3],0,1),l},n.get.hsl=function(r){if(!r)return null;var t=r.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,s(parseFloat(t[2]),0,100),s(parseFloat(t[3]),0,100),s(isNaN(a)?1:a,0,1)]}return null},n.get.hwb=function(r){if(!r)return null;var t=r.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,s(parseFloat(t[2]),0,100),s(parseFloat(t[3]),0,100),s(isNaN(a)?1:a,0,1)]}return null},n.to.hex=function(){var r=_r(d[1])(arguments);return'#'+o(r[0])+o(r[1])+o(r[2])+(r[3]<1?o(Math.round(255*r[3])):'')},n.to.rgb=function(){var r=_r(d[1])(arguments);return r.length<4||1===r[3]?'rgb('+Math.round(r[0])+', '+Math.round(r[1])+', '+Math.round(r[2])+')':'rgba('+Math.round(r[0])+', '+Math.round(r[1])+', '+Math.round(r[2])+', '+r[3]+')'},n.to.rgb.percent=function(){var r=_r(d[1])(arguments),t=Math.round(r[0]/255*100),a=Math.round(r[1]/255*100),n=Math.round(r[2]/255*100);return r.length<4||1===r[3]?'rgb('+t+'%, '+a+'%, '+n+'%)':'rgba('+t+'%, '+a+'%, '+n+'%, '+r[3]+')'},n.to.hsl=function(){var r=_r(d[1])(arguments);return r.length<4||1===r[3]?'hsl('+r[0]+', '+r[1]+'%, '+r[2]+'%)':'hsla('+r[0]+', '+r[1]+'%, '+r[2]+'%, '+r[3]+')'},n.to.hwb=function(){var r=_r(d[1])(arguments),t='';return r.length>=4&&1!==r[3]&&(t=', '+r[3]),'hwb('+r[0]+', '+r[1]+'%, '+r[2]+'%'+t+')'},n.to.keyword=function(r){return t[r.slice(0,3)]}},2218,[2216,2219]);
2485
2485
  __d(function(g,r,_i,a,m,e,d){'use strict';var t=Array.prototype.concat,n=Array.prototype.slice,o=m.exports=function(o){for(var c=[],u=0,p=o.length;u<p;u++){var i=o[u];r(d[0])(i)?c=t.call(c,n.call(i)):c.push(i)}return c};o.wrap=function(t){return function(){return t(o(arguments))}}},2219,[2220]);
2486
2486
  __d(function(g,r,i,a,m,e,d){m.exports=function(n){return!(!n||'string'==typeof n)&&(n instanceof Array||Array.isArray(n)||n.length>=0&&(n.splice instanceof Function||Object.getOwnPropertyDescriptor(n,n.length-1)&&'String'!==n.constructor.name))}},2220,[]);
2487
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/node_modules/@react-navigation/elements/lib/module/assets/search-icon.286d67d3f74808a60a78d3ebf1a5fb57.png",width:96,height:96,toString(){return this.uri}}},2221,[]);
2487
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/node_modules/@react-navigation/elements/lib/module/assets/search-icon.286d67d3f74808a60a78d3ebf1a5fb57.png",width:96,height:96,toString(){return this.uri}}},2221,[]);
2488
2488
  __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useFrameSize=function(e,n){const o=t.useContext(u);if(null==o)throw new Error('useFrameSize must be used within a FrameSizeProvider');return(0,r(_d[2]).useSyncExternalStoreWithSelector)(n?o.subscribeThrottled:o.subscribe,o.getCurrent,o.getCurrent,e)},_e.FrameSizeProvider=function({initialFrame:e,render:c}){const s=t.useRef({width:e.width,height:e.height}),h=t.useRef(new Set),d=(0,n.default)(()=>s.current),l=(0,n.default)(e=>(h.current.add(e),()=>{h.current.delete(e)})),f=(0,n.default)(e=>{let t,n=!1,u=!1;const o=l(()=>{clearTimeout(t),n=!0,u?t=setTimeout(()=>{n&&(n=!1,e())},100):(u=!0,setTimeout(function(){u=!1},100),n=!1,e())});return()=>{o(),clearTimeout(t)}}),b=t.useMemo(()=>({getCurrent:d,subscribe:l,subscribeThrottled:f}),[l,f,d]),w=(0,n.default)(e=>{s.current.height===e.height&&s.current.width===e.width||(s.current={width:e.width,height:e.height},h.current.forEach(e=>e()))}),v=t.useRef(null);t.useEffect(()=>{},[w]);return(0,r(_d[3]).jsxs)(u.Provider,{value:b,children:[(0,r(_d[3]).jsx)(o,{onChange:w}),c({ref:v,onLayout:e=>{const{width:t,height:n}=e.nativeEvent.layout;w({width:t,height:n})}})]})};var e,t=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0])),n=(e=r(_d[1]))&&e.__esModule?e:{default:e};const u=t.createContext(void 0);function o({onChange:e}){const n=t.useRef(null);return t.useEffect(()=>{if(null==n.current)return;const t=n.current.getBoundingClientRect();e({width:t.width,height:t.height});const u=new ResizeObserver(t=>{const n=t[0];if(n){const{width:t,height:u}=n.contentRect;e({width:t,height:u})}});return u.observe(n.current),()=>{u.disconnect()}},[e]),(0,r(_d[3]).jsx)("div",{ref:n,style:{position:'absolute',left:0,right:0,top:0,bottom:0,pointerEvents:'none',visibility:'hidden'}})}},2222,[36,1707,2223,700]);
2489
2489
  __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},2223,[2224]);
2490
2490
  __d(function(g,r,i,a,m,e,d){
@@ -2501,8 +2501,8 @@ __d(function(g,r,i,a,m,e,d){
2501
2501
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HeaderShownContext",{enumerable:!0,get:function(){return t}});const t=(0,r(d[0]).getNamedContext)('HeaderShownContext',!1)},2225,[2226]);
2502
2502
  __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getNamedContext=function(n,o){let c=globalThis[t].get(n);if(c)return c;return c=e.createContext(o),c.displayName=n,globalThis[t].set(n,c),c};var e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0]));const t='__react_navigation__elements_contexts';globalThis[t]=globalThis[t]??new Map},2226,[36]);
2503
2503
  __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.HeaderBackButton=function({disabled:e,allowFontScaling:l,backImage:d,label:f,labelStyle:b,displayMode:y="minimal",onLabelLayout:h,onPress:p,pressColor:x,pressOpacity:L,screenLayout:j,tintColor:O,titleLayout:k,truncatedLabel:w="Back",accessibilityLabel:C=(f&&'Back'!==f?`${f}, back`:'Go back'),testID:_,style:I,href:M}){const{colors:S,fonts:v}=(0,r(_d[7]).useTheme)(),{direction:W}=(0,r(_d[7]).useLocale)(),[B,D]=t.useState(null),[E,F]=t.useState(null);return(0,r(_d[8]).jsx)(r(_d[11]).HeaderButton,{disabled:e,href:M,accessibilityLabel:C,testID:_,onPress:()=>{p&&requestAnimationFrame(()=>p())},pressColor:x,pressOpacity:L,style:[u.container,I],children:(0,r(_d[8]).jsxs)(t.Fragment,{children:[d?d({tintColor:O??S.text}):(0,r(_d[8]).jsx)(r(_d[9]).HeaderIcon,{source:s.default,tintColor:O,style:[u.icon,'minimal'!==y&&u.iconWithLabel]}),(()=>{if('minimal'===y)return null;const e=k&&j?(j.width-k.width)/2-(c+r(_d[9]).ICON_MARGIN):null,t='default'===y?f:w,s=e&&B&&E?e>B?t:e>E?w:null:t,d=[v.regular,u.label,b],p=[d,{position:'absolute',top:0,left:0,opacity:0}];return(0,r(_d[8]).jsxs)(o.default,{style:u.labelWrapper,children:[f&&'default'===y?(0,r(_d[8]).jsx)(n.default.Text,{style:p,numberOfLines:1,onLayout:e=>D(e.nativeEvent.layout.width),children:f}):null,w?(0,r(_d[8]).jsx)(n.default.Text,{style:p,numberOfLines:1,onLayout:e=>F(e.nativeEvent.layout.width),children:w}):null,s?(0,r(_d[8]).jsx)(n.default.Text,{accessible:!1,onLayout:h,style:[O?{color:O}:null,d],numberOfLines:1,allowFontScaling:!!l,children:s}):null]})})()]})})};var t=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0])),n=e(r(_d[1])),l=(e(r(_d[2])),e(r(_d[3]))),o=e(r(_d[4])),s=e(r(_d[5]));e(r(_d[6]));const c=24,u=l.default.create({container:Object.assign({paddingHorizontal:0,minWidth:l.default.hairlineWidth},{marginVertical:3,marginHorizontal:11}),label:{fontSize:17,letterSpacing:.35},labelWrapper:{flexDirection:'row',alignItems:'flex-start',marginEnd:r(_d[9]).ICON_MARGIN},icon:{width:c,marginEnd:3},iconWithLabel:{},iconMaskContainer:{flex:1,flexDirection:'row',justifyContent:'center'},iconMaskFillerRect:{flex:1,backgroundColor:'#000'},iconMask:{height:21,width:13,marginStart:-14.5,marginVertical:12,alignSelf:'center'},flip:{transform:'scaleX(-1)'}})},2227,[36,486,539,38,459,2228,2229,1704,700,2230,2231,2232]);
2504
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/node_modules/@react-navigation/elements/lib/module/assets/back-icon.35ba0eaec5a4f5ed12ca16fabeae451d.png",width:96,height:96,toString(){return this.uri}}},2228,[]);
2505
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/node_modules/@react-navigation/elements/lib/module/assets/back-icon-mask.0a328cd9c1afd0afe8e3b1ec5165b1b4.png",width:50,height:85,toString(){return this.uri}}},2229,[]);
2504
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/node_modules/@react-navigation/elements/lib/module/assets/back-icon.35ba0eaec5a4f5ed12ca16fabeae451d.png",width:96,height:96,toString(){return this.uri}}},2228,[]);
2505
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/node_modules/@react-navigation/elements/lib/module/assets/back-icon-mask.0a328cd9c1afd0afe8e3b1ec5165b1b4.png",width:50,height:85,toString(){return this.uri}}},2229,[]);
2506
2506
  __d(function(g,r,i,a,m,_e,d){"use strict";const e=["source","style"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.HeaderIcon=function(t){let{source:c,style:u}=t,s=(0,n.default)(t,e);const{colors:f}=(0,r(d[3]).useTheme)(),{direction:_}=(0,r(d[3]).useLocale)();return(0,r(d[4]).jsx)(o.default,Object.assign({source:c,resizeMode:"contain",fadeDuration:0,tintColor:f.text,style:[l.icon,'rtl'===_&&l.flip,u]},s))},Object.defineProperty(_e,"ICON_SIZE",{enumerable:!0,get:function(){return u}}),Object.defineProperty(_e,"ICON_MARGIN",{enumerable:!0,get:function(){return s}});var n=t(r(d[0])),o=t(r(d[1])),c=t(r(d[2]));const u=24,s=3,l=c.default.create({icon:{width:u,height:u,margin:s},flip:{transform:'scaleX(-1)'}})},2230,[44,539,38,1704,700]);
2507
2507
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.MaskedView=function({children:n}){return n}},2231,[]);
2508
2508
  __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"HeaderButton",{enumerable:!0,get:function(){return s}});var e,t=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[0])),o=(e=r(_d[1]))&&e.__esModule?e:{default:e};function n({disabled:e,onPress:t,pressColor:o,pressOpacity:n,accessibilityLabel:s,testID:c,style:u,href:f,children:b},p){return(0,r(_d[2]).jsx)(r(_d[3]).PlatformPressable,{ref:p,disabled:e,href:f,"aria-label":s,testID:c,onPress:t,pressColor:o,pressOpacity:n,android_ripple:d,style:[l.container,e&&l.disabled,u],hitSlop:{top:16,right:16,bottom:16,left:16},children:b})}const s=t.forwardRef(n);s.displayName='HeaderButton';const d={borderless:!0,foreground:!1,radius:20},l=o.default.create({container:{flexDirection:'row',alignItems:'center',paddingHorizontal:8,borderRadius:10,borderCurve:'continuous'},disabled:{opacity:.5}})},2232,[36,38,700,2233]);
@@ -2532,8 +2532,8 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
2532
2532
  __d(function(g,r,i,a,m,_e,d){"use strict";const e=["tintColor","style"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.HeaderTitle=function(t){let{tintColor:s,style:u}=t,c=(0,l.default)(t,e);const{colors:f,fonts:_}=(0,r(d[3]).useTheme)();return(0,r(d[4]).jsx)(o.default.Text,Object.assign({role:"heading","aria-level":"1",numberOfLines:1},c,{style:[{color:void 0===s?f.text:s},_.medium,n.title,u]}))};var l=t(r(d[0])),o=t(r(d[1]));const n=t(r(d[2])).default.create({title:{fontSize:18}})},2235,[44,486,38,1704,700]);
2533
2533
  __d(function(g,r,i,a,m,_e,d){"use strict";const e=["style"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.HeaderBackground=function(t){let{style:s}=t,l=(0,o.default)(t,e);const{colors:u,dark:f}=(0,r(d[3]).useTheme)();return(0,r(d[4]).jsx)(n.default.View,Object.assign({style:[c.container,Object.assign({backgroundColor:u.card,borderBottomColor:u.border},!1),s]},l))};var o=t(r(d[0])),n=t(r(d[1])),s=t(r(d[2]));const c=s.default.create({container:Object.assign({flex:1},{borderBottomWidth:s.default.hairlineWidth})})},2236,[44,486,38,1704,700]);
2534
2534
  __d(function(g,r,i,a,m,_e,_d){"use strict";const e=["visible","inputType","autoFocus","autoCapitalize","placeholder","cancelButtonText","enterKeyHint","onChangeText","onClose","tintColor","style"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"HeaderSearchBar",{enumerable:!0,get:function(){return x}});var n=t(r(_d[0])),o=t(r(_d[1])),l=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),u=t(r(_d[3])),c=t(r(_d[4])),s=t(r(_d[5])),f=t(r(_d[6]));r(_d[7]);var d=t(r(_d[8])),p=t(r(_d[9]));const h={text:'text',number:'numeric',phone:'tel',email:'email'},b=!1;function y(t,c){let{visible:y,inputType:x,autoFocus:v=!0,autoCapitalize:j,placeholder:T="Search",cancelButtonText:S="Cancel",enterKeyHint:B="search",onChangeText:H,onClose:O,tintColor:_,style:w}=t,z=(0,n.default)(t,e);const I=(0,r(_d[10]).useNavigation)(),{dark:k,colors:E,fonts:P}=(0,r(_d[10]).useTheme)(),[D,R]=l.useState(''),[V,M]=l.useState(y),[N]=l.useState(()=>new u.default.Value(y?1:0)),[F]=l.useState(()=>new u.default.Value(0)),K=l.useRef(y),A=l.useRef(!1),L=l.useRef(null);l.useEffect(()=>{if(y!==K.current)return u.default.timing(N,{toValue:y?1:0,duration:100,useNativeDriver:b}).start(({finished:e})=>{e&&(M(y),K.current=y)}),()=>{N.stopAnimation()}},[y,N]);const W=''!==D;l.useEffect(()=>{A.current!==W&&u.default.timing(F,{toValue:W?1:0,duration:100,useNativeDriver:b}).start(({finished:e})=>{e&&(A.current=W)})},[F,W]);const q=l.useCallback(()=>{L.current?.clear(),L.current?.focus(),R('')},[]),G=l.useCallback(()=>{q(),H?.({nativeEvent:{text:''}})},[q,H]),J=l.useCallback(()=>{G(),O()},[G,O]);if(l.useEffect(()=>I?.addListener('blur',J),[J,I]),l.useImperativeHandle(c,()=>({focus:()=>{L.current?.focus()},blur:()=>{L.current?.blur()},setText:e=>{L.current?.setNativeProps({text:e}),R(e)},clearText:q,cancelSearch:J}),[J,q]),!y&&!V)return null;const Q=_??E.text;return(0,r(_d[11]).jsxs)(u.default.View,{pointerEvents:y?'auto':'none',"aria-live":"polite","aria-hidden":!y,style:[C.container,{opacity:N},w],children:[(0,r(_d[11]).jsxs)(f.default,{style:C.searchbarContainer,children:[(0,r(_d[11]).jsx)(r(_d[12]).HeaderIcon,{source:p.default,tintColor:Q,style:C.inputSearchIcon}),(0,r(_d[11]).jsx)(s.default,Object.assign({},z,{ref:L,onChange:H,onChangeText:R,autoFocus:v,autoCapitalize:'systemDefault'===j?void 0:j,inputMode:h[x??'text'],enterKeyHint:B,placeholder:T,placeholderTextColor:(0,o.default)(Q).alpha(.5).string(),cursorColor:E.primary,selectionHandleColor:E.primary,selectionColor:(0,o.default)(E.primary).alpha(.3).string(),style:[P.regular,C.searchbar,{backgroundColor:'transparent',color:Q,borderBottomColor:(0,o.default)(Q).alpha(.2).string()}]})),null]}),(0,r(_d[11]).jsx)(r(_d[13]).HeaderButton,{onPress:()=>{D?G():O()},style:C.closeButton,children:(0,r(_d[11]).jsx)(r(_d[12]).HeaderIcon,{source:d.default,tintColor:Q})}),null]})}const C=c.default.create({container:{flex:1,flexDirection:'row',alignItems:'stretch'},inputSearchIcon:Object.assign({position:'absolute',opacity:.5,left:4,top:17},{}),closeButton:{position:'absolute',opacity:.5,right:8,top:17},clearButton:{position:'absolute',right:0,top:-7,bottom:0,justifyContent:'center',padding:8},clearIcon:{height:16,width:16,opacity:.5},cancelButton:{alignSelf:'center',top:-4},cancelText:{fontSize:17,marginHorizontal:12},searchbarContainer:{flex:1},searchbar:{flex:1,fontSize:18,paddingHorizontal:36,marginRight:8,marginTop:8,marginBottom:8,borderBottomWidth:1}}),x=l.forwardRef(y)},2237,[44,2213,36,486,38,594,459,2238,2239,2221,1704,700,2230,2232]);
2535
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55.png",width:64,height:64,toString(){return this.uri}}},2238,[]);
2536
- __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e15760ce/files/assets/node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7.png",width:96,height:96,toString(){return this.uri}}},2239,[]);
2535
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55.png",width:64,height:64,toString(){return this.uri}}},2238,[]);
2536
+ __d(function(g,r,i,a,m,e,d){m.exports={uri:"https://cdn.npmmirror.com/packages/werewolf-judge-cdn/0.0.0-e1b6edfb/files/assets/node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7.png",width:96,height:96,toString(){return this.uri}}},2239,[]);
2537
2537
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HeaderBackContext",{enumerable:!0,get:function(){return t}});const t=(0,r(d[0]).getNamedContext)('HeaderBackContext',void 0)},2240,[2226]);
2538
2538
  __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useHeaderHeight=function(){const t=e.useContext(r(_d[1]).HeaderHeightContext);if(void 0===t)throw new Error("Couldn't find the header height. Are you inside a screen in a navigator with a header?");return t};var e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0]))},2241,[36,2242]);
2539
2539
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HeaderHeightContext",{enumerable:!0,get:function(){return t}});const t=(0,r(d[0]).getNamedContext)('HeaderHeightContext',void 0)},2242,[2226]);
@@ -2543,50 +2543,50 @@ __d(function(g,r,i,a,m,_e,d){"use strict";const e=["style"];function t(e){return
2543
2543
  __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AnimatedHeaderHeightContext",{enumerable:!0,get:function(){return e}});const e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0])).createContext(void 0)},2246,[36]);
2544
2544
  __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"reactNavigationIntegration",{enumerable:!0,get:function(){return e}}),_e.getSentryIntegrations=function(){const t=[e];return t.push((0,r(_d[1]).browserTracingIntegration)()),t};const e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0])).reactNavigationIntegration({enableTimeToInitialDisplay:!0})},2247,[119,259]);
2545
2545
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"navigationRef",{enumerable:!0,get:function(){return t}});const t=(0,r(d[0]).createNavigationContainerRef)()},2248,[1704]);
2546
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createAllServices=function(){const n=new(r(d[1]).CFAuthService),o=new(r(d[2]).CFRoomService),c=new(r(d[3]).SettingsService),S=new t.AudioService,s=new(r(d[4]).CFStorageService),v=new(r(d[5]).GameStore),l=new(r(d[6]).CFRealtimeService),u=new(r(d[7]).ConnectionManager)({transport:l,fetchStateFromDB:async t=>o.getGameState(t),getStateRevision:async t=>o.getStateRevision(t),onStateUpdate:(t,n,o)=>v.applySnapshot(t,n,o),onFetchedState:(t,n)=>v.applySnapshot(t,n),onSettleResult:t=>w.handleSettleResult(t)}),p={authService:n,roomService:o,settingsService:c,audioService:S,avatarUploadService:s},w=new(r(d[8]).GameFacade)({store:v,connectionManager:u,audioService:S,roomService:o});return r(d[9]).log.info('[init] All services created'),{services:p,facade:w}};var t=r(d[0])},2249,[2250,2268,2270,2272,2273,2274,2277,2278,2281,1061]);
2547
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AudioService",{enumerable:!0,get:function(){return p}});var t=e(r(_d[0])),n=e(r(_d[1])),o=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),u=r(_d[3]),d=r(_d[4]);r(_d[5]);var l=(0,n.default)("strategy"),s=(0,n.default)("bgm"),f=(0,n.default)("visibilityHandler"),c=(0,n.default)("initAudio");class p{constructor(){Object.defineProperty(this,c,{value:y}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,s,{writable:!0,value:void 0}),Object.defineProperty(this,f,{writable:!0,value:null}),(0,t.default)(this,l)[l]=new(r(_d[6]).WebAudioStrategy),(0,t.default)(this,s)[s]=new d.BgmPlayer,(0,r(_d[7]).setupWebAudioUnlock)(),(0,t.default)(this,c)[c]()}async playNightAudio(){return(0,t.default)(this,l)[l].play(r(_d[8]).NIGHT_AUDIO,'night')}async playNightBeginAudio(){return this.playNightAudio()}async playNightEndAudio(){return(0,t.default)(this,l)[l].play(r(_d[8]).NIGHT_END_AUDIO,'night_end')}async playRoleBeginningAudio(e){const n=r(_d[8]).AUDIO_REGISTRY[e],o=n?.begin??r(_d[8]).SEER_LABEL_AUDIO[e]??r(_d[8]).STEP_AUDIO[e]?.begin;if(o)return r(_d[9]).audioLog.debug('playRoleBeginningAudio: playing audio',{role:e}),(0,t.default)(this,l)[l].play(o,`role_begin_${e}`);r(_d[9]).audioLog.debug('playRoleBeginningAudio: no audio file, skipping',{role:e})}async playRoleEndingAudio(e){const n=r(_d[8]).AUDIO_REGISTRY[e],o=n?.end??r(_d[8]).SEER_LABEL_AUDIO_END[e]??r(_d[8]).STEP_AUDIO[e]?.end;if(o)return r(_d[9]).audioLog.debug('playRoleEndingAudio: playing audio',{role:e}),(0,t.default)(this,l)[l].play(o,`role_end_${e}`);r(_d[9]).audioLog.debug('playRoleEndingAudio: no audio file, skipping',{role:e})}getBeginningAudio(e){return r(_d[8]).AUDIO_REGISTRY[e]?.begin??null}getEndingAudio(e){return r(_d[8]).AUDIO_REGISTRY[e]?.end??null}stop(){(0,t.default)(this,l)[l].stop()}getIsPlaying(){return(0,t.default)(this,l)[l].getIsPlaying()}cleanup(){r(_d[9]).audioLog.debug('cleanup: stopping all audio'),(0,t.default)(this,l)[l].cleanup(),(0,t.default)(this,s)[s].stop(),(0,t.default)(this,f)[f]&&'undefined'!=typeof document&&(document.removeEventListener('visibilitychange',(0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null)}async startBgm(e){return(0,t.default)(this,s)[s].start(e)}stopBgm(){(0,t.default)(this,s)[s].stop()}setBgmVolume(e){(0,t.default)(this,s)[s].setVolume(e)}setRoleAudioVolume(e){(0,t.default)(this,l)[l].setVolume(e)}async preloadForRoles(e){r(_d[9]).audioLog.debug('preloadForRoles: starting',{roles:e});const n=[{key:'night',file:r(_d[8]).NIGHT_AUDIO},{key:'night_end',file:r(_d[8]).NIGHT_END_AUDIO}];for(const t of e){const e=r(_d[8]).AUDIO_REGISTRY[t];e&&(n.push({key:`begin_${t}`,file:e.begin}),n.push({key:`end_${t}`,file:e.end}))}const o=n.map(({key:e,file:n})=>(0,t.default)(this,l)[l].preloadFile(e,n).catch(t=>{r(_d[9]).audioLog.warn('preloadForRoles: failed to preload',{key:e},t)}));await Promise.all(o),r(_d[9]).audioLog.debug('preloadForRoles: done',{count:n.length})}clearPreloaded(){(0,t.default)(this,l)[l].clearPreloaded()}}async function y(){try{await(0,u.setAudioModeAsync)({playsInSilentMode:!0,shouldPlayInBackground:!1,interruptionMode:'duckOthers'}),'undefined'!=typeof document&&((0,t.default)(this,f)[f]=()=>{document.hidden?(r(_d[9]).audioLog.debug('page hidden, pausing all audio'),(0,t.default)(this,l)[l].pause(),(0,t.default)(this,s)[s].pause()):(r(_d[9]).audioLog.debug('page visible, resuming audio'),(0,t.default)(this,l)[l].resume(),(0,t.default)(this,s)[s].resume())},document.addEventListener('visibilitychange',(0,t.default)(this,f)[f]))}catch(e){r(_d[9]).audioLog.error('Failed to initialize audio',e),o.captureException(e)}}},2250,[1819,1820,119,2251,2263,2266,2267,2265,1974,1061]);
2548
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"createAudioPlayer",{enumerable:!0,get:function(){return t.createAudioPlayer}}),Object.defineProperty(e,"setAudioModeAsync",{enumerable:!0,get:function(){return t.setAudioModeAsync}});var t=r(d[0])},2251,[2252]);
2549
- __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createAudioPlayer=function(t=null,o={}){const{downloadFirst:u=!1}=o,c=u?null:(0,n.resolveSource)(t),l=new e.AudioPlayerWeb(c,o);if(u&&t){const o=(0,n.resolveSource)(t);o&&e.preloadAsync(o).finally(()=>{l.replace(o)})}return l},_e.setAudioModeAsync=async function(n){return await e.setAudioModeAsync(n)},Object.defineProperty(_e,"AudioModule",{enumerable:!0,get:function(){return e}}),r(_d[0]),r(_d[1]);var e=(function(e){if(e&&e.__esModule)return e;var n={};return e&&Object.keys(e).forEach(function(t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}),n.default=e,n})(r(_d[2]));r(_d[3]);var n=r(_d[4])},2252,[2,90,2253,2262,2259]);
2550
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AudioPlayerWeb",{enumerable:!0,get:function(){return n.AudioPlayerWeb}}),Object.defineProperty(e,"AudioPlaylistWeb",{enumerable:!0,get:function(){return o.AudioPlaylistWeb}}),Object.defineProperty(e,"AudioRecorderWeb",{enumerable:!0,get:function(){return c.AudioRecorderWeb}}),Object.defineProperty(e,"isAudioActive",{enumerable:!0,get:function(){return u}}),e.setAudioModeAsync=async function(t){},e.setIsAudioActiveAsync=async function(t){if(u=t,!t)for(const t of n.activePlayers)t.playing&&t.pause()},e.preloadAsync=f,e.preload=function(t){f(t).catch(()=>{})},e.clearPreloadedSource=function(t){const n=(0,s.getSourceUri)(t);if(!n)return;const o=s.preloadCache.get(n);o&&(URL.revokeObjectURL(o.blobUrl),s.preloadCache.delete(n))},e.clearAllPreloadedSources=function(){for(const t of s.preloadCache.values())URL.revokeObjectURL(t.blobUrl);s.preloadCache.clear()},e.getPreloadedSources=function(){return Array.from(s.preloadCache.keys())},e.getRecordingPermissionsAsync=async function(){switch(await l('microphone')){case t.PermissionStatus.GRANTED:return{status:t.PermissionStatus.GRANTED,expires:'never',canAskAgain:!0,granted:!0};case t.PermissionStatus.DENIED:return{status:t.PermissionStatus.DENIED,expires:'never',canAskAgain:!0,granted:!1};default:return await A()}},e.requestRecordingPermissionsAsync=A;var t=r(d[0]),n=r(d[1]),s=r(d[2]),o=r(d[3]),c=r(d[4]);let u=!0;async function l(n){if(!navigator||!navigator.permissions||!navigator.permissions.query)return null;try{const{state:s}=await navigator.permissions.query({name:n});switch(s){case'granted':return t.PermissionStatus.GRANTED;case'denied':return t.PermissionStatus.DENIED;default:return t.PermissionStatus.UNDETERMINED}}catch{return t.PermissionStatus.UNDETERMINED}}async function f(t){const n=(0,s.getSourceUri)(t);if(!n||s.preloadCache.has(n))return;const o=t&&'object'==typeof t&&!Array.isArray(t)?t.headers:void 0,c=await fetch(n,o?{headers:o}:void 0),u=await c.blob(),l=URL.createObjectURL(u),f=new Audio(l);f.preload='auto',s.preloadCache.set(n,{blobUrl:l,audio:f})}async function A(){try{return(await(0,s.getUserMedia)({audio:!0})).getTracks().forEach(t=>t.stop()),{status:t.PermissionStatus.GRANTED,expires:'never',canAskAgain:!0,granted:!0}}catch{return{status:t.PermissionStatus.DENIED,expires:'never',canAskAgain:!0,granted:!1}}}},2253,[90,2254,2255,2258,2260]);
2551
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"activePlayers",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"AudioPlayerWeb",{enumerable:!0,get:function(){return o}});var t=r(d[0]),s=r(d[1]);const n=new Set;class o extends globalThis.expo.SharedObject{constructor(t,s={}){super();const{updateInterval:o=500,crossOrigin:l}=s;this.src=t,this.interval=Math.max(o,1),this.crossOrigin=l,this.media=this._createMediaElement(),n.add(this)}id=(0,s.nextId)();isAudioSamplingSupported=!1;isBuffering=!1;shouldCorrectPitch=!1;src=null;interval=500;isPlaying=!1;loaded=!1;analyser=null;sourceNode=null;samplingFrameId=null;samplingEnabled=!1;samplingBuffer=null;get playing(){return this.isPlaying}get muted(){return this.media.muted}set muted(t){this.media.muted=t}get loop(){return this.media.loop}set loop(t){this.media.loop=t}get duration(){return(0,s.safeDuration)(this.media.duration)}get currentTime(){return this.media.currentTime}get paused(){return this.media.paused}get isLoaded(){return this.loaded}get playbackRate(){return this.media.playbackRate}set playbackRate(t){this.media.playbackRate=t}get volume(){return this.media.volume}set volume(t){this.media.volume=t}get currentStatus(){return(0,s.getStatusFromMedia)(this.media,this.id)}play(){t.isAudioActive&&(this.media.play(),this.isPlaying=!0,this.startSampling())}pause(){this.media.pause(),this.isPlaying=!1,this.stopSampling()}replace(t){const s=this.isPlaying,n=this.samplingEnabled,o=r(d[2]).mediaSessionController.getActiveState(this);this.remove(),this.src=t,this.isPlaying=!1,this.loaded=!1,this.media=this._createMediaElement(),n&&this.setAudioSamplingEnabled(!0),o&&r(d[2]).mediaSessionController.setActivePlayer(this,o.metadata??void 0,o.options??void 0),s&&this.play()}async seekTo(t,s,n){this.media.currentTime=t}setAudioSamplingEnabled(t){if(t){if(!this.media.crossOrigin&&this._isCrossOrigin())return void(this.isAudioSamplingSupported=!1);if(this.analyser)return;const t=(0,s.getAudioContext)();'suspended'===t.state&&t.resume(),this.sourceNode||(this.sourceNode=t.createMediaElementSource(this.media)),this.analyser=t.createAnalyser(),this.analyser.fftSize=2048,this.sourceNode.disconnect(),this.sourceNode.connect(this.analyser),this.analyser.connect(t.destination),this.samplingBuffer=new Float32Array(this.analyser.frequencyBinCount),this.samplingEnabled=!0,this.isPlaying&&this.startSampling(),this.isAudioSamplingSupported=!0}else{if(this.stopSampling(),this.analyser&&(this.analyser.disconnect(),this.analyser=null),this.sourceNode){const t=(0,s.getAudioContext)();this.sourceNode.disconnect(),this.sourceNode.connect(t.destination)}this.samplingBuffer=null,this.samplingEnabled=!1}}startSampling(){if(!this.samplingEnabled||!this.analyser||!this.samplingBuffer)return;const t=()=>{this.analyser&&this.samplingBuffer&&(this.analyser.getFloatTimeDomainData(this.samplingBuffer),this.emit(r(d[3]).AUDIO_SAMPLE_UPDATE,{channels:[{frames:Array.from(this.samplingBuffer)}],timestamp:this.media.currentTime}),this.samplingFrameId=requestAnimationFrame(t))};this.samplingFrameId=requestAnimationFrame(t)}stopSampling(){null!=this.samplingFrameId&&(cancelAnimationFrame(this.samplingFrameId),this.samplingFrameId=null)}setPlaybackRate(t,s){this.media.playbackRate=t,this.shouldCorrectPitch='high'===s,this.media.preservesPitch=this.shouldCorrectPitch,r(d[2]).mediaSessionController.updatePositionState(this)}remove(){r(d[2]).mediaSessionController.clear(this),this.stopSampling(),this.analyser&&(this.analyser.disconnect(),this.analyser=null),this.sourceNode&&(this.sourceNode.disconnect(),this.sourceNode=null),this.samplingEnabled=!1,this.media.pause(),this.media.ontimeupdate=null,this.media.onplay=null,this.media.onpause=null,this.media.onseeked=null,this.media.onended=null,this.media.onloadeddata=null,this.media.onerror=null,this.media.removeAttribute('src'),this.media.load(),n.delete(this)}release(){this.remove()}setActiveForLockScreen(t,s,n){t?r(d[2]).mediaSessionController.setActivePlayer(this,s,n):r(d[2]).mediaSessionController.clear(this)}updateLockScreenMetadata(t){r(d[2]).mediaSessionController.updateMetadata(this,t)}clearLockScreenControls(){r(d[2]).mediaSessionController.clear(this)}_isCrossOrigin(){try{return new URL(this.media.src).origin!==window.location.origin}catch{return!1}}_createMediaElement(){const t=(0,s.getSourceUri)(this.src),n=t&&s.preloadCache.has(t)?s.preloadCache.get(t).blobUrl:t,o=new Audio(n);void 0!==this.crossOrigin&&(o.crossOrigin=this.crossOrigin);let l=0;const h=this.interval/1e3;return o.ontimeupdate=()=>{const t=o.currentTime;t<l&&(l=t),t-l>=h&&(l=t,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,(0,s.getStatusFromMedia)(o,this.id)),r(d[2]).mediaSessionController.updatePositionState(this))},o.onplay=()=>{this.isPlaying=!0,l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{playing:this.isPlaying})),r(d[2]).mediaSessionController.updatePlaybackState(this),r(d[2]).mediaSessionController.updatePositionState(this)},o.onpause=()=>{this.isPlaying=!1,l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{playing:this.isPlaying})),r(d[2]).mediaSessionController.updatePlaybackState(this),r(d[2]).mediaSessionController.updatePositionState(this)},o.onseeked=()=>{l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,(0,s.getStatusFromMedia)(o,this.id)),r(d[2]).mediaSessionController.updatePositionState(this)},o.onended=()=>{l=0,r(d[2]).mediaSessionController.updatePlaybackState(this)},o.onloadeddata=()=>{this.loaded=!0,l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{isLoaded:this.loaded})),r(d[2]).mediaSessionController.updatePositionState(this)},o.onerror=()=>{this.loaded=!1,this.isPlaying=!1,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{isLoaded:!1,playing:!1}))},o}}},2254,[2253,2255,2256,2257]);
2552
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"nextId",{enumerable:!0,get:function(){return n}}),e.getAudioContext=function(){o||(o=new AudioContext);return o},e.getUserMedia=function(t){if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)return navigator.mediaDevices.getUserMedia(t);const n=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||function(){const t=new Error('Permission unimplemented');throw t.code=0,t.name='NotAllowedError',t};return new Promise((o,u)=>{n.call(navigator,t,o,u)})},e.safeDuration=u,e.getStatusFromMedia=function(t,n){const o=!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2);return{id:n,isLoaded:!0,duration:u(t.duration),currentTime:t.currentTime,playbackState:'',timeControlStatus:o?'playing':'paused',reasonForWaitingToPlay:'',playing:o,didJustFinish:t.ended,isBuffering:!1,playbackRate:t.playbackRate,shouldCorrectPitch:!0,mute:t.muted,loop:t.loop}},Object.defineProperty(e,"preloadCache",{enumerable:!0,get:function(){return s}}),e.getSourceUri=function(n){if('string'==typeof n)return n;if('number'==typeof n){return t.Asset.fromModule(n).uri}if('number'==typeof n?.assetId&&!n?.uri){return t.Asset.fromModule(n.assetId).uri}return n?.uri??void 0};var t=r(d[0]);const n=(()=>{let t=0;return()=>String(t++)})();let o=null;function u(t){return isNaN(t)||!isFinite(t)?0:t}const s=new Map},2255,[1022]);
2553
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"mediaSessionController",{enumerable:!0,get:function(){return t}});const t=new class{activePlayer=null;metadata=null;options=null;setActivePlayer(t,s,n){navigator.mediaSession&&(this.activePlayer&&this.activePlayer!==t&&this.clear(this.activePlayer),this.activePlayer=t,this.metadata=s??null,this.options=n??null,this._applyMetadata(),this._applyActionHandlers(),this.updatePlaybackState(t),this.updatePositionState(t))}updateMetadata(t,s){navigator.mediaSession&&this.activePlayer===t&&(this.metadata=s,this._applyMetadata())}clear(t){if(!navigator.mediaSession)return;if(this.activePlayer!==t)return;this.activePlayer=null,this.metadata=null,this.options=null,navigator.mediaSession.metadata=null,navigator.mediaSession.playbackState='none';const s=['play','pause','seekto','seekforward','seekbackward','previoustrack','nexttrack'];for(const t of s)this._setHandler(t,null);try{navigator.mediaSession.setPositionState()}catch{}}updatePlaybackState(t){navigator.mediaSession&&this.activePlayer===t&&(navigator.mediaSession.playbackState=t.playing?'playing':'paused')}updatePositionState(t){if(!navigator.mediaSession)return;if(this.activePlayer!==t)return;const s=t.duration;if(!Number.isFinite(s)||s<=0)return;const n=Math.min(Math.max(t.currentTime,0),s),o=t.playbackRate||1;try{navigator.mediaSession.setPositionState({duration:s,playbackRate:o,position:n})}catch{}}isActive(t){return this.activePlayer===t}getActiveState(t){return this.activePlayer!==t?null:{metadata:this.metadata,options:this.options}}_applyMetadata(){if(!this.metadata)return void(navigator.mediaSession.metadata=null);const{title:t,artist:s,albumTitle:n,artworkUrl:o}=this.metadata,l=o?[{src:o}]:[];navigator.mediaSession.metadata=new MediaMetadata({title:t??'',artist:s??'',album:n??'',artwork:l})}_setHandler(t,s){try{navigator.mediaSession.setActionHandler(t,s)}catch{}}_applyActionHandlers(){const t=this.activePlayer;if(!t)return;this._setHandler('play',()=>{t.play()}),this._setHandler('pause',()=>{t.pause()}),this._setHandler('seekto',s=>{null!=s.seekTime&&(t.seekTo(s.seekTime),this.updatePositionState(t))});const s=s=>{const n=s.seekOffset??10,o=Math.min(t.currentTime+n,t.duration||0);t.seekTo(o),this.updatePositionState(t)},n=s=>{const n=s.seekOffset??10,o=Math.max(t.currentTime-n,0);t.seekTo(o),this.updatePositionState(t)};!0===this.options?.showSeekForward?(this._setHandler('seekforward',s),this._setHandler('nexttrack',s)):(this._setHandler('seekforward',null),this._setHandler('nexttrack',null)),!0===this.options?.showSeekBackward?(this._setHandler('seekbackward',n),this._setHandler('previoustrack',n)):(this._setHandler('seekbackward',null),this._setHandler('previoustrack',null))}}},2256,[]);
2554
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PLAYBACK_STATUS_UPDATE",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AUDIO_SAMPLE_UPDATE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"RECORDING_STATUS_UPDATE",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"PLAYLIST_STATUS_UPDATE",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"TRACK_CHANGED",{enumerable:!0,get:function(){return o}});const t='playbackStatusUpdate',n='audioSampleUpdate',u='recordingStatusUpdate',c='playlistStatusUpdate',o='trackChanged'},2257,[]);
2555
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AudioPlaylistWeb",{enumerable:!0,get:function(){return u}});var t=r(d[0]),s=r(d[1]);function n(n){const u=(0,s.resolveSource)(n);return u&&'object'==typeof u?{uri:u.uri,name:u.name}:{uri:(0,t.getSourceUri)(n)}}class u extends globalThis.expo.SharedObject{constructor(t=[],s=500,u="none",h){super(),this._updateInterval=Math.max(s,1),this._loopMode=u,this._crossOrigin=h;for(const s of t)this._sources.push(s),this._sourceInfos.push(n(s));this._sources.length>0&&(this._currentMedia=this._createMediaElement(this._sources[0]),this._preloadNext())}id=(0,t.nextId)();_sources=[];_sourceInfos=[];_currentIndex=0;_currentMedia=null;_nextMedia=null;_updateInterval=500;_loopMode='none';_isPlaying=!1;_isLoaded=!1;_isBuffering=!1;_volume=1;_muted=!1;_playbackRate=1;_knownDuration=0;get currentIndex(){return this._currentIndex}get trackCount(){return this._sources.length}get sources(){return[...this._sourceInfos]}get playing(){return this._isPlaying}get muted(){return this._muted}set muted(t){this._muted=t,this._currentMedia&&(this._currentMedia.muted=t)}get isLoaded(){return this._isLoaded}get isBuffering(){return this._isBuffering}get currentTime(){return this._currentMedia?.currentTime??0}get duration(){return this._knownDuration}get volume(){return this._volume}set volume(t){this._volume=t,this._currentMedia&&(this._currentMedia.volume=t)}get playbackRate(){return this._playbackRate}set playbackRate(t){this._playbackRate=t,this._currentMedia&&(this._currentMedia.playbackRate=t)}get loop(){return this._loopMode}set loop(t){this._loopMode=t,this._emitStatus()}get currentStatus(){return this._getStatus()}play(){this._currentMedia&&0!==this._sources.length&&(this._currentMedia.play(),this._isPlaying=!0)}pause(){this._currentMedia&&(this._currentMedia.pause(),this._isPlaying=!1)}next(){if(0===this._sources.length)return;const t=this._currentIndex;let s=this._currentIndex+1;if(s>=this._sources.length){if('all'!==this._loopMode)return;s=0}this._transitionToTrack(s,t)}previous(){if(0===this._sources.length)return;const t=this._currentIndex;let s=this._currentIndex-1;if(s<0){if('all'!==this._loopMode)return;s=this._sources.length-1}this._transitionToTrack(s,t)}skipTo(t){if(t<0||t>=this._sources.length)return;if(t===this._currentIndex)return;const s=this._currentIndex;this._transitionToTrack(t,s)}async seekTo(t){this._currentMedia&&(this._currentMedia.currentTime=t)}add(t){this._sources.push(t),this._sourceInfos.push(n(t)),1===this._sources.length?this._currentMedia=this._createMediaElement(t):this._preloadNext(),this._emitStatus()}insert(t,s){s<0&&(s=0),s>this._sources.length&&(s=this._sources.length),this._sources.splice(s,0,t),this._sourceInfos.splice(s,0,n(t)),s<=this._currentIndex&&this._sources.length>1&&this._currentIndex++,1===this._sources.length?this._currentMedia=this._createMediaElement(t):this._preloadNext(),this._emitStatus()}remove(t){if(t<0||t>=this._sources.length)return;const s=t===this._currentIndex,n=this._isPlaying;this._sources.splice(t,1),this._sourceInfos.splice(t,1),0===this._sources.length?(this._cleanupMedia(this._currentMedia),this._currentMedia=null,this._cleanupMedia(this._nextMedia),this._nextMedia=null,this._currentIndex=0,this._isPlaying=!1,this._isLoaded=!1,this._knownDuration=0):s?(this._cleanupMedia(this._currentMedia),this._currentIndex>=this._sources.length&&(this._currentIndex=this._sources.length-1),this._knownDuration=0,this._currentMedia=this._createMediaElement(this._sources[this._currentIndex]),n&&this._currentMedia.play(),this._preloadNext()):t<this._currentIndex?(this._currentIndex--,this._preloadNext()):this._preloadNext(),this._emitStatus()}clear(){this._cleanupMedia(this._currentMedia),this._currentMedia=null,this._cleanupMedia(this._nextMedia),this._nextMedia=null,this._sources=[],this._sourceInfos=[],this._currentIndex=0,this._isPlaying=!1,this._isLoaded=!1,this._knownDuration=0,this._emitStatus()}destroy(){this.clear()}_transitionToTrack(t,s){const n=this._isPlaying;this._currentMedia&&(this._currentMedia.pause(),this._cleanupMedia(this._currentMedia)),this._currentIndex=t,this._isLoaded=!1,this._isBuffering=!0,this._knownDuration=0;const u=t===(s+1)%this._sources.length;this._nextMedia&&u?(this._currentMedia=this._nextMedia,this._attachMediaHandlers(this._currentMedia),this._nextMedia=null):(this._cleanupMedia(this._nextMedia),this._nextMedia=null,this._currentMedia=this._createMediaElement(this._sources[t])),n&&(this._currentMedia.play(),this._isPlaying=!0),this._preloadNext(),this.emit(r(d[2]).TRACK_CHANGED,{previousIndex:s,currentIndex:t}),this._emitStatus()}_preloadNext(){if(this._nextMedia&&(this._cleanupMedia(this._nextMedia),this._nextMedia=null),this._sources.length<=1||'single'===this._loopMode)return;let s=this._currentIndex+1;if(s>=this._sources.length){if('all'!==this._loopMode)return;s=0}const n=(0,t.getSourceUri)(this._sources[s]);n&&(this._nextMedia=new Audio(n),void 0!==this._crossOrigin&&(this._nextMedia.crossOrigin=this._crossOrigin),this._nextMedia.preload='auto',this._nextMedia.volume=this._volume,this._nextMedia.muted=this._muted,this._nextMedia.playbackRate=this._playbackRate)}_cleanupMedia(t){t&&(t.pause(),t.ontimeupdate=null,t.onplay=null,t.onpause=null,t.onseeked=null,t.onended=null,t.onloadedmetadata=null,t.onloadeddata=null,t.onwaiting=null,t.oncanplaythrough=null,t.onerror=null,t.removeAttribute('src'),t.load())}_attachMediaHandlers(t){let s=0;const n=this._updateInterval/1e3;if(t.readyState>=1){const s=t.duration;!isNaN(s)&&isFinite(s)&&(this._knownDuration=s)}t.ontimeupdate=()=>{const u=t.currentTime;u<s&&(s=u),u-s>=n&&(s=u,this._emitStatus())},t.onplay=()=>{this._isPlaying=!0,s=t.currentTime,this._emitStatus()},t.onpause=()=>{t.ended||(this._isPlaying=!1),s=t.currentTime,this._emitStatus()},t.onseeked=()=>{s=t.currentTime,this._emitStatus()},t.onended=()=>{s=0,this._handleTrackEnded()},t.onloadedmetadata=()=>{const s=t.duration;!isNaN(s)&&isFinite(s)&&(this._knownDuration=s,this._emitStatus())},t.onloadeddata=()=>{this._isLoaded=!0,this._isBuffering=!1,s=t.currentTime,this._emitStatus()},t.onwaiting=()=>{this._isBuffering=!0,this._emitStatus()},t.oncanplaythrough=()=>{this._isBuffering=!1,this._emitStatus()},t.onerror=()=>{this._isLoaded=!1,this._isBuffering=!1,this._isPlaying=!1,this._emitStatus()}}_createMediaElement(s){const n=(0,t.getSourceUri)(s),u=new Audio(n);return void 0!==this._crossOrigin&&(u.crossOrigin=this._crossOrigin),u.volume=this._volume,u.muted=this._muted,u.playbackRate=this._playbackRate,this._attachMediaHandlers(u),u}_handleTrackEnded(){if('single'===this._loopMode)return void(this._currentMedia&&(this._currentMedia.currentTime=0,this._currentMedia.play()));this._currentIndex>=this._sources.length-1?'all'===this._loopMode?this._transitionToTrack(0,this._currentIndex):(this._isPlaying=!1,this.emit(r(d[2]).PLAYLIST_STATUS_UPDATE,Object.assign({},this._getStatus(),{didJustFinish:!0}))):this._transitionToTrack(this._currentIndex+1,this._currentIndex)}_getStatus(){return{id:this.id,currentIndex:this._currentIndex,trackCount:this._sources.length,currentTime:this._currentMedia?.currentTime??0,duration:this._knownDuration,playing:this._isPlaying,isBuffering:this._isBuffering,isLoaded:this._isLoaded,playbackRate:this._playbackRate,muted:this._muted,volume:this._volume,loop:this._loopMode,didJustFinish:!1}}_emitStatus(){this.emit(r(d[2]).PLAYLIST_STATUS_UPDATE,this._getStatus())}}},2258,[2255,2259,2257]);
2556
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.resolveSource=function(n){if(null==n)return null;if(n instanceof t.Asset)return s(n);if('string'==typeof n)return{uri:n};if('number'==typeof n){return s(t.Asset.fromModule(n),{assetId:n})}if('object'==typeof n){if('assetId'in n&&'number'==typeof n.assetId){const s=t.Asset.fromModule(n.assetId);return Object.assign({},n,{uri:s.localUri??s.uri})}if('uri'in n&&'string'==typeof n.uri)return n}return n??null};var t=r(d[0]);function s(t,s={}){const n={uri:t.localUri??t.uri};return t.name&&(n.name=t.name),null!=s.assetId&&(n.assetId=s.assetId),s.headers&&(n.headers=s.headers),n}},2259,[1022]);
2557
- __d(function(g,r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AudioRecorderWeb",{enumerable:!0,get:function(){return t}});var e=r(d[0]);class t extends globalThis.expo.SharedObject{constructor(e){super(),this.options=e}async setup(){this.mediaRecorder=await this.createMediaRecorder(this.options)}id=(0,e.nextId)();currentTime=0;uri=null;mediaRecorder=null;mediaRecorderUptimeOfLastStartResume=0;mediaRecorderIsRecording=!1;timeoutIds=[];cachedInputs=[];selectedDeviceId=null;stream=null;handleDeviceChange=null;analyser=null;analyserBuffer=null;analyserSource=null;meteringEnabled=!1;get isRecording(){return'recording'===this.mediaRecorder?.state}record(e){if(null===this.mediaRecorder)throw new Error('Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.');this.clearTimeouts();const{forDuration:t}=e||{};this.startActualRecording(),void 0!==t&&this.timeoutIds.push(setTimeout(()=>{this.stop()},1e3*t))}startActualRecording(){'paused'===this.mediaRecorder?.state?this.mediaRecorder.resume():this.mediaRecorder?.start()}getAvailableInputs(){return this.cachedInputs}getCurrentInput(){const e=this.selectedDeviceId??this.stream?.getAudioTracks()[0]?.getSettings().deviceId,t=this.cachedInputs.find(t=>t.uid===e);return t?Promise.resolve(t):Promise.resolve(this.cachedInputs[0]??{type:'Default',name:'Default',uid:'Default'})}async prepareToRecordAsync(){return this.setup()}getStatus(){const e={canRecord:'recording'===this.mediaRecorder?.state||'inactive'===this.mediaRecorder?.state,isRecording:'recording'===this.mediaRecorder?.state,durationMillis:this.getAudioRecorderDurationMillis(),mediaServicesDidReset:!1,url:this.uri};return this.meteringEnabled&&this.mediaRecorderIsRecording&&(e.metering=this.getMeteringLevel()),e}pause(){if(null===this.mediaRecorder)throw new Error('Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.');this.mediaRecorder?.pause()}recordForDuration(e){this.record({forDuration:e})}setInput(e){if(!this.cachedInputs.some(t=>t.uid===e))throw new Error(`No audio input device found for uid: ${e}`);this.selectedDeviceId=e}startRecordingAtTime(e){this.record({atTime:e})}async stop(){if(null===this.mediaRecorder)throw new Error('Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.');const e=new Promise(e=>this.mediaRecorder?.addEventListener('dataavailable',t=>e(t.data)));this.mediaRecorder?.stop(),this.mediaRecorder=null;const t=await e,i=URL.createObjectURL(t);this.uri=i,this.emit(r(d[1]).RECORDING_STATUS_UPDATE,{id:this.id,isFinished:!0,hasError:!1,error:null,url:i})}clearTimeouts(){this.timeoutIds.forEach(e=>clearTimeout(e))}async createMediaRecorder(t){if('undefined'!=typeof navigator&&!navigator.mediaDevices)throw new Error('No media devices available');this.mediaRecorderUptimeOfLastStartResume=0,this.currentTime=0;const i=!this.selectedDeviceId||{deviceId:{exact:this.selectedDeviceId}},s=await(0,e.getUserMedia)({audio:i});if(this.stream=s,await this.updateCachedInputs(),this.handleDeviceChange=()=>{this.updateCachedInputs()},navigator.mediaDevices.addEventListener('devicechange',this.handleDeviceChange),t.isMeteringEnabled){const t=(0,e.getAudioContext)();'suspended'===t.state&&t.resume(),this.analyserSource=t.createMediaStreamSource(s),this.analyser=t.createAnalyser(),this.analyser.fftSize=2048,this.analyserSource.connect(this.analyser),this.analyserBuffer=new Float32Array(this.analyser.frequencyBinCount),this.meteringEnabled=!0}const n=r(d[2]).RecordingPresets.HIGH_QUALITY.web,o={},c=t.mimeType??n.mimeType;c&&MediaRecorder.isTypeSupported(c)&&(o.mimeType=c),t.bitsPerSecond?o.bitsPerSecond=t.bitsPerSecond:t.bitRate?o.audioBitsPerSecond=t.bitRate:o.bitsPerSecond=n.bitsPerSecond;const u=new MediaRecorder(s,o);return u.addEventListener('pause',()=>{this.currentTime=this.getAudioRecorderDurationMillis(),this.mediaRecorderIsRecording=!1}),u.addEventListener('resume',()=>{this.mediaRecorderUptimeOfLastStartResume=Date.now(),this.mediaRecorderIsRecording=!0}),u.addEventListener('start',()=>{this.mediaRecorderUptimeOfLastStartResume=Date.now(),this.currentTime=0,this.mediaRecorderIsRecording=!0}),u?.addEventListener('stop',()=>{this.currentTime=0,this.mediaRecorderIsRecording=!1,this.stream=null,this.analyserSource&&(this.analyserSource.disconnect(),this.analyserSource=null),this.analyser&&(this.analyser.disconnect(),this.analyser=null,this.analyserBuffer=null),this.handleDeviceChange&&(navigator.mediaDevices?.removeEventListener('devicechange',this.handleDeviceChange),this.handleDeviceChange=null),s.getTracks().forEach(e=>e.stop())}),u}async updateCachedInputs(){const e=await navigator.mediaDevices.enumerateDevices();this.cachedInputs=e.filter(e=>'audioinput'===e.kind).map(e=>({uid:e.deviceId,name:e.label||'Unknown Device',type:'default'===e.deviceId?'Default':'Unknown'}))}getMeteringLevel(){if(!this.analyser||!this.analyserBuffer)return-160;this.analyser.getFloatTimeDomainData(this.analyserBuffer);let e=0;for(let t=0;t<this.analyserBuffer.length;t++)e+=this.analyserBuffer[t]*this.analyserBuffer[t];const t=Math.sqrt(e/this.analyserBuffer.length);return 0===t?-160:20*Math.log10(t)}getAudioRecorderDurationMillis(){let e=this.currentTime;return this.mediaRecorderIsRecording&&this.mediaRecorderUptimeOfLastStartResume>0&&(e+=Date.now()-this.mediaRecorderUptimeOfLastStartResume),e}}},2260,[2255,2257,2261]);
2558
- __d(function(g,r,i,a,m,e,d){"use strict";var t,A;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"IOSOutputFormat",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AudioQuality",{enumerable:!0,get:function(){return A}}),Object.defineProperty(e,"RecordingPresets",{enumerable:!0,get:function(){return n}}),(function(t){t.LINEARPCM="lpcm",t.AC3="ac-3",t["60958AC3"]="cac3",t.APPLEIMA4="ima4",t.MPEG4AAC="aac ",t.MPEG4CELP="celp",t.MPEG4HVXC="hvxc",t.MPEG4TWINVQ="twvq",t.MACE3="MAC3",t.MACE6="MAC6",t.ULAW="ulaw",t.ALAW="alaw",t.QDESIGN="QDMC",t.QDESIGN2="QDM2",t.QUALCOMM="Qclp",t.MPEGLAYER1=".mp1",t.MPEGLAYER2=".mp2",t.MPEGLAYER3=".mp3",t.APPLELOSSLESS="alac",t.MPEG4AAC_HE="aach",t.MPEG4AAC_LD="aacl",t.MPEG4AAC_ELD="aace",t.MPEG4AAC_ELD_SBR="aacf",t.MPEG4AAC_ELD_V2="aacg",t.MPEG4AAC_HE_V2="aacp",t.MPEG4AAC_SPATIAL="aacs",t.AMR="samr",t.AMR_WB="sawb",t.AUDIBLE="AUDB",t.ILBC="ilbc",t[t.DVIINTELIMA=1836253201]="DVIINTELIMA",t[t.MICROSOFTGSM=1836253233]="MICROSOFTGSM",t.AES3="aes3",t.ENHANCEDAC3="ec-3"})(t||(t={})),(function(t){t[t.MIN=0]="MIN",t[t.LOW=32]="LOW",t[t.MEDIUM=64]="MEDIUM",t[t.HIGH=96]="HIGH",t[t.MAX=127]="MAX"})(A||(A={}));const n={HIGH_QUALITY:{extension:'.m4a',sampleRate:44100,numberOfChannels:2,bitRate:128e3,android:{outputFormat:'mpeg4',audioEncoder:'aac'},ios:{outputFormat:t.MPEG4AAC,audioQuality:A.MAX,linearPCMBitDepth:16,linearPCMIsBigEndian:!1,linearPCMIsFloat:!1},web:{mimeType:'audio/webm',bitsPerSecond:128e3}},LOW_QUALITY:{extension:'.m4a',sampleRate:44100,numberOfChannels:2,bitRate:64e3,android:{extension:'.3gp',outputFormat:'3gp',audioEncoder:'amr_nb'},ios:{audioQuality:A.MIN,outputFormat:t.MPEG4AAC,linearPCMBitDepth:16,linearPCMIsBigEndian:!1,linearPCMIsFloat:!1},web:{mimeType:'audio/webm',bitsPerSecond:128e3}}}},2261,[]);
2559
- __d(function(g,r,i,a,m,e,d){"use strict";r(d[0])},2262,[90]);
2560
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"BgmPlayer",{enumerable:!0,get:function(){return x}});var t=e(r(d[0])),l=e(r(d[1])),u=r(d[2]);var s=(0,l.default)("isPlaying"),f=(0,l.default)("playlist"),n=(0,l.default)("currentIndex"),h=(0,l.default)("isPlaylist"),o=(0,l.default)("volume"),c=(0,l.default)("gapTimer"),b=(0,l.default)("webElement"),p=(0,l.default)("webAudioCtx"),y=(0,l.default)("webGainNode"),v=(0,l.default)("webSourceNode"),w=(0,l.default)("webEndedHandler"),P=(0,l.default)("webTimeupdateHandler"),j=(0,l.default)("trackEndFired"),L=(0,l.default)("nativePlayer"),O=(0,l.default)("nativeSubscription"),M=(0,l.default)("playCurrentTrack"),B=(0,l.default)("playWeb"),k=(0,l.default)("handleWebTrackEnd"),E=(0,l.default)("playNative"),G=(0,l.default)("onTrackEnded"),T=(0,l.default)("destroyWebPlayer"),A=(0,l.default)("cleanupNativePlayer");class x{constructor(){Object.defineProperty(this,A,{value:C}),Object.defineProperty(this,T,{value:W}),Object.defineProperty(this,G,{value:S}),Object.defineProperty(this,E,{value:F}),Object.defineProperty(this,k,{value:U}),Object.defineProperty(this,B,{value:N}),Object.defineProperty(this,M,{value:_}),Object.defineProperty(this,s,{writable:!0,value:!1}),Object.defineProperty(this,f,{writable:!0,value:[]}),Object.defineProperty(this,n,{writable:!0,value:0}),Object.defineProperty(this,h,{writable:!0,value:!1}),Object.defineProperty(this,o,{writable:!0,value:r(d[3]).BGM_VOLUME}),Object.defineProperty(this,c,{writable:!0,value:null}),Object.defineProperty(this,b,{writable:!0,value:null}),Object.defineProperty(this,p,{writable:!0,value:null}),Object.defineProperty(this,y,{writable:!0,value:null}),Object.defineProperty(this,v,{writable:!0,value:null}),Object.defineProperty(this,w,{writable:!0,value:null}),Object.defineProperty(this,P,{writable:!0,value:null}),Object.defineProperty(this,j,{writable:!0,value:!1}),Object.defineProperty(this,L,{writable:!0,value:null}),Object.defineProperty(this,O,{writable:!0,value:null})}getIsBgmPlaying(){return(0,t.default)(this,s)[s]}setVolume(e){(0,t.default)(this,o)[o]=Math.max(0,Math.min(1,e)),(0,t.default)(this,y)[y]&&((0,t.default)(this,y)[y].gain.value=(0,t.default)(this,o)[o]),(0,t.default)(this,L)[L]&&((0,t.default)(this,L)[L].volume=(0,t.default)(this,o)[o])}async start(e){(0,t.default)(this,s)[s]?r(d[4]).audioLog.debug('BGM already playing, skipping'):0!==e.length?((0,t.default)(this,h)[h]=e.length>1,(0,t.default)(this,f)[f]=(0,t.default)(this,h)[h]?(0,r(d[5]).shuffleArray)(e):e,(0,t.default)(this,n)[n]=0,(0,t.default)(this,s)[s]=!0,r(d[4]).audioLog.debug('Starting BGM',{mode:(0,t.default)(this,h)[h]?'playlist':'loop',count:e.length}),(0,t.default)(this,M)[M]()):r(d[4]).audioLog.warn('BGM start called with empty assets')}stop(){(0,t.default)(this,s)[s]=!1,(0,t.default)(this,c)[c]&&(clearTimeout((0,t.default)(this,c)[c]),(0,t.default)(this,c)[c]=null),(0,t.default)(this,T)[T](),(0,t.default)(this,A)[A](),r(d[4]).audioLog.debug('BGM stopped')}pause(){if((0,t.default)(this,b)[b])try{(0,t.default)(this,b)[b].pause()}catch(e){r(d[4]).audioLog.warn('error pausing web bgm',e)}else if((0,t.default)(this,L)[L])try{(0,t.default)(this,L)[L].pause()}catch(e){r(d[4]).audioLog.warn('error pausing bgm',e)}}resume(){if((0,t.default)(this,s)[s])if((0,t.default)(this,b)[b])'suspended'===(0,t.default)(this,p)[p]?.state&&(0,t.default)(this,p)[p].resume(),(0,t.default)(this,b)[b].play().catch(e=>{r(d[4]).audioLog.warn('error resuming web bgm',e)}),r(d[4]).audioLog.debug('resumed web BGM');else if((0,t.default)(this,L)[L])try{(0,t.default)(this,L)[L].play(),r(d[4]).audioLog.debug('resumed BGM')}catch(e){r(d[4]).audioLog.warn('error resuming bgm',e)}}}function _(){if(!(0,t.default)(this,s)[s])return;const e=(0,t.default)(this,f)[f][(0,t.default)(this,n)[n]],l=!(0,t.default)(this,h)[h];try{'undefined'!=typeof document?(0,t.default)(this,B)[B](e,l):(0,t.default)(this,E)[E](e,l)}catch(e){r(d[4]).audioLog.warn('Failed to start BGM track',e),(0,t.default)(this,s)[s]=!1,(0,t.default)(this,T)[T](),(0,t.default)(this,A)[A]()}}function N(e,l){const u=(0,r(d[6]).audioAssetToUrl)(e);if(!(0,t.default)(this,p)[p]||'closed'===(0,t.default)(this,p)[p].state){const e=(0,r(d[7]).getUnlockedAudioContext)();if(!e||'closed'===e.state)return void r(d[4]).audioLog.error('BgmPlayer: no unlocked AudioContext available \u2014 webAudioUnlock may not have fired');(0,t.default)(this,p)[p]=e,(0,t.default)(this,y)[y]=(0,t.default)(this,p)[p].createGain(),(0,t.default)(this,y)[y].connect((0,t.default)(this,p)[p].destination)}'suspended'===(0,t.default)(this,p)[p].state&&(0,t.default)(this,p)[p].resume();const f=(0,t.default)(this,y)[y];f.gain.value=(0,t.default)(this,o)[o];let h=(0,t.default)(this,b)[b];if(h)h.src=u;else{h=(0,r(d[7]).getUnlockedBgmElement)()??new Audio(u),h.src&&h.src===u||(h.src=u);const e=(0,t.default)(this,p)[p].createMediaElementSource(h);e.connect(f),(0,t.default)(this,b)[b]=h,(0,t.default)(this,v)[v]=e}h.loop=l,(0,t.default)(this,j)[j]=!1,(0,t.default)(this,w)[w]&&(h.removeEventListener('ended',(0,t.default)(this,w)[w]),(0,t.default)(this,w)[w]=null),(0,t.default)(this,P)[P]&&(h.removeEventListener('timeupdate',(0,t.default)(this,P)[P]),(0,t.default)(this,P)[P]=null),l||((0,t.default)(this,w)[w]=()=>(0,t.default)(this,k)[k](),h.addEventListener('ended',(0,t.default)(this,w)[w])),(0,t.default)(this,P)[P]=()=>{if((0,t.default)(this,j)[j])return;const e=(0,t.default)(this,b)[b];e&&Number.isFinite(e.duration)&&0!==e.duration&&(e.currentTime<e.duration-.5||(l?((0,t.default)(this,j)[j]=!0,r(d[4]).audioLog.debug('timeupdate loop fallback triggered'),e.currentTime=0,e.play().catch(()=>{}),setTimeout(()=>{(0,t.default)(this,j)[j]=!1},1e3)):(0,t.default)(this,k)[k]()))},h.addEventListener('timeupdate',(0,t.default)(this,P)[P]),h.play().catch(e=>{r(d[4]).audioLog.warn('Web BGM play() rejected (autoplay policy?)',e),(0,t.default)(this,s)[s]=!1,(0,t.default)(this,T)[T]()}),r(d[4]).audioLog.debug('BGM track started (Web)',{index:(0,t.default)(this,n)[n]})}function U(){(0,t.default)(this,j)[j]||((0,t.default)(this,j)[j]=!0,(0,t.default)(this,G)[G]())}function F(e,l){const s=(0,u.createAudioPlayer)(e);(0,t.default)(this,L)[L]=s,s.volume=(0,t.default)(this,o)[o],s.loop=l,l||((0,t.default)(this,O)[O]=s.addListener('playbackStatusUpdate',e=>{'didJustFinish'in e&&e.didJustFinish&&(0,t.default)(this,G)[G]()})),s.play(),r(d[4]).audioLog.debug('BGM track started (Native)',{index:(0,t.default)(this,n)[n]})}function S(){if((0,t.default)(this,s)[s]){if((0,t.default)(this,L)[L]&&(0,t.default)(this,A)[A](),(0,t.default)(this,b)[b])try{(0,t.default)(this,b)[b].pause()}catch{}(0,t.default)(this,n)[n]++,(0,t.default)(this,n)[n]>=(0,t.default)(this,f)[f].length&&((0,t.default)(this,f)[f]=(0,r(d[5]).shuffleArray)((0,t.default)(this,f)[f]),(0,t.default)(this,n)[n]=0,r(d[4]).audioLog.debug('BGM playlist cycle complete, re-shuffled')),(0,t.default)(this,c)[c]=setTimeout(()=>{(0,t.default)(this,c)[c]=null,(0,t.default)(this,M)[M]()},2e3)}}function W(){if((0,t.default)(this,b)[b]){(0,t.default)(this,w)[w]&&((0,t.default)(this,b)[b].removeEventListener('ended',(0,t.default)(this,w)[w]),(0,t.default)(this,w)[w]=null),(0,t.default)(this,P)[P]&&((0,t.default)(this,b)[b].removeEventListener('timeupdate',(0,t.default)(this,P)[P]),(0,t.default)(this,P)[P]=null);try{(0,t.default)(this,b)[b].pause(),(0,t.default)(this,b)[b].removeAttribute('src'),(0,t.default)(this,b)[b].load()}catch{}}}function C(){if((0,t.default)(this,O)[O]&&((0,t.default)(this,O)[O].remove(),(0,t.default)(this,O)[O]=null),(0,t.default)(this,L)[L]){try{(0,t.default)(this,L)[L].pause(),(0,t.default)(this,L)[L].remove()}catch{}(0,t.default)(this,L)[L]=null}}},2263,[1819,1820,2251,1974,1061,1109,2264,2265]);
2561
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.audioAssetToUrl=function(t){return'string'==typeof t?t:'number'==typeof t?String(t):t.uri},Object.defineProperty(e,"AUDIO_TIMEOUT_MS",{enumerable:!0,get:function(){return t}});const t=15e3},2264,[]);
2562
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getUnlockedAudioContext=function(){return n},_e.getUnlockedAudioElement=function(){return t},_e.getUnlockedBgmElement=function(){return u},_e.setupWebAudioUnlock=function(){if('undefined'==typeof document)return;if(o)return;for(const e of A)document.addEventListener(e,c,!0);r(d[0]).audioLog.debug('webAudioUnlock: listeners registered')};const e='data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';let o=!1,n=null,t=null,u=null;function c(){if(!o){r(d[0]).audioLog.debug('webAudioUnlock: user gesture detected, unlocking audio');try{const o=new Audio;o.src=e,o.load(),t=o;const n=new Audio;n.crossOrigin='anonymous',n.src=e,n.load(),u=n,r(d[0]).audioLog.debug('webAudioUnlock: HTMLAudioElements created (TTS + BGM)')}catch(e){r(d[0]).audioLog.warn('webAudioUnlock: HTMLAudioElement creation failed',e)}try{const e=new AudioContext,o=e.createBuffer(1,1,22050),t=e.createBufferSource();t.buffer=o,t.connect(e.destination),t.start(0),'function'==typeof e.resume&&e.resume(),t.onended=()=>{t.disconnect(0),r(d[0]).audioLog.debug('webAudioUnlock: AudioContext unlocked')},n=e}catch(e){r(d[0]).audioLog.warn('webAudioUnlock: AudioContext unlock failed',e)}o=!0,l()}}const A=['touchstart','touchend','click','keydown'];function l(){for(const e of A)document.removeEventListener(e,c,!0)}},2265,[1061]);
2563
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}e(r(d[0])),e(r(d[1]));r(d[2]);'undefined'!=typeof process&&process.env},2266,[1819,1820,2251,1061]);
2564
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WebAudioStrategy",{enumerable:!0,get:function(){return b}});var t=e(r(d[0])),l=e(r(d[1])),u=(0,l.default)("audioElement"),o=(0,l.default)("isPlaying"),s=(0,l.default)("volume"),n=(0,l.default)("resolve"),f=(0,l.default)("timeoutId"),h=(0,l.default)("preloadedAudios"),c=(0,l.default)("settle");class b{constructor(){Object.defineProperty(this,c,{value:p}),Object.defineProperty(this,u,{writable:!0,value:null}),Object.defineProperty(this,o,{writable:!0,value:!1}),Object.defineProperty(this,s,{writable:!0,value:1}),Object.defineProperty(this,n,{writable:!0,value:null}),Object.defineProperty(this,f,{writable:!0,value:null}),Object.defineProperty(this,h,{writable:!0,value:new Map})}async play(e,l){return r(d[2]).audioLog.debug('WEB starting playback',{label:l}),new Promise(h=>{try{(0,t.default)(this,c)[c](),(0,t.default)(this,n)[n]=h,(0,t.default)(this,u)[u]&&((0,t.default)(this,u)[u].pause(),(0,t.default)(this,u)[u].onended=null,(0,t.default)(this,u)[u].onerror=null),(0,t.default)(this,f)[f]&&(clearTimeout((0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null);const b=(0,r(d[3],"./types").audioAssetToUrl)(e);r(d[2]).audioLog.debug('WEB audioUrl resolved',{label:l,audioUrl:b}),(0,t.default)(this,u)[u]||((0,t.default)(this,u)[u]=(0,r(d[4]).getUnlockedAudioElement)()??new Audio,r(d[2]).audioLog.debug('WEB audio element acquired',{label:l,fromUnlock:(0,t.default)(this,u)[u]===(0,r(d[4]).getUnlockedAudioElement)()}));const p=(0,t.default)(this,u)[u];(0,t.default)(this,o)[o]=!0,p.onended=()=>{r(d[2]).audioLog.debug('WEB onended fired',{label:l}),(0,t.default)(this,c)[c]()},p.onerror=()=>{r(d[2]).audioLog.warn('WEB Audio error',{label:l,errorCode:p.error?.code,errorMessage:p.error?.message}),(0,t.default)(this,c)[c]()},(0,t.default)(this,f)[f]=setTimeout(()=>{r(d[2]).audioLog.warn('WEB Playback timeout',{label:l}),p.pause(),(0,t.default)(this,c)[c]()},r(d[3],"./types").AUDIO_TIMEOUT_MS),p.volume=(0,t.default)(this,s)[s],p.src=b,r(d[2]).audioLog.debug('WEB calling audio.play()',{label:l}),p.play().then(()=>{r(d[2]).audioLog.debug('WEB play() promise resolved',{label:l})}).catch(e=>{r(d[2]).audioLog.warn('WEB play() failed',{label:l},e),(0,t.default)(this,c)[c]()})}catch(e){r(d[2]).audioLog.warn('WEB Audio playback failed',{label:l},e),(0,t.default)(this,o)[o]=!1,h()}})}stop(){if((0,t.default)(this,u)[u]){r(d[2]).audioLog.debug('WebAudioStrategy.stop: pausing audio element (keeping for reuse)');try{(0,t.default)(this,u)[u].pause(),(0,t.default)(this,u)[u].onended=null,(0,t.default)(this,u)[u].onerror=null}catch(e){r(d[2]).audioLog.warn('WebAudioStrategy.stop: error pausing',e)}}(0,t.default)(this,c)[c]()}getIsPlaying(){return(0,t.default)(this,o)[o]}pause(){if((0,t.default)(this,u)[u])try{(0,t.default)(this,u)[u].pause()}catch(e){r(d[2]).audioLog.warn('error pausing web audio',e)}}resume(){(0,t.default)(this,o)[o]&&(0,t.default)(this,u)[u]&&((0,t.default)(this,u)[u].play().catch(e=>{r(d[2]).audioLog.warn('error resuming web audio',e)}),r(d[2]).audioLog.debug('resumed web audio'))}setVolume(e){(0,t.default)(this,s)[s]=Math.max(0,Math.min(1,e)),(0,t.default)(this,u)[u]&&((0,t.default)(this,u)[u].volume=(0,t.default)(this,s)[s])}async preloadFile(e,l){if('undefined'==typeof document)return;if((0,t.default)(this,h)[h].has(e))return;const u=(0,r(d[3]).audioAssetToUrl)(l),o=new Audio;o.preload='auto',o.src=u,o.load(),(0,t.default)(this,h)[h].set(e,o)}clearPreloaded(){(0,t.default)(this,h)[h].clear(),r(d[2]).audioLog.debug('WebAudioStrategy: preloaded audio cleared')}cleanup(){this.stop(),this.clearPreloaded()}}function p(){(0,t.default)(this,f)[f]&&(clearTimeout((0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null),(0,t.default)(this,o)[o]=!1,(0,t.default)(this,n)[n]&&((0,t.default)(this,n)[n](),(0,t.default)(this,n)[n]=null)}},2267,[1819,1820,1061,2264,2265]);
2565
- __d(function(g,r,i,a,m,_e,_d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"CFAuthService",{enumerable:!0,get:function(){return j}});var e=t(r(_d[0])),s=t(r(_d[1])),u=(function(t){if(t&&t.__esModule)return t;var e={};return t&&Object.keys(t).forEach(function(s){var u=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,u.get?u:{enumerable:!0,get:function(){return t[s]}})}),e.default=t,e})(r(_d[2]));const n='cf_auth_token',d='cf_refresh_token';var l=(0,s.default)("currentUserId"),o=(0,s.default)("cachedAccessToken"),h=(0,s.default)("cachedRefreshToken"),f=(0,s.default)("isAnonymous"),c=(0,s.default)("hasWechat"),p=(0,s.default)("generatedName"),y=(0,s.default)("wechatLoginFailed"),w=(0,s.default)("initPromise"),b=(0,s.default)("autoSignIn"),k=(0,s.default)("saveTokens"),P=(0,s.default)("clearTokens"),v=(0,s.default)("refreshTokens"),_=(0,s.default)("handleAuthExpired"),A=(0,s.default)("isTokenExpired"),O=(0,s.default)("fetchAndCacheUser"),I=(0,s.default)("decodeUserIdFromJwt");class j{get wechatLoginFailed(){return(0,e.default)(this,y)[y]}constructor(){Object.defineProperty(this,I,{value:R}),Object.defineProperty(this,O,{value:E}),Object.defineProperty(this,A,{value:T}),Object.defineProperty(this,_,{value:x}),Object.defineProperty(this,v,{value:U}),Object.defineProperty(this,P,{value:L}),Object.defineProperty(this,k,{value:C}),Object.defineProperty(this,b,{value:W}),Object.defineProperty(this,l,{writable:!0,value:null}),Object.defineProperty(this,o,{writable:!0,value:null}),Object.defineProperty(this,h,{writable:!0,value:null}),Object.defineProperty(this,f,{writable:!0,value:!1}),Object.defineProperty(this,c,{writable:!0,value:!1}),Object.defineProperty(this,p,{writable:!0,value:null}),Object.defineProperty(this,y,{writable:!0,value:!1}),Object.defineProperty(this,w,{writable:!0,value:void 0}),(0,r(_d[3]).setTokenProvider)(()=>(0,e.default)(this,o)[o]),(0,r(_d[3]).setRefreshHandler)(()=>(0,e.default)(this,v)[v]()),(0,r(_d[3]).setOnAuthExpired)(()=>(0,e.default)(this,_)[_]()),(0,e.default)(this,w)[w]=(0,e.default)(this,b)[b]()}async waitForInit(){await(0,r(_d[4]).withTimeout)((0,e.default)(this,w)[w],25e3,()=>new Error('\u767b\u5f55\u8d85\u65f6\uff0c\u8bf7\u91cd\u8bd5'))}async ensureAuthenticated(){if((0,e.default)(this,l)[l])return(0,e.default)(this,l)[l];const t=await this.initAuth();return t||this.signInAnonymously()}isConfigured(){return!0}getCurrentUserId(){return(0,e.default)(this,l)[l]}async getCurrentUser(){return(0,e.default)(this,o)[o]?(0,r(_d[3]).cfGet)('/auth/user'):null}async signInAnonymously(){const t=await(0,r(_d[3]).cfPost)('/auth/anonymous',void 0,{skipAuthIntercept:!0});return(0,e.default)(this,k)[k](t.access_token,t.refresh_token),(0,e.default)(this,l)[l]=t.user.id,(0,e.default)(this,f)[f]=!0,u.setUser({id:t.user.id}),t.user.id}async signUpWithEmail(t,s,n){const d=await(0,r(_d[3]).cfPost)('/auth/signup',{email:t,password:s,displayName:n});return(0,e.default)(this,k)[k](d.access_token,d.refresh_token),(0,e.default)(this,l)[l]=d.user.id,(0,e.default)(this,f)[f]=!1,u.setUser({id:d.user.id}),{userId:d.user.id,user:d.user}}async signInWithEmail(t,s){const n=await(0,r(_d[3]).cfPost)('/auth/signin',{email:t,password:s},{skipAuthIntercept:!0});return(0,e.default)(this,k)[k](n.access_token,n.refresh_token),(0,e.default)(this,l)[l]=n.user.id,(0,e.default)(this,f)[f]=!1,u.setUser({id:n.user.id}),n.user.id}async updateProfile(t){await(0,r(_d[3]).cfPut)('/auth/profile',t)}async signOut(){try{await(0,r(_d[3]).cfPost)('/auth/signout')}catch{}(0,e.default)(this,P)[P](),(0,e.default)(this,l)[l]=null,(0,e.default)(this,f)[f]=!1,u.setUser(null)}async changePassword(t,s){await(0,r(_d[3]).cfPut)('/auth/password',{oldPassword:t,newPassword:s}),(0,e.default)(this,P)[P]()}async forgotPassword(t){await(0,r(_d[3]).cfPost)('/auth/forgot-password',{email:t},{skipAuthIntercept:!0})}async resetPassword(t,s,n){const d=await(0,r(_d[3]).cfPost)('/auth/reset-password',{email:t,code:s,newPassword:n},{skipAuthIntercept:!0});return(0,e.default)(this,k)[k](d.access_token,d.refresh_token),(0,e.default)(this,l)[l]=d.user.id,(0,e.default)(this,f)[f]=!1,u.setUser({id:d.user.id}),d.user.id}async signInWithWechat(t){const s=await(0,r(_d[3]).cfPost)('/auth/wechat',{code:t},{timeoutMs:2e4,skipAuthIntercept:!0});return(0,e.default)(this,k)[k](s.access_token,s.refresh_token),(0,e.default)(this,l)[l]=s.user.id,(0,e.default)(this,f)[f]=!1,u.setUser({id:s.user.id}),s.user.id}async bindWechat(t){await(0,r(_d[3]).cfPost)('/auth/bind-wechat',{code:t})}async initAuth(){const t=r(_d[5]).storage.getString(n)??null,s=r(_d[5]).storage.getString(d)??null;if(!t)return null;if((0,e.default)(this,o)[o]=t,(0,e.default)(this,h)[h]=s,(0,e.default)(this,A)[A](t)){if(r(_d[6]).authLog.debug('initAuth: access token expired locally, skipping GET /auth/user'),s){if(await(0,e.default)(this,v)[v]())return(0,e.default)(this,O)[O]()}return(0,e.default)(this,P)[P](),null}try{const t=await(0,r(_d[3]).cfGet)('/auth/user',{skipAuthIntercept:!0});return(0,e.default)(this,l)[l]=t.data.user.id,(0,e.default)(this,f)[f]=t.data.user.is_anonymous??!1,(0,e.default)(this,c)[c]=t.data.user.has_wechat??!1,u.setUser({id:t.data.user.id}),(0,e.default)(this,l)[l]}catch(n){const d=n.status;if(401===d||404===d){if(s){if(await(0,e.default)(this,v)[v]())return(0,e.default)(this,O)[O]()}return(0,e.default)(this,P)[P](),null}r(_d[6]).authLog.warn('initAuth: network error, keeping tokens for offline use',{status:d});const o=(0,e.default)(this,I)[I](t);return o?((0,e.default)(this,l)[l]=o,u.setUser({id:o}),o):null}}generateDisplayName(){if((0,e.default)(this,p)[p])return(0,e.default)(this,p)[p];const t=['\u9996\u5200','\u81ea\u5200','\u7a7a\u5200','\u6697\u5200','\u8865\u5200','\u4e71\u5200','\u6321\u5200','\u80cc\u5200','\u5200\u6cd5','\u91d1\u6c34','\u94f6\u6c34','\u67e5\u6740','\u53cd\u67e5','\u53d1\u6c34','\u6df1\u6c34','\u5bf9\u8df3','\u608d\u8df3','\u88f8\u8df3','\u8df3\u5751','\u7ad9\u8fb9','\u5f52\u7968','\u8dd1\u7968','\u98de\u7968','\u94c1\u7968','\u79d2\u6295','\u6539\u7968','\u6df7\u7968','\u51b2\u7968','\u62c9\u7968','\u6297\u63a8','\u625b\u63a8','\u653e\u9010','\u516c\u6295','\u4e0a\u8b66','\u9000\u6c34','\u5212\u6c34','\u8b66\u4e0a','\u8b66\u4e0b','\u8e29\u4eba','\u635e\u4eba','\u5012\u94a9','\u4e92\u8e29','\u4e92\u4fdd','\u81ea\u7206','\u7ffb\u76d8','\u7ffb\u724c','\u4eae\u724c','\u6697\u724c','\u660e\u724c','\u70b8\u724c','\u644a\u724c','\u53cd\u6c34','\u4e0a\u5cb8','\u62b1\u56e2','\u5bf9\u7ebf','\u62c9\u626f','\u7834\u7efd','\u6bd2\u5976','\u7529\u9505','\u80cc\u9505','\u6316\u5751','\u63a7\u573a','\u6253\u5e95','\u5f00\u8f66','\u642d\u8f66','\u5e26\u98de','\u5e26\u5751','\u8eba\u5e73','\u8eba\u8d62','\u8eba\u8f93','\u82df\u4f4f','\u51b2\u950b','\u6536\u5272','\u9006\u98ce','\u987a\u98ce','\u8d77\u98de','\u8840\u5d29','\u4e1d\u8840','\u6b8b\u5c40','\u5f00\u5c40','\u767d\u677f','\u795e\u4f4d','\u72fc\u5751','\u94c1\u72fc','\u72ec\u72fc','\u6c11\u610f','\u9057\u8a00','\u95ed\u773c','\u7741\u773c','\u5929\u9ed1','\u5929\u4eae','\u51fa\u5c40','\u7126\u70b9','\u53e3\u55e8','\u62cd\u684c','\u5403\u836f','\u8e6d\u8f66','\u62a2\u6c34','\u5b58\u6d3b','\u76d8\u903b\u8f91'],s=(0,r(_d[7]).getAllRoleIds)().map(t=>(0,r(_d[7]).getRoleSpec)(t).displayName),u=new Uint32Array(2);crypto.getRandomValues(u);const n=u[0]%t.length,d=u[1]%s.length;return(0,e.default)(this,p)[p]=t[n]+'\u7684'+s[d],(0,e.default)(this,p)[p]}}async function W(){try{const t=(0,r(_d[8],"@/utils/miniProgram").readWxCode)(),s=await this.initAuth();if(t)if(s&&!(0,e.default)(this,f)[f])if((0,e.default)(this,c)[c])(0,r(_d[8]).clearWxCode)(),r(_d[6]).authLog.debug('WeChat already bound, skipping bind');else{r(_d[6]).authLog.info('Binding WeChat to existing session');try{await this.bindWechat(t),(0,e.default)(this,c)[c]=!0,(0,r(_d[8]).clearWxCode)(),r(_d[6]).authLog.info('WeChat bind succeeded')}catch(t){r(_d[6]).authLog.warn('WeChat bind failed (non-fatal)',t)}}else try{await this.signInWithWechat(t),(0,r(_d[8]).clearWxCode)(),r(_d[6]).authLog.info('WeChat sign-in succeeded',{userId:(0,e.default)(this,l)[l]})}catch(t){(0,r(_d[8]).clearWxCode)(),r(_d[6]).authLog.warn('WeChat sign-in failed',t),(0,r(_d[8]).isMiniProgram)()?(0,e.default)(this,y)[y]=!0:(r(_d[6]).authLog.warn('WeChat sign-in failed outside miniprogram, falling back to anonymous'),await this.signInAnonymously())}else s&&r(_d[6]).authLog.info('Restored session',{userId:s})}catch(t){(0,r(_d[9]).handleError)(t,{label:'CFAuth.autoSignIn',logger:r(_d[6]).authLog,alertTitle:!1})}}function C(t,s){(0,e.default)(this,o)[o]=t,(0,e.default)(this,h)[h]=s,r(_d[5]).storage.set(n,t),r(_d[5]).storage.set(d,s)}function L(){(0,e.default)(this,o)[o]=null,(0,e.default)(this,h)[h]=null,r(_d[5]).storage.remove(n),r(_d[5]).storage.remove(d)}async function U(){const t=(0,e.default)(this,h)[h];if(!t)return!1;try{const s=await(0,r(_d[3]).cfPost)('/auth/refresh',{refresh_token:t},{skipAuthIntercept:!0,noRetry:!0});return(0,e.default)(this,k)[k](s.access_token,s.refresh_token),r(_d[6]).authLog.debug('Token refresh succeeded'),!0}catch(t){const s=t.status;return 401===s?(r(_d[6]).authLog.warn('Refresh token invalid, clearing session'),(0,e.default)(this,P)[P](),(0,e.default)(this,l)[l]=null,!1):(r(_d[6]).authLog.warn('Token refresh network error',{status:s}),!1)}}function x(){r(_d[6]).authLog.warn('Auth expired \u2014 all tokens invalid'),(0,e.default)(this,P)[P](),(0,e.default)(this,l)[l]=null,u.setUser(null)}function T(t){try{const e=t.split('.');if(3!==e.length)return!0;const s=JSON.parse(atob(e[1]));return'number'!=typeof s.exp||1e3*s.exp<Date.now()-3e4}catch{return!0}}async function E(){try{const t=await(0,r(_d[3]).cfGet)('/auth/user',{skipAuthIntercept:!0});return(0,e.default)(this,l)[l]=t.data.user.id,(0,e.default)(this,f)[f]=t.data.user.is_anonymous??!1,(0,e.default)(this,c)[c]=t.data.user.has_wechat??!1,u.setUser({id:t.data.user.id}),(0,e.default)(this,l)[l]}catch{return(0,e.default)(this,P)[P](),null}}function R(t){try{const e=t.split('.');if(3!==e.length)return null;return JSON.parse(atob(e[1])).sub??null}catch{return null}}},2268,[1819,1820,119,1072,2269,1054,1061,1077,1880,1903]);
2566
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.withTimeout=function(o,u,l){let s=null;const c='string'==typeof l?l:void 0,f='function'==typeof l?l:n,p=new Promise((n,o)=>{s=setTimeout(()=>{const n=f(u,c);t.warn('Timeout',{context:c??'unknown',ms:u}),o(n)},u)});return Promise.race([o,p]).finally(()=>{null!==s&&(clearTimeout(s),s=null)})};const t=r(d[0]).log.extend('Timeout'),n=(t,n)=>new Error(n?`Operation timed out after ${t}ms: ${n}`:`Operation timed out after ${t}ms`)},2269,[1061]);
2567
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"CFRoomService",{enumerable:!0,get:function(){return o}});class o{async createRoom(o,t,n=5,s){let c;for(let o=1;o<=n;o++){const u=1===o&&t?t:(0,r(d[0]).generateRoomCode)();try{const t=await(0,r(d[1],"./cfFetch").cfPost)('/room/create',{roomCode:u,initialState:s?s(u):void 0});return o>1&&r(d[2]).roomLog.info('Room created after retry',{attempt:o,roomCode:u}),{roomCode:t.room.roomCode,hostUserId:t.room.hostUserId,createdAt:new Date(t.room.createdAt)}}catch(t){if(409===t.status&&o<n){r(d[2]).roomLog.debug('Room code conflict, retrying',{roomCode:u,attempt:o});continue}c=t instanceof Error?t:new Error(String(t))}}throw c||new Error('Failed to create room after max retries')}async getRoom(o){const t=await(0,r(d[1]).cfPost)('/room/get',{roomCode:o});return t.room?{roomCode:t.room.roomCode,hostUserId:t.room.hostUserId,createdAt:new Date(t.room.createdAt)}:null}async roomExists(o){return null!==await this.getRoom(o)}async deleteRoom(o){r(d[2]).roomLog.info('deleteRoom',{roomCode:o}),await(0,r(d[1]).cfPost)('/room/delete',{roomCode:o})}async getStateRevision(o){r(d[2]).roomLog.debug('getStateRevision',{roomCode:o});return(await(0,r(d[1]).cfPost)('/room/revision',{roomCode:o})).revision}async getGameState(o){r(d[2]).roomLog.debug('getGameState',{roomCode:o});const t=await(0,r(d[1]).cfPost)('/room/state',{roomCode:o});return t.state?{state:t.state,revision:t.revision??0}:null}}},2270,[2271,1072,1061]);
2568
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.generateRoomCode=function(){return(1e3+Math.floor(9e3*(0,r(d[0]).secureRng)())).toString()}},2271,[1108]);
2569
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"SettingsService",{enumerable:!0,get:function(){return h}});var t=e(r(_d[0])),s=e(r(_d[1])),l=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(s){var l=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,l.get?l:{enumerable:!0,get:function(){return e[s]}})}),t.default=e,t})(r(_d[2]));const n='@werewolf_settings',o={bgmEnabled:!0,bgmTrack:'random',bgmVolume:r(_d[3]).BGM_VOLUME,roleAudioVolume:1};var u=(0,s.default)("settings"),d=(0,s.default)("loaded"),c=(0,s.default)("save"),f=(0,s.default)("listeners"),b=(0,s.default)("notifyListeners");class h{constructor(){Object.defineProperty(this,b,{value:y}),Object.defineProperty(this,c,{value:V}),Object.defineProperty(this,u,{writable:!0,value:Object.assign({},o)}),Object.defineProperty(this,d,{writable:!0,value:!1}),Object.defineProperty(this,f,{writable:!0,value:new Set})}async load(){if(!(0,t.default)(this,d)[d])try{const e=r(_d[4],"@/lib/storage").storage.getString(n);if(e){const s=JSON.parse(e);if('object'==typeof s&&null!==s){const e=Object.assign({},o,s);'boolean'!=typeof e.bgmEnabled&&(r(_d[5]).settingsServiceLog.warn('Invalid persisted bgmEnabled, resetting to default:',e.bgmEnabled),e.bgmEnabled=o.bgmEnabled),'random'===e.bgmTrack||r(_d[3]).VALID_BGM_TRACK_IDS.has(e.bgmTrack)||(r(_d[5]).settingsServiceLog.warn('Invalid persisted bgmTrack, resetting to default:',e.bgmTrack),e.bgmTrack=o.bgmTrack),'number'==typeof e.bgmVolume&&isFinite(e.bgmVolume)?e.bgmVolume=Math.max(0,Math.min(1,e.bgmVolume)):(r(_d[5]).settingsServiceLog.warn('Invalid persisted bgmVolume, resetting to default:',e.bgmVolume),e.bgmVolume=o.bgmVolume),'number'==typeof e.roleAudioVolume&&isFinite(e.roleAudioVolume)?e.roleAudioVolume=Math.max(0,Math.min(1,e.roleAudioVolume)):(r(_d[5]).settingsServiceLog.warn('Invalid persisted roleAudioVolume, resetting to default:',e.roleAudioVolume),e.roleAudioVolume=o.roleAudioVolume),(0,t.default)(this,u)[u]=e}}(0,t.default)(this,d)[d]=!0}catch(e){e instanceof Error&&('QuotaExceededError'===e.name||'SecurityError'===e.name)?r(_d[5]).settingsServiceLog.warn('Storage access failed while loading settings, using defaults',e):(r(_d[5]).settingsServiceLog.error('Failed to load settings, using defaults',e),l.captureException(e)),(0,t.default)(this,u)[u]=Object.assign({},o),(0,t.default)(this,d)[d]=!0}}isBgmEnabled(){return(0,t.default)(this,u)[u].bgmEnabled}async setBgmEnabled(e){(0,t.default)(this,u)[u].bgmEnabled=e,await(0,t.default)(this,c)[c]()}async toggleBgm(){return(0,t.default)(this,u)[u].bgmEnabled=!(0,t.default)(this,u)[u].bgmEnabled,await(0,t.default)(this,c)[c](),(0,t.default)(this,u)[u].bgmEnabled}getBgmTrack(){return(0,t.default)(this,u)[u].bgmTrack}async setBgmTrack(e){(0,t.default)(this,u)[u].bgmTrack=e,await(0,t.default)(this,c)[c]()}getBgmVolume(){return(0,t.default)(this,u)[u].bgmVolume}async setBgmVolume(e){(0,t.default)(this,u)[u].bgmVolume=Math.max(0,Math.min(1,e)),await(0,t.default)(this,c)[c]()}getRoleAudioVolume(){return(0,t.default)(this,u)[u].roleAudioVolume}async setRoleAudioVolume(e){(0,t.default)(this,u)[u].roleAudioVolume=Math.max(0,Math.min(1,e)),await(0,t.default)(this,c)[c]()}getAll(){return Object.assign({},(0,t.default)(this,u)[u])}addListener(e){return(0,t.default)(this,f)[f].add(e),()=>(0,t.default)(this,f)[f].delete(e)}}async function V(){try{r(_d[4],"@/lib/storage").storage.set(n,JSON.stringify((0,t.default)(this,u)[u])),(0,t.default)(this,b)[b]()}catch(e){e instanceof Error&&('QuotaExceededError'===e.name||'SecurityError'===e.name)?r(_d[5]).settingsServiceLog.warn('Storage access failed while saving settings',e):(r(_d[5]).settingsServiceLog.error('Failed to save settings',e),l.captureException(e))}}function y(){const e=Object.assign({},(0,t.default)(this,u)[u]);(0,t.default)(this,f)[f].forEach(t=>t(e))}},2272,[1819,1820,119,1974,1054,1061]);
2570
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"CFStorageService",{enumerable:!0,get:function(){return l}});var t=e(r(d[0])),n=e(r(d[1]));const o=r(d[2]).log.extend('CFAvatar');var u=(0,n.default)("prepareImage"),c=(0,n.default)("isDomCompressionAvailable"),s=(0,n.default)("compressImageWithDom");class l{constructor(){Object.defineProperty(this,s,{value:h}),Object.defineProperty(this,c,{value:p}),Object.defineProperty(this,u,{value:f})}async uploadAvatar(e){const n=await(0,t.default)(this,u)[u](e),c=new FormData;c.append('file',n,'avatar.jpg');const s=await(0,r(d[3]).cfUpload)('/avatar/upload',c);return o.debug('Avatar uploaded',{url:s.url}),s.url}}async function f(e){if((0,t.default)(this,c)[c]())return(0,t.default)(this,s)[s](e,512,.85);return(await fetch(e)).blob()}function p(){return'undefined'!=typeof Image&&'undefined'!=typeof document&&'function'==typeof document.createElement}function h(e,t,n){return new Promise((u,c)=>{const s=new Image;s.crossOrigin='anonymous',s.onload=()=>{let{width:e,height:l}=s;e>l&&e>t?(l=l*t/e,e=t):l>t&&(e=e*t/l,l=t);const f=document.createElement('canvas');f.width=e,f.height=l;const p=f.getContext('2d');p?(p.drawImage(s,0,0,e,l),f.toBlob(e=>{e?(o.debug('Compressed image',{sizeKB:Math.round(e.size/1024)}),u(e)):c(new Error('\u56fe\u7247\u538b\u7f29\u5931\u8d25\uff0c\u8bf7\u6362\u4e00\u5f20\u56fe\u7247\u91cd\u8bd5'))},'image/jpeg',n)):c(new Error('\u56fe\u7247\u5904\u7406\u5931\u8d25\uff0c\u8bf7\u6362\u4e00\u5f20\u56fe\u7247\u91cd\u8bd5'))},s.onerror=()=>c(new Error('\u56fe\u7247\u52a0\u8f7d\u5931\u8d25\uff0c\u8bf7\u6362\u4e00\u5f20\u56fe\u7247\u91cd\u8bd5')),s.src=e})}},2273,[1819,1820,1061,1072]);
2571
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"GameStore",{enumerable:!0,get:function(){return r(d[0]).GameStore}})},2274,[2275]);
2572
- __d(function(g,r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GameStore",{enumerable:!0,get:function(){return c}});var e=t(r(d[0])),l=t(r(d[1]));const s=(0,r(d[2]).getEngineLogger)().extend('GameStore');var u=(0,l.default)("state"),n=(0,l.default)("revision"),f=(0,l.default)("listeners"),o=(0,l.default)("lastAction"),h=(0,l.default)("notifyListeners");class c{constructor(){Object.defineProperty(this,h,{value:b}),Object.defineProperty(this,u,{writable:!0,value:null}),Object.defineProperty(this,n,{writable:!0,value:0}),Object.defineProperty(this,f,{writable:!0,value:new Set}),Object.defineProperty(this,o,{writable:!0,value:null})}getState(){return(0,e.default)(this,u)[u]}getRevision(){return(0,e.default)(this,n)[n]}subscribe(t){return(0,e.default)(this,f)[f].add(t),()=>{(0,e.default)(this,f)[f].delete(t)}}applySnapshot(t,l,s){l<=(0,e.default)(this,n)[n]||((0,e.default)(this,u)[u]=(0,r(d[3]).normalizeState)(t),(0,e.default)(this,n)[n]=l,(0,e.default)(this,o)[o]=s??null,(0,e.default)(this,h)[h]())}setState(t){(0,e.default)(this,u)[u]=(0,r(d[3]).normalizeState)(t),(0,e.default)(this,n)[n]+=1,(0,e.default)(this,h)[h]()}updateState(t){if(!(0,e.default)(this,u)[u])throw new Error('Cannot update state: no state initialized');const l=t((0,e.default)(this,u)[u]);this.setState(l)}initialize(t){(0,e.default)(this,u)[u]=(0,r(d[3]).normalizeState)(t),(0,e.default)(this,n)[n]=1,(0,e.default)(this,h)[h]()}reset(){(0,e.default)(this,u)[u]=null,(0,e.default)(this,n)[n]=0,(0,e.default)(this,o)[o]=null;for(const t of(0,e.default)(this,f)[f])try{t(null,0)}catch(t){s.error('Listener error in reset',{error:t})}}destroy(){(0,e.default)(this,u)[u]=null,(0,e.default)(this,n)[n]=0,(0,e.default)(this,o)[o]=null,(0,e.default)(this,f)[f].clear()}consumeLastAction(){const t=(0,e.default)(this,o)[o];return(0,e.default)(this,o)[o]=null,t}getListenerCount(){return(0,e.default)(this,f)[f].size}}function b(){if((0,e.default)(this,u)[u])for(const t of(0,e.default)(this,f)[f])try{t((0,e.default)(this,u)[u],(0,e.default)(this,n)[n])}catch(t){s.error('Listener error',{error:t})}}},2275,[1819,1820,1087,2276]);
2573
- __d(function(g,r,i,a,m,e,d){"use strict";function t(t){if(void 0===t)return;const o={};for(const[s,n]of Object.entries(t))o[String(s)]=n;return o}function o(t,o){if(void 0===t)throw new Error(`normalizeState: missing required field: ${o}`);return t}Object.defineProperty(e,'__esModule',{value:!0}),e.normalizeState=function(s){const n=t(s.currentNightResults?.wolfVotesBySeat),l=s.currentNightResults?Object.assign({},s.currentNightResults,{wolfVotesBySeat:n}):s.currentNightResults;return{roomCode:o(s.roomCode,'roomCode'),hostUserId:o(s.hostUserId,'hostUserId'),status:o(s.status,'status'),templateRoles:o(s.templateRoles,'templateRoles'),players:o(s.players,'players'),roster:s.roster??{},currentStepIndex:o(s.currentStepIndex,'currentStepIndex'),isAudioPlaying:o(s.isAudioPlaying,'isAudioPlaying'),actions:s.actions??[],currentNightResults:l,pendingRevealAcks:s.pendingRevealAcks??[],lastNightDeaths:s.lastNightDeaths,deathReasons:s.deathReasons,currentStepId:s.currentStepId,roleRevealRandomNonce:s.roleRevealRandomNonce,nightmareBlockedSeat:s.nightmareBlockedSeat,wolfKillOverride:s.wolfKillOverride,witchContext:s.witchContext,seerReveal:s.seerReveal,mirrorSeerReveal:s.mirrorSeerReveal,drunkSeerReveal:s.drunkSeerReveal,psychicReveal:s.psychicReveal,gargoyleReveal:s.gargoyleReveal,pureWhiteReveal:s.pureWhiteReveal,wolfWitchReveal:s.wolfWitchReveal,wolfRobotReveal:s.wolfRobotReveal,wolfRobotHunterStatusViewed:s.wolfRobotHunterStatusViewed,wolfRobotContext:s.wolfRobotContext,confirmStatus:s.confirmStatus,actionRejected:s.actionRejected,stepDeadline:s.stepDeadline,pendingAudioEffects:s.pendingAudioEffects,ui:s.ui,debugMode:s.debugMode,seerLabelMap:s.seerLabelMap,nightReviewAllowedSeats:s.nightReviewAllowedSeats,hypnotizedSeats:s.hypnotizedSeats,piperRevealAcks:s.piperRevealAcks,convertedSeat:s.convertedSeat,conversionRevealAcks:s.conversionRevealAcks,bottomCards:s.bottomCards,treasureMasterSeat:s.treasureMasterSeat,treasureMasterChosenCard:s.treasureMasterChosenCard,effectiveTeam:s.effectiveTeam,bottomCardStepRoles:s.bottomCardStepRoles,thiefSeat:s.thiefSeat,thiefChosenCard:s.thiefChosenCard,loverSeats:s.loverSeats,cupidSeat:s.cupidSeat,cupidLoversRevealAcks:s.cupidLoversRevealAcks,boardNominations:s.boardNominations}}},2276,[]);
2574
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"CFRealtimeService",{enumerable:!0,get:function(){return f}});var t=e(r(_d[0])),n=e(r(_d[1]));var o=(0,n.default)("ws"),s=(0,n.default)("handlers"),l=(0,n.default)("generation"),d=(0,n.default)("closeWsSilent"),u=(0,n.default)("parseMessage");class f{constructor(){Object.defineProperty(this,u,{value:p}),Object.defineProperty(this,d,{value:c}),Object.defineProperty(this,o,{writable:!0,value:null}),Object.defineProperty(this,s,{writable:!0,value:null}),Object.defineProperty(this,l,{writable:!0,value:0})}setEventHandlers(e){(0,t.default)(this,s)[s]=e}connect(e,n){(0,t.default)(this,d)[d]();const f=++(0,t.default)(this,l)[l],c=r(_d[2]).API_BASE_URL.replace(/^http/,'ws'),p=(0,r(_d[3]).getCurrentToken)(),h=`${c}/ws?roomCode=${encodeURIComponent(e)}&token=${encodeURIComponent(p??'')}`;r(_d[4]).realtimeLog.info('Transport: connecting',{roomCode:e});const b=new WebSocket(h),y=setTimeout(()=>{f===(0,t.default)(this,l)[l]&&(r(_d[4]).realtimeLog.warn('Transport: connection timeout'),b.close())},8e3);b.onopen=()=>{f===(0,t.default)(this,l)[l]?(clearTimeout(y),(0,t.default)(this,o)[o]=b,r(_d[4]).realtimeLog.info('Transport: WebSocket open',{roomCode:e}),(0,t.default)(this,s)[s]?.onOpen()):b.close()},b.onmessage=e=>{f===(0,t.default)(this,l)[l]&&(0,t.default)(this,u)[u](e)},b.onclose=e=>{f===(0,t.default)(this,l)[l]&&(clearTimeout(y),(0,t.default)(this,o)[o]===b&&((0,t.default)(this,o)[o]=null),r(_d[4]).realtimeLog.info('Transport: WebSocket closed',{code:e.code,reason:e.reason}),(0,t.default)(this,s)[s]?.onClose(e.code,e.reason))},b.onerror=()=>{f===(0,t.default)(this,l)[l]&&(clearTimeout(y),r(_d[4]).realtimeLog.warn('Transport: WebSocket error'),(0,t.default)(this,s)[s]?.onError(new Error('WebSocket error')))}}disconnect(){(0,t.default)(this,d)[d]()}send(e){(0,t.default)(this,o)[o]?.readyState===WebSocket.OPEN?(0,t.default)(this,o)[o].send(e):r(_d[4]).realtimeLog.warn('Transport: send dropped (WS not open)',{readyState:(0,t.default)(this,o)[o]?.readyState})}}function c(){if((0,t.default)(this,l)[l]++,(0,t.default)(this,o)[o]){const e=(0,t.default)(this,o)[o];(0,t.default)(this,o)[o]=null;try{e.close()}catch{}}}function p(e){try{const n=JSON.parse(e.data);if(!h(n))return;if('STATE_UPDATE'===n.type&&'state'in n&&'revision'in n){const{state:e,revision:o,lastAction:l}=n;r(_d[4]).realtimeLog.debug('Transport: STATE_UPDATE',{revision:o}),(0,t.default)(this,s)[s]?.onStateUpdate(e,o,l)}else if('SETTLE_RESULT'===n.type){const e=n;'number'==typeof e.xpEarned&&'number'==typeof e.newXp&&'number'==typeof e.newLevel&&'number'==typeof e.previousLevel&&(0,t.default)(this,s)[s]?.onSettleResult({xpEarned:e.xpEarned,newXp:e.newXp,newLevel:e.newLevel,previousLevel:e.previousLevel,normalDrawsEarned:'number'==typeof e.normalDrawsEarned?e.normalDrawsEarned:0,goldenDrawsEarned:'number'==typeof e.goldenDrawsEarned?e.goldenDrawsEarned:0})}else'pong'===n.type&&(0,t.default)(this,s)[s]?.onPong()}catch{r(_d[4]).realtimeLog.warn('Transport: failed to parse WS message')}}function h(e){return'object'==typeof e&&null!==e&&'type'in e&&'string'==typeof e.type}},2277,[1819,1820,1070,1072,1061]);
2575
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ConnectionManager",{enumerable:!0,get:function(){return K}});var t=e(r(d[0])),n=e(r(d[1])),l=(0,n.default)("ctx"),s=(0,n.default)("deps"),o=(0,n.default)("stateListeners"),u=(0,n.default)("retryTimer"),f=(0,n.default)("pingInterval"),h=(0,n.default)("pongTimeout"),c=(0,n.default)("revisionPollTimer"),v=(0,n.default)("revisionPollCurrentMs"),b=(0,n.default)("onlineHandler"),p=(0,n.default)("offlineHandler"),y=(0,n.default)("visibilityHandler"),E=(0,n.default)("pageshowHandler"),O=(0,n.default)("focusHandler"),S=(0,n.default)("connectWaitResolve"),I=(0,n.default)("connectWaitReject"),P=(0,n.default)("connectWaitTimeout"),L=(0,n.default)("dispatch"),T=(0,n.default)("executeSideEffect"),w=(0,n.default)("settleConnectWait"),_=(0,n.default)("startPing"),R=(0,n.default)("stopPing"),C=(0,n.default)("startPongTimeout"),j=(0,n.default)("cancelPongTimeout"),N=(0,n.default)("handlePong"),A=(0,n.default)("scheduleRetry"),M=(0,n.default)("cancelRetry"),V=(0,n.default)("fetchState"),B=(0,n.default)("revisionPollGeneration"),W=(0,n.default)("startRevisionPoll"),F=(0,n.default)("stopRevisionPoll"),k=(0,n.default)("resetRevisionPollInterval"),H=(0,n.default)("scheduleNextRevisionPoll"),D=(0,n.default)("checkRevisionAndReschedule"),U=(0,n.default)("registerPlatformListeners"),Y=(0,n.default)("unregisterPlatformListeners"),x=(0,n.default)("notifyStateListeners"),G=(0,n.default)("executeLog");class K{constructor(e){Object.defineProperty(this,G,{value:he}),Object.defineProperty(this,x,{value:re}),Object.defineProperty(this,Y,{value:fe}),Object.defineProperty(this,U,{value:ue}),Object.defineProperty(this,D,{value:de}),Object.defineProperty(this,H,{value:oe}),Object.defineProperty(this,k,{value:se}),Object.defineProperty(this,F,{value:le}),Object.defineProperty(this,W,{value:ae}),Object.defineProperty(this,V,{value:ne}),Object.defineProperty(this,M,{value:ie}),Object.defineProperty(this,A,{value:te}),Object.defineProperty(this,N,{value:ee}),Object.defineProperty(this,j,{value:Z}),Object.defineProperty(this,C,{value:Q}),Object.defineProperty(this,R,{value:z}),Object.defineProperty(this,_,{value:q}),Object.defineProperty(this,w,{value:X}),Object.defineProperty(this,T,{value:J}),Object.defineProperty(this,L,{value:$}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,s,{writable:!0,value:void 0}),Object.defineProperty(this,o,{writable:!0,value:new Set}),Object.defineProperty(this,u,{writable:!0,value:null}),Object.defineProperty(this,f,{writable:!0,value:null}),Object.defineProperty(this,h,{writable:!0,value:null}),Object.defineProperty(this,c,{writable:!0,value:null}),Object.defineProperty(this,v,{writable:!0,value:r(d[2]).REVISION_POLL_BASE_MS}),Object.defineProperty(this,b,{writable:!0,value:null}),Object.defineProperty(this,p,{writable:!0,value:null}),Object.defineProperty(this,y,{writable:!0,value:null}),Object.defineProperty(this,E,{writable:!0,value:null}),Object.defineProperty(this,O,{writable:!0,value:null}),Object.defineProperty(this,S,{writable:!0,value:null}),Object.defineProperty(this,I,{writable:!0,value:null}),Object.defineProperty(this,P,{writable:!0,value:null}),Object.defineProperty(this,B,{writable:!0,value:0}),(0,t.default)(this,s)[s]=e,(0,t.default)(this,l)[l]=(0,r(d[3]).createInitialContext)(),e.transport.setEventHandlers({onOpen:()=>(0,t.default)(this,L)[L]({type:'WS_OPEN'}),onClose:(e,n)=>(0,t.default)(this,L)[L]({type:'WS_CLOSE',code:e,reason:n}),onError:e=>(0,t.default)(this,L)[L]({type:'WS_ERROR',error:e}),onStateUpdate:(n,l,s)=>{e.onStateUpdate(n,l,s),(0,t.default)(this,L)[L]({type:'STATE_UPDATE',revision:l}),(0,t.default)(this,k)[k]()},onPong:()=>(0,t.default)(this,N)[N](),onSettleResult:t=>e.onSettleResult?.(t)}),(0,t.default)(this,U)[U]()}addStateListener(e){return(0,t.default)(this,o)[o].add(e),e((0,t.default)(this,l)[l].state),()=>(0,t.default)(this,o)[o].delete(e)}getState(){return(0,t.default)(this,l)[l].state}getContext(){return(0,t.default)(this,l)[l]}async connectAndWait(e,n,s=15e3){if((0,t.default)(this,l)[l].state===r(d[2]).ConnectionState.Connected&&(0,t.default)(this,l)[l].roomCode===e)return r(d[4]).connectionLog.debug('Already connected, re-fetching state',{roomCode:e}),void await(0,t.default)(this,V)[V](e);if((0,t.default)(this,l)[l].state===r(d[2]).ConnectionState.Disposed)throw new Error('Cannot connect: ConnectionManager is disposed');return r(d[4]).connectionLog.info('connectAndWait',{roomCode:e,userId:n}),new Promise((l,o)=>{(0,t.default)(this,w)[w](new(r(d[2]).SupersededError)),(0,t.default)(this,S)[S]=l,(0,t.default)(this,I)[I]=o,(0,t.default)(this,P)[P]=setTimeout(()=>{(0,t.default)(this,w)[w](new Error(`connectAndWait timeout after ${s}ms`))},s),(0,t.default)(this,L)[L]({type:'CONNECT',roomCode:e,userId:n})})}connect(e,n){(0,t.default)(this,L)[L]({type:'CONNECT',roomCode:e,userId:n})}manualReconnect(){(0,t.default)(this,L)[L]({type:'MANUAL_RECONNECT'})}disconnect(){r(d[4]).connectionLog.info('disconnect'),(0,t.default)(this,w)[w](new Error('Connection disconnected')),(0,t.default)(this,L)[L]({type:'DISCONNECT'})}dispose(){r(d[4]).connectionLog.info('dispose'),(0,t.default)(this,w)[w](new Error('Connection disposed')),(0,t.default)(this,L)[L]({type:'DISPOSE'}),(0,t.default)(this,Y)[Y](),(0,t.default)(this,o)[o].clear()}updateRevision(e){e>(0,t.default)(this,l)[l].lastRevision&&((0,t.default)(this,l)[l]=Object.assign({},(0,t.default)(this,l)[l],{lastRevision:e}))}}function $(e){const n=(0,t.default)(this,l)[l].state,s=(0,r(d[3]).transition)((0,t.default)(this,l)[l],e);(0,t.default)(this,l)[l]=s.ctx;for(const e of s.effects)(0,t.default)(this,T)[T](e);n!==(0,t.default)(this,l)[l].state&&(r(d[4]).connectionLog.info('State transition',{from:n,to:(0,t.default)(this,l)[l].state,event:e.type}),(0,t.default)(this,x)[x](),(0,t.default)(this,l)[l].state===r(d[2]).ConnectionState.Connected?(0,t.default)(this,w)[w](null):(0,t.default)(this,l)[l].state!==r(d[2]).ConnectionState.Failed&&(0,t.default)(this,l)[l].state!==r(d[2]).ConnectionState.Disposed||(0,t.default)(this,w)[w](new Error(`Connection ${(0,t.default)(this,l)[l].state}`)))}function J(e){switch(e.type){case'OPEN_WS':(0,t.default)(this,s)[s].transport.connect(e.roomCode,e.userId);break;case'CLOSE_WS':(0,t.default)(this,s)[s].transport.disconnect();break;case'FETCH_STATE':(0,t.default)(this,V)[V](e.roomCode);break;case'SCHEDULE_RETRY':(0,t.default)(this,A)[A](e.delayMs);break;case'CANCEL_RETRY':(0,t.default)(this,M)[M]();break;case'START_PING':(0,t.default)(this,_)[_]();break;case'STOP_PING':(0,t.default)(this,R)[R]();break;case'START_REVISION_POLL':(0,t.default)(this,W)[W]();break;case'STOP_REVISION_POLL':(0,t.default)(this,F)[F]();break;case'LOG':(0,t.default)(this,G)[G](e)}}function X(e){(0,t.default)(this,P)[P]&&(clearTimeout((0,t.default)(this,P)[P]),(0,t.default)(this,P)[P]=null),e?(0,t.default)(this,I)[I]?.(e):(0,t.default)(this,S)[S]?.(),(0,t.default)(this,S)[S]=null,(0,t.default)(this,I)[I]=null}function q(){(0,t.default)(this,R)[R](),(0,t.default)(this,f)[f]=setInterval(()=>{(0,t.default)(this,s)[s].transport.send(JSON.stringify({type:'ping'})),(0,t.default)(this,C)[C]()},r(d[2]).PING_INTERVAL_MS)}function z(){(0,t.default)(this,f)[f]&&(clearInterval((0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null),(0,t.default)(this,j)[j]()}function Q(){(0,t.default)(this,j)[j](),(0,t.default)(this,h)[h]=setTimeout(()=>{r(d[4]).connectionLog.warn('Pong timeout \u2014 treating connection as dead'),(0,t.default)(this,L)[L]({type:'PING_TIMEOUT'})},r(d[2]).PONG_TIMEOUT_MS)}function Z(){(0,t.default)(this,h)[h]&&(clearTimeout((0,t.default)(this,h)[h]),(0,t.default)(this,h)[h]=null)}function ee(){(0,t.default)(this,j)[j]()}function te(e){r(d[4]).connectionLog.debug('Scheduling retry',{delayMs:e}),(0,t.default)(this,M)[M](),(0,t.default)(this,u)[u]=setTimeout(()=>{(0,t.default)(this,u)[u]=null,(0,t.default)(this,L)[L]({type:'RETRY_TIMER_FIRED'})},e)}function ie(){(0,t.default)(this,u)[u]&&(clearTimeout((0,t.default)(this,u)[u]),(0,t.default)(this,u)[u]=null)}async function ne(e){try{const n=await(0,t.default)(this,s)[s].fetchStateFromDB(e);n?((0,t.default)(this,s)[s].onFetchedState(n.state,n.revision),(0,t.default)(this,L)[L]({type:'FETCH_SUCCESS',revision:n.revision})):(0,t.default)(this,L)[L]({type:'FETCH_FAILURE',error:new Error('No state returned')})}catch(n){r(d[4]).connectionLog.warn('fetchState failed',{roomCode:e,error:n}),(0,t.default)(this,L)[L]({type:'FETCH_FAILURE',error:n})}}function ae(){(0,t.default)(this,F)[F](),(0,t.default)(this,v)[v]=r(d[2]).REVISION_POLL_BASE_MS,(0,t.default)(this,H)[H]()}function le(){(0,t.default)(this,B)[B]++,(0,t.default)(this,c)[c]&&(clearTimeout((0,t.default)(this,c)[c]),(0,t.default)(this,c)[c]=null)}function se(){(0,t.default)(this,v)[v]=r(d[2]).REVISION_POLL_BASE_MS,(0,t.default)(this,F)[F](),(0,t.default)(this,H)[H]()}function oe(){const e=(0,t.default)(this,B)[B];(0,t.default)(this,c)[c]=setTimeout(()=>{(0,t.default)(this,c)[c]=null,e===(0,t.default)(this,B)[B]&&('undefined'==typeof document||'visible'===document.visibilityState?(0,t.default)(this,D)[D](e):(0,t.default)(this,H)[H]())},(0,t.default)(this,v)[v])}async function de(e){const n=(0,t.default)(this,l)[l].roomCode;if(!n)return void(e===(0,t.default)(this,B)[B]&&(0,t.default)(this,H)[H]());let o=!1;try{const e=await(0,t.default)(this,s)[s].getStateRevision(n);null!=e&&e>(0,t.default)(this,l)[l].lastRevision&&(o=!0,(0,t.default)(this,L)[L]({type:'REVISION_DRIFT',dbRevision:e}))}catch(e){r(d[4]).connectionLog.warn('Revision poll failed',{roomCode:n,error:e})}e===(0,t.default)(this,B)[B]&&((0,t.default)(this,v)[v]=o?r(d[2]).REVISION_POLL_BASE_MS:Math.min(2*(0,t.default)(this,v)[v],r(d[2]).REVISION_POLL_MAX_MS),(0,t.default)(this,H)[H]())}function ue(){'function'==typeof globalThis.window?.addEventListener&&((0,t.default)(this,b)[b]=()=>(0,t.default)(this,L)[L]({type:'NETWORK_ONLINE'}),(0,t.default)(this,p)[p]=()=>(0,t.default)(this,L)[L]({type:'NETWORK_OFFLINE'}),globalThis.window.addEventListener('online',(0,t.default)(this,b)[b]),globalThis.window.addEventListener('offline',(0,t.default)(this,p)[p])),'undefined'!=typeof document&&((0,t.default)(this,y)[y]=()=>{'visible'===document.visibilityState?(0,t.default)(this,L)[L]({type:'VISIBILITY_VISIBLE'}):(0,t.default)(this,L)[L]({type:'VISIBILITY_HIDDEN'})},document.addEventListener('visibilitychange',(0,t.default)(this,y)[y])),'function'==typeof globalThis.window?.addEventListener&&((0,t.default)(this,E)[E]=e=>{e.persisted&&!(0,t.default)(this,l)[l].visible&&'visible'===document.visibilityState&&(r(d[4]).connectionLog.debug('pageshow fallback \u2192 VISIBILITY_VISIBLE'),(0,t.default)(this,L)[L]({type:'VISIBILITY_VISIBLE'}))},globalThis.window.addEventListener('pageshow',(0,t.default)(this,E)[E])),'function'==typeof globalThis.window?.addEventListener&&((0,t.default)(this,O)[O]=()=>{(0,t.default)(this,l)[l].visible||'visible'!==document.visibilityState||(r(d[4]).connectionLog.debug('focus fallback \u2192 VISIBILITY_VISIBLE'),(0,t.default)(this,L)[L]({type:'VISIBILITY_VISIBLE'}))},globalThis.window.addEventListener('focus',(0,t.default)(this,O)[O]))}function fe(){'function'==typeof globalThis.window?.removeEventListener&&((0,t.default)(this,b)[b]&&(globalThis.window.removeEventListener('online',(0,t.default)(this,b)[b]),(0,t.default)(this,b)[b]=null),(0,t.default)(this,p)[p]&&(globalThis.window.removeEventListener('offline',(0,t.default)(this,p)[p]),(0,t.default)(this,p)[p]=null),(0,t.default)(this,E)[E]&&(globalThis.window.removeEventListener('pageshow',(0,t.default)(this,E)[E]),(0,t.default)(this,E)[E]=null),(0,t.default)(this,O)[O]&&(globalThis.window.removeEventListener('focus',(0,t.default)(this,O)[O]),(0,t.default)(this,O)[O]=null)),'undefined'!=typeof document&&(0,t.default)(this,y)[y]&&(document.removeEventListener('visibilitychange',(0,t.default)(this,y)[y]),(0,t.default)(this,y)[y]=null)}function re(){const e=(0,t.default)(this,l)[l].state;(0,t.default)(this,o)[o].forEach(t=>t(e))}function he(e){const{level:t,message:n,data:l}=e;l?r(d[4]).connectionLog[t](n,l):r(d[4]).connectionLog[t](n)}},2278,[1819,1820,2129,2279,1061]);
2576
- __d(function(g,r,i,a,m,e,d){"use strict";function t(t){return{state:r(d[0]).ConnectionState.Idle,roomCode:null,userId:null,attempt:0,maxAttempts:t?.maxAttempts??r(d[0]).DEFAULT_MAX_ATTEMPTS,lastRevision:0,networkOnline:!0,visible:!0}}function n(t,n){if('CONNECT'===n.type){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connecting,roomCode:n.roomCode,userId:n.userId,attempt:0,lastRevision:0}),effects:[I('info',"Idle \u2192 Connecting",{roomCode:n.roomCode}),{type:'OPEN_WS',roomCode:n.roomCode,userId:n.userId}]}}return'DISCONNECT'===n.type?f(t):'DISPOSE'===n.type?u(t):f(t)}function c(t,n){switch(n.type){case'CONNECT':return p(t,n);case'WS_OPEN':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Syncing}),effects:[I('info',"Connecting \u2192 Syncing"),{type:'START_PING'},{type:'FETCH_STATE',roomCode:t.roomCode}]};case'WS_CLOSE':{const c=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),o=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:c,effects:[I('warn',"Connecting \u2192 Disconnected (WS_CLOSE)",{code:n.code,reason:n.reason}),{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:o}]}}case'WS_ERROR':return{ctx:t,effects:[I('warn','WS_ERROR during Connecting (waiting for WS_CLOSE)')]};case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function o(t,n){switch(n.type){case'FETCH_SUCCESS':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connected,attempt:0,lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[I('info',"Syncing \u2192 Connected",{revision:n.revision}),{type:'CANCEL_RETRY'},{type:'START_REVISION_POLL'}]};case'STATE_UPDATE':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connected,attempt:0,lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[I('info',"Syncing \u2192 Connected (via STATE_UPDATE)",{revision:n.revision}),{type:'CANCEL_RETRY'},{type:'START_REVISION_POLL'}]};case'FETCH_FAILURE':{const n=t.attempt+1;if(n>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed,attempt:n}),effects:[I('error',`Syncing \u2192 Failed (max attempts: ${t.maxAttempts})`,{attempt:n}),{type:'CLOSE_WS'},{type:'STOP_PING'}]}}const c=Object.assign({},t,{attempt:n}),o=(0,r(d[1]).calculateBackoff)(n);return{ctx:c,effects:[I('warn',"FETCH_FAILURE in Syncing, scheduling retry",{attempt:n,nextDelay:o}),{type:'SCHEDULE_RETRY',delayMs:o}]}}case'RETRY_TIMER_FIRED':return{ctx:t,effects:[I('info',"Syncing: retrying fetch",{attempt:t.attempt}),{type:'FETCH_STATE',roomCode:t.roomCode}]};case'WS_CLOSE':{const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Syncing \u2192 Disconnected (WS_CLOSE)"),{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'PING_TIMEOUT':{const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Syncing \u2192 Disconnected (PING_TIMEOUT)"),{type:'CLOSE_WS'},{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function s(t,n){switch(n.type){case'STATE_UPDATE':return{ctx:Object.assign({},t,{lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[I('debug','STATE_UPDATE',{revision:n.revision})]};case'WS_CLOSE':{const c=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),o=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:c,effects:[I('warn',"Connected \u2192 Disconnected (WS_CLOSE)",{code:n.code,reason:n.reason}),{type:'STOP_PING'},{type:'STOP_REVISION_POLL'},{type:'SCHEDULE_RETRY',delayMs:o}]}}case'PING_TIMEOUT':{const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Connected \u2192 Disconnected (PING_TIMEOUT)"),{type:'CLOSE_WS'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'VISIBILITY_VISIBLE':return{ctx:Object.assign({},t,{visible:!0}),effects:[I('info','Foreground: fetching state from DB'),{type:'FETCH_STATE',roomCode:t.roomCode},{type:'START_REVISION_POLL'},{type:'START_PING'}]};case'VISIBILITY_HIDDEN':return{ctx:Object.assign({},t,{visible:!1}),effects:[I('info','Background: pausing revision poll + ping'),{type:'STOP_REVISION_POLL'},{type:'STOP_PING'}]};case'NETWORK_OFFLINE':return{ctx:Object.assign({},t,{networkOnline:!1}),effects:[I('info','Network offline (Connected)')]};case'NETWORK_ONLINE':return{ctx:Object.assign({},t,{networkOnline:!0}),effects:[I('info','Network online (Connected)')]};case'REVISION_DRIFT':return{ctx:t,effects:[I('info','Revision drift detected, fetching full state',{dbRevision:n.dbRevision,localRevision:t.lastRevision}),{type:'FETCH_STATE',roomCode:t.roomCode}]};case'FETCH_SUCCESS':return{ctx:Object.assign({},t,{lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[]};case'FETCH_FAILURE':return{ctx:t,effects:[I('warn','Revision fetch failed (Connected)')]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function C(t,n){switch(n.type){case'RETRY_TIMER_FIRED':{if(!t.visible)return{ctx:t,effects:[I('info','Disconnected: suppressing retry (background)'),{type:'CANCEL_RETRY'}]};if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed}),effects:[I('error','Disconnected \u2192 Failed (max attempts)')]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:t.attempt+1});return{ctx:n,effects:[I('info',"Disconnected \u2192 Reconnecting",{attempt:n.attempt,maxAttempts:t.maxAttempts}),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]}}case'NETWORK_ONLINE':{if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed,networkOnline:!0}),effects:[I('error','Disconnected \u2192 Failed (max attempts on NETWORK_ONLINE)'),{type:'CANCEL_RETRY'}]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:t.attempt+1,networkOnline:!0});return{ctx:n,effects:[I('info',"Disconnected \u2192 Reconnecting (NETWORK_ONLINE)",{attempt:n.attempt}),{type:'CANCEL_RETRY'},{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]}}case'VISIBILITY_VISIBLE':{if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed,visible:!0}),effects:[I('error','Disconnected \u2192 Failed (max attempts on VISIBILITY_VISIBLE)'),{type:'CANCEL_RETRY'}]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:t.attempt+1,visible:!0});return{ctx:n,effects:[I('info',"Disconnected \u2192 Reconnecting (foreground)",{attempt:n.attempt}),{type:'CANCEL_RETRY'},{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]}}case'MANUAL_RECONNECT':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1}),effects:[I('info',"Disconnected \u2192 Reconnecting (manual)"),{type:'CANCEL_RETRY'},{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'NETWORK_OFFLINE':return{ctx:Object.assign({},t,{networkOnline:!1}),effects:[I('info','Network offline (Disconnected), cancelling retry timer'),{type:'CANCEL_RETRY'}]};case'VISIBILITY_HIDDEN':return{ctx:Object.assign({},t,{visible:!1}),effects:[I('info','Background (Disconnected), cancelling retry timer'),{type:'CANCEL_RETRY'}]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function S(t,n){switch(n.type){case'WS_OPEN':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Syncing}),effects:[I('info',"Reconnecting \u2192 Syncing",{attempt:t.attempt}),{type:'START_PING'},{type:'FETCH_STATE',roomCode:t.roomCode}]};case'WS_CLOSE':{if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed}),effects:[I('error',`Reconnecting \u2192 Failed (max attempts: ${t.maxAttempts})`,{attempt:t.attempt}),{type:'STOP_PING'}]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Reconnecting \u2192 Disconnected (WS_CLOSE)",{attempt:t.attempt,nextDelay:c}),{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'WS_ERROR':return{ctx:t,effects:[I('warn','WS_ERROR during Reconnecting')]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function E(t,n){switch(n.type){case'MANUAL_RECONNECT':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1}),effects:[I('info',"Failed \u2192 Reconnecting (manual)"),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'NETWORK_ONLINE':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1,networkOnline:!0}),effects:[I('info',"Failed \u2192 Reconnecting (NETWORK_ONLINE)"),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'VISIBILITY_VISIBLE':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1,visible:!0}),effects:[I('info',"Failed \u2192 Reconnecting (foreground)"),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function f(t){return{ctx:t,effects:[]}}function O(n){return{ctx:t({maxAttempts:n.maxAttempts}),effects:[I('info',`${n.state} \u2192 Idle (disconnect)`),{type:'CLOSE_WS'},{type:'CANCEL_RETRY'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'}]}}function u(t){const n=[I('info',`${t.state} \u2192 Disposed`),{type:'CLOSE_WS'},{type:'CANCEL_RETRY'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'}];return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Disposed}),effects:n}}function p(t,n){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connecting,roomCode:n.roomCode,userId:n.userId,attempt:0,lastRevision:0}),effects:[I('info',`${t.state} \u2192 Connecting (CONNECT)`,{roomCode:n.roomCode}),{type:'CLOSE_WS'},{type:'CANCEL_RETRY'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'},{type:'OPEN_WS',roomCode:n.roomCode,userId:n.userId}]}}function I(t,n,c){return{type:'LOG',level:t,message:`[ConnectionFSM] ${n}`,data:c}}Object.defineProperty(e,'__esModule',{value:!0}),e.createInitialContext=t,e.transition=function(t,O){switch(t.state){case r(d[0]).ConnectionState.Idle:return n(t,O);case r(d[0]).ConnectionState.Connecting:return c(t,O);case r(d[0]).ConnectionState.Syncing:return o(t,O);case r(d[0]).ConnectionState.Connected:return s(t,O);case r(d[0]).ConnectionState.Disconnected:return C(t,O);case r(d[0]).ConnectionState.Reconnecting:return S(t,O);case r(d[0]).ConnectionState.Failed:return E(t,O);case r(d[0]).ConnectionState.Disposed:return f(t)}}},2279,[2129,2280]);
2577
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.calculateBackoff=function(t,n=1e3,o=3e4,c=Math.random){const u=n*Math.pow(2,t),f=Math.min(u,o)*(.5+.5*c());return Math.round(f)}},2280,[]);
2578
- __d(function(g,r,i,a,m,_e,_d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}function e(t){if(t&&t.__esModule)return t;var e={};return t&&Object.keys(t).forEach(function(s){var n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,n.get?n:{enumerable:!0,get:function(){return t[s]}})}),e.default=t,e}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GameFacade",{enumerable:!0,get:function(){return R}});var s=t(r(_d[0])),n=t(r(_d[1])),u=e(r(_d[2])),o=e(r(_d[3]));function d(t){switch(t){case r(_d[4]).ConnectionState.Connecting:case r(_d[4]).ConnectionState.Reconnecting:return r(_d[5]).ConnectionStatus.Connecting;case r(_d[4]).ConnectionState.Syncing:return r(_d[5]).ConnectionStatus.Syncing;case r(_d[4]).ConnectionState.Connected:return r(_d[5]).ConnectionStatus.Live;case r(_d[4]).ConnectionState.Idle:case r(_d[4]).ConnectionState.Disconnected:case r(_d[4]).ConnectionState.Disposed:return r(_d[5]).ConnectionStatus.Disconnected;case r(_d[4]).ConnectionState.Failed:return r(_d[5]).ConnectionStatus.Failed}}var l=(0,n.default)("store"),f=(0,n.default)("connectionManager"),c=(0,n.default)("audioService"),h=(0,n.default)("roomService"),y=(0,n.default)("audioOrchestrator"),S=(0,n.default)("isHost"),b=(0,n.default)("myUserId"),p=(0,n.default)("roomCode"),v=(0,n.default)("settleResultListeners"),A=(0,n.default)("aborted"),C=(0,n.default)("internalStoreListenerCount"),w=(0,n.default)("getActionsContext"),P=(0,n.default)("getSeatActionsContext");class R{constructor(t){Object.defineProperty(this,P,{value:k}),Object.defineProperty(this,w,{value:j}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,f,{writable:!0,value:void 0}),Object.defineProperty(this,c,{writable:!0,value:void 0}),Object.defineProperty(this,h,{writable:!0,value:void 0}),Object.defineProperty(this,y,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:!1}),Object.defineProperty(this,b,{writable:!0,value:null}),Object.defineProperty(this,p,{writable:!0,value:null}),Object.defineProperty(this,v,{writable:!0,value:new Set}),Object.defineProperty(this,A,{writable:!0,value:!1}),(0,s.default)(this,l)[l]=t.store,(0,s.default)(this,f)[f]=t.connectionManager,(0,s.default)(this,c)[c]=t.audioService,(0,s.default)(this,h)[h]=t.roomService,(0,s.default)(this,y)[y]=new(r(_d[6]).AudioOrchestrator)({store:t.store,audioService:t.audioService,addStatusListener:t=>this.addConnectionStatusListener(t),getActionsContext:()=>(0,s.default)(this,w)[w](),isHost:()=>(0,s.default)(this,S)[S],isAborted:()=>(0,s.default)(this,A)[A]})}addListener(t){return(0,s.default)(this,l)[l].subscribe((e,n)=>{t((0,s.default)(this,l)[l].getState())})}subscribe(t){return(0,s.default)(this,l)[l].subscribe(()=>t())}getState(){return(0,s.default)(this,l)[l].getState()}isHostPlayer(){return(0,s.default)(this,S)[S]}getMyUserId(){return(0,s.default)(this,b)[b]}updateMyUserId(t){(0,s.default)(this,b)[b]&&(0,s.default)(this,b)[b]!==t&&r(_d[7]).facadeLog.info('updateMyUserId: userId changed',{old:(0,s.default)(this,b)[b],new:t}),(0,s.default)(this,b)[b]=t}getMySeat(){const t=(0,s.default)(this,l)[l].getState();if(!t||!(0,s.default)(this,b)[b])return null;for(const[e,n]of Object.entries(t.players))if(n?.userId===(0,s.default)(this,b)[b])return Number.parseInt(e,10);return null}getStateRevision(){return(0,s.default)(this,l)[l].getRevision()}consumeLastAction(){return(0,s.default)(this,l)[l].consumeLastAction()}handleSettleResult(t){for(const e of(0,s.default)(this,v)[v])try{e(t)}catch(t){r(_d[7]).facadeLog.error('SettleResult listener error',t)}}addSettleResultListener(t){return(0,s.default)(this,v)[v].add(t),()=>{(0,s.default)(this,v)[v].delete(t)}}addConnectionStatusListener(t){return(0,s.default)(this,f)[f].addStateListener(e=>{t(d(e))})}manualReconnect(){(0,s.default)(this,A)[A]||(0,s.default)(this,f)[f].manualReconnect()}getListenerCount(){return(0,s.default)(this,l)[l].getListenerCount()-(0,s.default)(R,C)[C]}async createRoom(t,e,n){r(_d[7]).facadeLog.info('createRoom',{roomCode:t}),(0,s.default)(this,A)[A]=!1,(0,s.default)(this,y)[y].reset(),(0,s.default)(this,v)[v].clear(),(0,s.default)(this,S)[S]=!0,(0,s.default)(this,b)[b]=e,(0,s.default)(this,p)[p]=t;const u=(0,r(_d[8]).buildInitialGameState)(t,e,n);(0,s.default)(this,l)[l].initialize(u),await(0,s.default)(this,f)[f].connectAndWait(t,e)}async joinRoom(t,e,n){r(_d[7]).facadeLog.info('joinRoom',{roomCode:t,isHost:n}),(0,s.default)(this,A)[A]=!1,(0,s.default)(this,y)[y].reset(),(0,s.default)(this,v)[v].clear(),(0,s.default)(this,S)[S]=n,(0,s.default)(this,b)[b]=e,t!==(0,s.default)(this,p)[p]&&(0,s.default)(this,l)[l].reset(),(0,s.default)(this,p)[p]=t,n&&(0,s.default)(this,y)[y].setWasAudioInterrupted(!0),await(0,s.default)(this,f)[f].connectAndWait(t,e);const u=(0,s.default)(this,l)[l].getState();if(u)n&&(0,s.default)(this,y)[y].setWasAudioInterrupted(u.status===r(_d[9]).GameStatus.Ongoing);else if(n)return(0,s.default)(this,y)[y].setWasAudioInterrupted(!1),(0,s.default)(this,S)[S]=!1,(0,s.default)(this,b)[b]=null,r(_d[7]).facadeLog.warn('Host rejoin failed: no DB state'),{success:!1,reason:'no_db_state'};return{success:!0}}get wasAudioInterrupted(){return(0,s.default)(this,y)[y].wasAudioInterrupted}async resumeAfterRejoin(){return r(_d[7]).facadeLog.debug('resumeAfterRejoin'),(0,s.default)(this,y)[y].resumeAfterRejoin()}async postProgression(){return r(_d[7]).facadeLog.debug('postProgression'),u.postProgression((0,s.default)(this,w)[w]())}async leaveRoom(){r(_d[7]).facadeLog.info('leaveRoom'),(0,s.default)(this,A)[A]=!0,(0,s.default)(this,y)[y].reset(),(0,s.default)(this,c)[c].stop(),(0,s.default)(this,c)[c].stopBgm(),(0,s.default)(this,c)[c].clearPreloaded(),(0,s.default)(this,f)[f].disconnect(),(0,s.default)(this,l)[l].reset(),(0,s.default)(this,b)[b]=null,(0,s.default)(this,S)[S]=!1,(0,s.default)(this,p)[p]=null,(0,s.default)(this,v)[v].clear()}async takeSeat(t,e,n,u,d,l,f,c,h){return o.takeSeat((0,s.default)(this,P)[P](),t,e,n,u,d,l,f,c,h)}async takeSeatWithAck(t,e,n,u,d,l,f,c,h){return o.takeSeatWithAck((0,s.default)(this,P)[P](),t,e,n,u,d,l,f,c,h)}async leaveSeat(){return o.leaveSeat((0,s.default)(this,P)[P]())}async leaveSeatWithAck(){return o.leaveSeatWithAck((0,s.default)(this,P)[P]())}async kickPlayer(t){return o.kickPlayer((0,s.default)(this,P)[P](),t)}async assignRoles(){return u.assignRoles((0,s.default)(this,w)[w]())}async updateTemplate(t){return u.updateTemplate((0,s.default)(this,w)[w](),t)}async markViewedRole(t){return u.markViewedRole((0,s.default)(this,w)[w](),t)}async startNight(){return u.startNight((0,s.default)(this,w)[w]())}async restartGame(){return(0,s.default)(this,c)[c].stop(),(0,s.default)(this,c)[c].clearPreloaded(),u.restartGame((0,s.default)(this,w)[w]())}async fillWithBots(){return u.fillWithBots((0,s.default)(this,w)[w]())}async markAllBotsViewed(){return u.markAllBotsViewed((0,s.default)(this,w)[w]())}async markAllBotsGroupConfirmed(){return u.markAllBotsGroupConfirmed((0,s.default)(this,w)[w]())}async clearAllSeats(){return u.clearAllSeats((0,s.default)(this,w)[w]())}async updatePlayerProfile(t,e,n,o,d,l,f){return u.updatePlayerProfile((0,s.default)(this,w)[w](),t,e,n,o,d,l,f)}async shareNightReview(t){return u.shareNightReview((0,s.default)(this,w)[w](),t)}async boardNominate(t,e){return u.boardNominate((0,s.default)(this,w)[w](),t,e)}async boardUpvote(t){return u.boardUpvote((0,s.default)(this,w)[w](),t)}async boardWithdraw(){return u.boardWithdraw((0,s.default)(this,w)[w]())}async submitAction(t,e,n,o){return u.submitAction((0,s.default)(this,w)[w](),t,e,n,o)}async submitRevealAck(){return u.clearRevealAcks((0,s.default)(this,w)[w]())}async submitGroupConfirmAck(t){return u.submitGroupConfirmAck((0,s.default)(this,w)[w](),t)}async sendWolfRobotHunterStatusViewed(t){return u.setWolfRobotHunterStatusViewed((0,s.default)(this,w)[w](),t)}async fetchStateFromDB(){const t=(0,s.default)(this,l)[l].getState()?.roomCode??(0,s.default)(this,p)[p];if(!t)return!1;try{const e=await(0,s.default)(this,h)[h].getGameState(t);return!!e&&((0,s.default)(this,l)[l].applySnapshot(e.state,e.revision),(0,s.default)(this,f)[f].updateRevision(e.revision),!0)}catch(t){return(0,r(_d[10]).handleError)(t,{label:'fetchStateFromDB',logger:r(_d[7]).facadeLog,alertTitle:!1}),!1}}async setAudioPlaying(t){return u.setAudioPlaying((0,s.default)(this,w)[w](),t)}}function j(){return{store:(0,s.default)(this,l)[l],myUserId:(0,s.default)(this,b)[b],getMySeat:()=>this.getMySeat(),audioService:(0,s.default)(this,c)[c]}}function k(){return{myUserId:(0,s.default)(this,b)[b],getRoomCode:()=>(0,s.default)(this,l)[l].getState()?.roomCode??null,store:(0,s.default)(this,l)[l]}}Object.defineProperty(R,C,{writable:!0,value:1})},2281,[1819,1820,2282,2285,2129,1858,2286,1061,1906,1904,1903]);
2579
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"assignRoles",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"updateTemplate",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"restartGame",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"clearAllSeats",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"markViewedRole",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"startNight",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"shareNightReview",{enumerable:!0,get:function(){return f}}),Object.defineProperty(e,"submitAction",{enumerable:!0,get:function(){return l}}),Object.defineProperty(e,"setAudioPlaying",{enumerable:!0,get:function(){return b}}),Object.defineProperty(e,"clearRevealAcks",{enumerable:!0,get:function(){return p}}),Object.defineProperty(e,"submitGroupConfirmAck",{enumerable:!0,get:function(){return A}}),Object.defineProperty(e,"setWolfRobotHunterStatusViewed",{enumerable:!0,get:function(){return h}}),Object.defineProperty(e,"postAudioAck",{enumerable:!0,get:function(){return y}}),Object.defineProperty(e,"postProgression",{enumerable:!0,get:function(){return P}}),Object.defineProperty(e,"fillWithBots",{enumerable:!0,get:function(){return G}}),Object.defineProperty(e,"markAllBotsViewed",{enumerable:!0,get:function(){return w}}),Object.defineProperty(e,"markAllBotsGroupConfirmed",{enumerable:!0,get:function(){return j}}),Object.defineProperty(e,"updatePlayerProfile",{enumerable:!0,get:function(){return O}}),Object.defineProperty(e,"boardNominate",{enumerable:!0,get:function(){return k}}),Object.defineProperty(e,"boardUpvote",{enumerable:!0,get:function(){return v}}),Object.defineProperty(e,"boardWithdraw",{enumerable:!0,get:function(){return R}});const t=(0,r(d[0]).defineGameAction)({name:'assignRoles',path:'/game/assign'}),n=(0,r(d[0]).defineGameAction)({name:'updateTemplate',path:'/game/update-template',body:t=>({templateRoles:t.roles})}),o=(0,r(d[0]).defineGameAction)({name:'restartGame',path:'/game/restart'}),s=(0,r(d[0]).defineGameAction)({name:'clearAllSeats',path:'/game/clear-seats'}),c=(0,r(d[0]).defineGameAction)({name:'markViewedRole',path:'/game/view-role',needsUserId:!0,body:t=>({seat:t})}),u=(0,r(d[0]).defineGameAction)({name:'startNight',path:'/game/start',after:(t,n)=>{if(!n.success)return;const o=t.store.getState();o?.templateRoles&&t.audioService.preloadForRoles(o.templateRoles).catch(t=>{r(d[1]).facadeLog.warn('preloadForRoles failed (non-critical)',t)})}}),f=(0,r(d[0]).defineGameAction)({name:'shareNightReview',path:'/game/share-review',body:t=>({allowedSeats:t})}),l=(0,r(d[0]).defineGameAction)({name:'submitAction',path:'/game/night/action',body:(t,n,o,s)=>({seat:t,role:n,target:o,extra:s}),after:(t,n,o,s,c)=>{n.success||r(d[1]).facadeLog.warn('submitAction failed',{reason:n.reason,seat:o,role:s,target:c})}}),b=(0,r(d[0]).defineGameAction)({name:'setAudioPlaying',path:'/game/night/audio-gate',body:t=>({isPlaying:t})}),p=(0,r(d[0]).defineGameAction)({name:'clearRevealAcks',path:'/game/night/reveal-ack',after:(t,n)=>{n.success||r(d[1]).facadeLog.warn('clearRevealAcks failed',{reason:n.reason})}}),A=(0,r(d[0]).defineGameAction)({name:'submitGroupConfirmAck',path:'/game/night/group-confirm-ack',needsUserId:!0,body:t=>({seat:t}),after:(t,n,o)=>{n.success||r(d[1]).facadeLog.warn('submitGroupConfirmAck failed',{reason:n.reason,seat:o})}}),h=(0,r(d[0]).defineGameAction)({name:'setWolfRobotHunterStatusViewed',path:'/game/night/wolf-robot-viewed',body:t=>({seat:t}),after:(t,n,o)=>{n.success||r(d[1]).facadeLog.warn('setWolfRobotHunterStatusViewed failed',{reason:n.reason,seat:o})}}),y=(0,r(d[0]).defineGameAction)({name:'postAudioAck',path:'/game/night/audio-ack'}),P=(0,r(d[0]).defineGameAction)({name:'postProgression',path:'/game/night/progression'}),G=(0,r(d[0]).defineGameAction)({name:'fillWithBots',path:'/game/fill-bots'}),w=(0,r(d[0]).defineGameAction)({name:'markAllBotsViewed',path:'/game/mark-bots-viewed'}),j=(0,r(d[0]).defineGameAction)({name:'markAllBotsGroupConfirmed',path:'/game/night/mark-bots-group-confirmed'}),O=(0,r(d[0]).defineGameAction)({name:'updatePlayerProfile',path:'/game/update-profile',needsUserId:!0,body:(t,n,o,s,c,u,f)=>({displayName:t,avatarUrl:n,avatarFrame:o,seatFlair:s,nameStyle:c,roleRevealEffect:u,seatAnimation:f})}),k=(0,r(d[0]).defineGameAction)({name:'boardNominate',path:'/game/board-nominate',needsUserId:!0,body:(t,n)=>({displayName:t,roles:n})}),v=(0,r(d[0]).defineGameAction)({name:'boardUpvote',path:'/game/board-upvote',needsUserId:!0,body:t=>({targetUserId:t})}),R=(0,r(d[0]).defineGameAction)({name:'boardWithdraw',path:'/game/board-withdraw',needsUserId:!0})},2282,[2283,1061]);
2580
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.defineGameAction=function(c){return async(u,...l)=>{let f;r(d[1]).facadeLog.debug('gameAction called',{name:c.name});let C=null;if(c.needsUserId){const t=n(u);if(!t)return o;f=t.roomCode,C=t.myUserId}else{const t=s(u);if(!t)return o;f=t.roomCode}const y=c.body?.(...l)??{},I=Object.assign({roomCode:f},y);c.needsUserId&&C&&(I.userId=C);const U=await t(c.path,I,u.store);return c.after?.(u,U,...l),U}};const o={success:!1,reason:'NOT_CONNECTED'};async function t(o,t,n){return(0,r(d[0]).callApiWithRetry)(o,t,'callGameControlApi',n)}function n(o){const t=o.store.getState()?.roomCode;return t&&o.myUserId?{roomCode:t,myUserId:o.myUserId}:null}function s(o){const t=o.store.getState()?.roomCode;return t?{roomCode:t}:null}},2283,[2284,1061]);
2581
- __d(function(g,_r,i,a,m,_e,d){"use strict";async function e(e,r,t,n){try{const o='function'==typeof globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`req_${Date.now()}_${Math.floor(1e6*(0,_r(d[0],"@werewolf/game-engine/utils/random").secureRng)())}`,s=await(0,_r(d[1],"@/services/cloudflare/cfFetch").fetchWithRetry)(`${_r(d[2],"@/config/api").API_BASE_URL}${e}`,{method:'POST',headers:{'Content-Type':'application/json','x-region':_r(d[2],"@/config/api").API_REGION,'x-request-id':o},signal:AbortSignal.timeout(_r(d[2],"@/config/api").API_TIMEOUT_MS),body:JSON.stringify(r)});if(!s.headers.get('content-type')?.includes('application/json'))return _r(d[3]).facadeLog.error('non-JSON response',{label:t,path:e,status:s.status,requestId:o,region:_r(d[2]).API_REGION}),{success:!1,reason:'SERVER_ERROR'};const c=await s.json();return c.success&&c.state&&null!=c.revision&&n&&n.applySnapshot(c.state,c.revision),c}catch(r){if(r instanceof ReferenceError)throw _r(d[3]).facadeLog.error('Programmer error in API call',{label:t,path:e,error:r}),r;if('undefined'!=typeof DOMException&&r instanceof DOMException&&('AbortError'===r.name||'TimeoutError'===r.name)||'object'==typeof r&&null!==r&&'name'in r&&('AbortError'===r.name||'TimeoutError'===r.name))return _r(d[3]).facadeLog.warn('timeout',{label:t,path:e,timeoutMs:_r(d[2]).API_TIMEOUT_MS,region:_r(d[2]).API_REGION}),{success:!1,reason:'TIMEOUT'};const n=r;return _r(d[3]).facadeLog.warn('network error',{label:t,path:e,error:n?.message??String(r)}),{success:!1,reason:'NETWORK_ERROR'}}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.callApiWithRetry=async function(n,o,s,c){const u=Date.now();for(let l=0;l<=r;l++){if(l>0&&Date.now()-u>t){_r(d[3]).facadeLog.warn('total budget exceeded',{path:n,elapsed:Date.now()-u});break}const R=await e(n,o,s,c);if(R.success)return R;if('TIMEOUT'===R.reason)return R;if(('CONFLICT_RETRY'===R.reason||'INTERNAL_ERROR'===R.reason||'NETWORK_ERROR'===R.reason||'SERVER_ERROR'===R.reason)&&l<r){const e=300*(l+1)+100*(0,_r(d[0]).secureRng)();_r(d[3]).facadeLog.warn('client retrying',{reason:R.reason,path:n,attempt:l+1}),await new Promise(r=>setTimeout(r,e));continue}return R}return{success:!1,reason:'NETWORK_ERROR'}};const r=2,t=3e4},2284,[1108,1072,1070,1061]);
2582
- __d(function(g,r,i,a,m,e,d){"use strict";async function t(t,s,c){return(0,r(d[0]).callApiWithRetry)('/game/seat',Object.assign({roomCode:t},s),'callSeatApi',c)}async function s(s,c,n,o,u,y,l,f,I,k){const C=s.getRoomCode();return C&&s.myUserId?(r(d[1]).facadeLog.debug('takeSeatWithAck',{seat:c,userId:s.myUserId}),t(C,{action:'sit',userId:s.myUserId,seat:c,displayName:n,avatarUrl:o,avatarFrame:u,seatFlair:y,nameStyle:l,roleRevealEffect:I,seatAnimation:k,level:f},s.store)):{success:!1,reason:'NOT_CONNECTED'}}async function c(s){const c=s.getRoomCode();if(!c||!s.myUserId)return{success:!1,reason:'NOT_CONNECTED'};r(d[1]).facadeLog.debug('leaveSeatWithAck',{userId:s.myUserId});return t(c,{action:'standup',userId:s.myUserId},s.store)}Object.defineProperty(e,'__esModule',{value:!0}),e.takeSeat=async function(t,c,n,o,u,y,l,f,I,k){return(await s(t,c,n,o,u,y,l,f,I,k)).success},e.takeSeatWithAck=s,e.leaveSeat=async function(t){return(await c(t)).success},e.leaveSeatWithAck=c,e.kickPlayer=async function(s,c){const n=s.getRoomCode();if(!n||!s.myUserId)return{success:!1,reason:'NOT_CONNECTED'};return r(d[1]).facadeLog.debug('kickPlayer',{targetSeat:c,userId:s.myUserId}),t(n,{action:'kick',userId:s.myUserId,targetSeat:c},s.store)}},2285,[2284,1061]);
2583
- __d(function(g,r,i,a,m,_e,_d){"use strict";var e;function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AudioOrchestrator",{enumerable:!0,get:function(){return R}});var n=t(r(_d[0])),l=t(r(_d[1])),u=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),d=(0,l.default)("deps"),s=(0,l.default)("isPlayingEffects"),o=(0,l.default)("wasAudioInterrupted"),f=(0,l.default)("pendingAudioAckRetry"),c=(0,l.default)("onlineRetryHandler"),h=(0,l.default)("onlineRetryTimer"),y=(0,l.default)("onlineRetryPollTimer"),p=(0,l.default)("onlineRetryAttempt"),b=(0,l.default)("unsubscribeStore"),A=(0,l.default)("unsubscribeStatus"),v=(0,l.default)("maxOnlineRetries"),w=(0,l.default)("pollIntervalMs"),O=(0,l.default)("postAudioAckWithRetry"),P=(0,l.default)("playPendingAudioEffects"),L=(0,l.default)("retryPendingAudioAck"),j=(0,l.default)("registerOnlineRetry"),k=(0,l.default)("startPollFallback"),E=(0,l.default)("unregisterOnlineRetry");class R{constructor(e){Object.defineProperty(this,E,{value:x}),Object.defineProperty(this,k,{value:_}),Object.defineProperty(this,j,{value:T}),Object.defineProperty(this,L,{value:I}),Object.defineProperty(this,P,{value:K}),Object.defineProperty(this,O,{value:S}),Object.defineProperty(this,d,{writable:!0,value:void 0}),Object.defineProperty(this,s,{writable:!0,value:!1}),Object.defineProperty(this,o,{writable:!0,value:!1}),Object.defineProperty(this,f,{writable:!0,value:!1}),Object.defineProperty(this,c,{writable:!0,value:null}),Object.defineProperty(this,h,{writable:!0,value:null}),Object.defineProperty(this,y,{writable:!0,value:null}),Object.defineProperty(this,p,{writable:!0,value:0}),Object.defineProperty(this,b,{writable:!0,value:null}),Object.defineProperty(this,A,{writable:!0,value:null}),(0,n.default)(this,d)[d]=e,(0,n.default)(this,b)[b]=e.store.subscribe(t=>{t&&e.isHost()&&t.pendingAudioEffects&&0!==t.pendingAudioEffects.length&&((0,n.default)(this,o)[o]||(0,n.default)(this,P)[P](t.pendingAudioEffects))}),(0,n.default)(this,A)[A]=e.addStatusListener(t=>{t===r(_d[3]).ConnectionStatus.Live&&e.isHost()&&(0,n.default)(this,f)[f]&&((0,n.default)(this,E)[E](),(0,n.default)(this,f)[f]=!1,(0,n.default)(this,p)[p]=0,r(_d[4]).facadeLog.info('SDK reconnected: retrying pending audio ack',{layer:'L2'}),(0,n.default)(this,L)[L]('reconnect'))})}get wasAudioInterrupted(){return(0,n.default)(this,o)[o]}setWasAudioInterrupted(e){(0,n.default)(this,o)[o]=e}reset(){(0,n.default)(this,s)[s]=!1,(0,n.default)(this,o)[o]=!1,(0,n.default)(this,f)[f]=!1,(0,n.default)(this,p)[p]=0,(0,n.default)(this,E)[E]()}dispose(){(0,n.default)(this,E)[E](),(0,n.default)(this,b)[b]?.(),(0,n.default)(this,b)[b]=null,(0,n.default)(this,A)[A]?.(),(0,n.default)(this,A)[A]=null}async resumeAfterRejoin(){if(!(0,n.default)(this,o)[o])return;(0,n.default)(this,o)[o]=!1;const e=(0,n.default)(this,d)[d].store.getState();if(e)try{if(!e.isAudioPlaying)return;if(e.currentStepId){const t=(0,r(_d[5]).getStepSpec)(e.currentStepId);if(t){r(_d[4]).facadeLog.info('Replaying current step audio after rejoin',{stepId:e.currentStepId,audioKey:t.audioKey});try{const l=(0,r(_d[6],"@werewolf/game-engine/utils/audioKeyOverride").resolveSeerAudioKey)(t.audioKey,e.seerLabelMap);await(0,n.default)(this,d)[d].audioService.playRoleBeginningAudio(l)}finally{await(0,n.default)(this,O)[O]()}}else await(0,n.default)(this,O)[O]()}else await(0,n.default)(this,O)[O]()}catch(e){(0,r(_d[7]).handleError)(e,{label:'resumeAfterRejoin',logger:r(_d[4]).facadeLog,alertTitle:!1})}}}async function S(){const e=await u.postAudioAck((0,n.default)(this,d)[d].getActionsContext());e.success||(r(_d[4]).facadeLog.warn('postAudioAck failed in resumeAfterRejoin, will retry on reconnect',{reason:e.reason}),(0,n.default)(this,f)[f]=!0,(0,n.default)(this,j)[j]())}async function K(e){if((0,n.default)(this,s)[s])return;(0,n.default)(this,s)[s]=!0;const{audioService:t}=(0,n.default)(this,d)[d];try{let l=e;const s=20;let c=0;for(;l&&l.length>0;){if(++c>s){r(_d[4]).facadeLog.warn('playPendingAudioEffects exceeded max iterations, breaking',{maxIterations:s});break}for(const e of l){if((0,n.default)(this,d)[d].isAborted())break;try{e.isEndAudio?await t.playRoleEndingAudio(e.audioKey):'night'===e.audioKey?await t.playNightAudio():'night_end'===e.audioKey?(t.stopBgm(),await t.playNightEndAudio()):await t.playRoleBeginningAudio(e.audioKey)}catch(t){r(_d[4]).facadeLog.warn('Audio effect playback failed, continuing',{audioKey:e.audioKey,error:t})}}if(!(0,n.default)(this,d)[d].isAborted()){const e=await u.postAudioAck((0,n.default)(this,d)[d].getActionsContext());if(!e.success){r(_d[4]).facadeLog.warn('postAudioAck failed during playback, will retry on reconnect',{reason:e.reason}),(0,n.default)(this,f)[f]=!0,(0,n.default)(this,j)[j]();break}}const e=(0,n.default)(this,d)[d].store.getState();l=e?.pendingAudioEffects&&e.pendingAudioEffects.length>0&&(0,n.default)(this,d)[d].isHost()&&!(0,n.default)(this,o)[o]?e.pendingAudioEffects:void 0}}finally{(0,n.default)(this,s)[s]=!1}}function I(e,t){const l=(0,n.default)(this,d)[d].store.getState(),s=l?.pendingAudioEffects;s&&s.length>0?(r(_d[4]).facadeLog.info('Replaying audio effects after reconnect',{trigger:e,effectCount:s.length}),(0,n.default)(this,P)[P](s)):(r(_d[4]).facadeLog.info('Retrying postAudioAck (no effects to replay)',{trigger:e}),u.postAudioAck((0,n.default)(this,d)[d].getActionsContext()).then(l=>{l.success||(r(_d[4]).facadeLog.warn('postAudioAck retry failed, will retry',{trigger:e,reason:l.reason}),(0,n.default)(this,f)[f]=!0,t?.())}).catch(l=>{r(_d[4]).facadeLog.error('postAudioAck retry threw',{trigger:e},l),(0,n.default)(this,f)[f]=!0,t?.()}))}function T(){if((0,n.default)(this,E)[E](),'function'!=typeof globalThis.window?.addEventListener)return;const t=()=>{if((0,n.default)(this,f)[f]&&(0,n.default)(this,d)[d].isHost()&&!(0,n.default)(this,d)[d].isAborted()){if((0,n.default)(this,p)[p]>=(0,n.default)(e,v)[v])return r(_d[4]).facadeLog.warn(`Online ack retry exhausted (${(0,n.default)(e,v)[v]} attempts), giving up`),void(0,n.default)(this,E)[E]();(0,n.default)(this,p)[p]++,r(_d[4]).facadeLog.info('Online event postAudioAck retry triggered',{layer:'L3a',attempt:(0,n.default)(this,p)[p]}),(0,n.default)(this,E)[E](),(0,n.default)(this,f)[f]=!1,(0,n.default)(this,L)[L]('online event',()=>(0,n.default)(this,j)[j]())}};if(globalThis.navigator?.onLine){const e=Math.min(500*Math.pow(2,(0,n.default)(this,p)[p]),16e3);return r(_d[4]).facadeLog.info(`navigator.onLine=true, scheduling ack retry (attempt=${(0,n.default)(this,p)[p]}, delay=${e}ms)`),void((0,n.default)(this,h)[h]=setTimeout(t,e))}(0,n.default)(this,c)[c]=t,globalThis.window.addEventListener('online',(0,n.default)(this,c)[c]),(0,n.default)(this,k)[k](t)}function _(t){null===(0,n.default)(this,h)[h]&&((0,n.default)(this,y)[y]=setInterval(()=>{(0,n.default)(this,f)[f]&&(0,n.default)(this,d)[d].isHost()&&!(0,n.default)(this,d)[d].isAborted()?globalThis.navigator?.onLine&&(r(_d[4]).facadeLog.info('Poll fallback: navigator.onLine=true, triggering ack retry'),t()):(0,n.default)(this,E)[E]()},(0,n.default)(e,w)[w]))}function x(){null!==(0,n.default)(this,h)[h]&&(clearTimeout((0,n.default)(this,h)[h]),(0,n.default)(this,h)[h]=null),null!==(0,n.default)(this,y)[y]&&(clearInterval((0,n.default)(this,y)[y]),(0,n.default)(this,y)[y]=null),null!==(0,n.default)(this,c)[c]&&('function'==typeof globalThis.window?.removeEventListener&&globalThis.window.removeEventListener('online',(0,n.default)(this,c)[c]),(0,n.default)(this,c)[c]=null)}e=R,Object.defineProperty(R,v,{writable:!0,value:5}),Object.defineProperty(R,w,{writable:!0,value:5e3})},2286,[1819,1820,2282,1858,1061,1086,2287,1903]);
2584
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.resolveSeerAudioKey=function(n,t){if(!t)return n;const u=t[n];if(null!=u)return`seer_${u}`;return n}},2287,[]);
2546
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createAllServices=function(){const c=new t.CFAuthService,S=new(r(d[3]).CFRoomService),s=new(r(d[4]).SettingsService),v=new o.AudioService,l=new(r(d[5]).CFStorageService),u=new(r(d[6]).GameStore),p=new(r(d[7]).CFRealtimeService),w=new(r(d[8]).ConnectionManager)({transport:p,fetchStateFromDB:async t=>S.getGameState(t),getStateRevision:async t=>S.getStateRevision(t),onStateUpdate:(t,n,o)=>u.applySnapshot(t,n,o),onFetchedState:(t,n)=>u.applySnapshot(t,n),onSettleResult:t=>F.handleSettleResult(t)}),h={authService:c,roomService:S,settingsService:s,audioService:v,avatarUploadService:l},F=new n.GameFacade({store:u,connectionManager:w,audioService:v,roomService:S});return r(d[9]).log.info('[init] All services created'),{services:h,facade:F}};var t=r(d[0]),n=r(d[1]),o=r(d[2])},2249,[2250,2252,2259,2277,2279,2280,2281,2284,2285,1061]);
2547
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"CFAuthService",{enumerable:!0,get:function(){return W}});var e=t(r(_d[0])),s=t(r(_d[1])),u=(function(t){if(t&&t.__esModule)return t;var e={};return t&&Object.keys(t).forEach(function(s){var u=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,u.get?u:{enumerable:!0,get:function(){return t[s]}})}),e.default=t,e})(r(_d[2])),n=r(_d[3]);const d='cf_auth_token',l='cf_refresh_token';var o=(0,s.default)("currentUserId"),h=(0,s.default)("cachedAccessToken"),f=(0,s.default)("cachedRefreshToken"),c=(0,s.default)("isAnonymous"),p=(0,s.default)("hasWechat"),y=(0,s.default)("generatedName"),w=(0,s.default)("wechatLoginFailed"),b=(0,s.default)("initPromise"),k=(0,s.default)("autoSignIn"),P=(0,s.default)("saveTokens"),v=(0,s.default)("clearTokens"),_=(0,s.default)("refreshTokens"),A=(0,s.default)("handleAuthExpired"),O=(0,s.default)("isTokenExpired"),I=(0,s.default)("fetchAndCacheUser"),j=(0,s.default)("decodeUserIdFromJwt");class W{get wechatLoginFailed(){return(0,e.default)(this,w)[w]}constructor(){Object.defineProperty(this,j,{value:S}),Object.defineProperty(this,I,{value:R}),Object.defineProperty(this,O,{value:E}),Object.defineProperty(this,A,{value:T}),Object.defineProperty(this,_,{value:x}),Object.defineProperty(this,v,{value:U}),Object.defineProperty(this,P,{value:L}),Object.defineProperty(this,k,{value:C}),Object.defineProperty(this,o,{writable:!0,value:null}),Object.defineProperty(this,h,{writable:!0,value:null}),Object.defineProperty(this,f,{writable:!0,value:null}),Object.defineProperty(this,c,{writable:!0,value:!1}),Object.defineProperty(this,p,{writable:!0,value:!1}),Object.defineProperty(this,y,{writable:!0,value:null}),Object.defineProperty(this,w,{writable:!0,value:!1}),Object.defineProperty(this,b,{writable:!0,value:void 0}),(0,r(_d[4]).setTokenProvider)(()=>(0,e.default)(this,h)[h]),(0,r(_d[4]).setRefreshHandler)(()=>(0,e.default)(this,_)[_]()),(0,r(_d[4]).setOnAuthExpired)(()=>(0,e.default)(this,A)[A]()),(0,e.default)(this,b)[b]=(0,e.default)(this,k)[k]()}async waitForInit(){await(0,r(_d[5]).withTimeout)((0,e.default)(this,b)[b],25e3,()=>new Error('\u767b\u5f55\u8d85\u65f6\uff0c\u8bf7\u91cd\u8bd5'))}async ensureAuthenticated(){if((0,e.default)(this,o)[o])return(0,e.default)(this,o)[o];const t=await this.initAuth();return t||this.signInAnonymously()}isConfigured(){return!0}getCurrentUserId(){return(0,e.default)(this,o)[o]}async getCurrentUser(){return(0,e.default)(this,h)[h]?(0,r(_d[4]).cfGet)('/auth/user'):null}async signInAnonymously(){const t=await(0,r(_d[4]).cfPost)('/auth/anonymous',void 0,{skipAuthIntercept:!0});return(0,e.default)(this,P)[P](t.access_token,t.refresh_token),(0,e.default)(this,o)[o]=t.user.id,(0,e.default)(this,c)[c]=!0,u.setUser({id:t.user.id}),t.user.id}async signUpWithEmail(t,s,n){const d=await(0,r(_d[4]).cfPost)('/auth/signup',{email:t,password:s,displayName:n});return(0,e.default)(this,P)[P](d.access_token,d.refresh_token),(0,e.default)(this,o)[o]=d.user.id,(0,e.default)(this,c)[c]=!1,u.setUser({id:d.user.id}),{userId:d.user.id,user:d.user}}async signInWithEmail(t,s){const n=await(0,r(_d[4]).cfPost)('/auth/signin',{email:t,password:s},{skipAuthIntercept:!0});return(0,e.default)(this,P)[P](n.access_token,n.refresh_token),(0,e.default)(this,o)[o]=n.user.id,(0,e.default)(this,c)[c]=!1,u.setUser({id:n.user.id}),n.user.id}async updateProfile(t){await(0,r(_d[4]).cfPut)('/auth/profile',t)}async signOut(){try{await(0,r(_d[4]).cfPost)('/auth/signout')}catch{}(0,e.default)(this,v)[v](),(0,e.default)(this,o)[o]=null,(0,e.default)(this,c)[c]=!1,u.setUser(null)}async changePassword(t,s){await(0,r(_d[4]).cfPut)('/auth/password',{oldPassword:t,newPassword:s}),(0,e.default)(this,v)[v]()}async forgotPassword(t){await(0,r(_d[4]).cfPost)('/auth/forgot-password',{email:t},{skipAuthIntercept:!0})}async resetPassword(t,s,n){const d=await(0,r(_d[4]).cfPost)('/auth/reset-password',{email:t,code:s,newPassword:n},{skipAuthIntercept:!0});return(0,e.default)(this,P)[P](d.access_token,d.refresh_token),(0,e.default)(this,o)[o]=d.user.id,(0,e.default)(this,c)[c]=!1,u.setUser({id:d.user.id}),d.user.id}async signInWithWechat(t){const s=await(0,r(_d[4]).cfPost)('/auth/wechat',{code:t},{timeoutMs:2e4,skipAuthIntercept:!0});return(0,e.default)(this,P)[P](s.access_token,s.refresh_token),(0,e.default)(this,o)[o]=s.user.id,(0,e.default)(this,c)[c]=!1,u.setUser({id:s.user.id}),s.user.id}async bindWechat(t){await(0,r(_d[4]).cfPost)('/auth/bind-wechat',{code:t})}async initAuth(){const t=r(_d[6]).storage.getString(d)??null,s=r(_d[6]).storage.getString(l)??null;if(!t)return null;if((0,e.default)(this,h)[h]=t,(0,e.default)(this,f)[f]=s,(0,e.default)(this,O)[O](t)){if(r(_d[7]).authLog.debug('initAuth: access token expired locally, skipping GET /auth/user'),s){if(await(0,e.default)(this,_)[_]())return(0,e.default)(this,I)[I]()}return(0,e.default)(this,v)[v](),null}try{const t=await(0,r(_d[4]).cfGet)('/auth/user',{skipAuthIntercept:!0});return(0,e.default)(this,o)[o]=t.data.user.id,(0,e.default)(this,c)[c]=t.data.user.is_anonymous??!1,(0,e.default)(this,p)[p]=t.data.user.has_wechat??!1,u.setUser({id:t.data.user.id}),(0,e.default)(this,o)[o]}catch(n){const d=n.status;if(401===d||404===d){if(s){if(await(0,e.default)(this,_)[_]())return(0,e.default)(this,I)[I]()}return(0,e.default)(this,v)[v](),null}r(_d[7]).authLog.warn('initAuth: network error, keeping tokens for offline use',{status:d});const l=(0,e.default)(this,j)[j](t);return l?((0,e.default)(this,o)[o]=l,u.setUser({id:l}),l):null}}generateDisplayName(){if((0,e.default)(this,y)[y])return(0,e.default)(this,y)[y];const t=['\u9996\u5200','\u81ea\u5200','\u7a7a\u5200','\u6697\u5200','\u8865\u5200','\u4e71\u5200','\u6321\u5200','\u80cc\u5200','\u5200\u6cd5','\u91d1\u6c34','\u94f6\u6c34','\u67e5\u6740','\u53cd\u67e5','\u53d1\u6c34','\u6df1\u6c34','\u5bf9\u8df3','\u608d\u8df3','\u88f8\u8df3','\u8df3\u5751','\u7ad9\u8fb9','\u5f52\u7968','\u8dd1\u7968','\u98de\u7968','\u94c1\u7968','\u79d2\u6295','\u6539\u7968','\u6df7\u7968','\u51b2\u7968','\u62c9\u7968','\u6297\u63a8','\u625b\u63a8','\u653e\u9010','\u516c\u6295','\u4e0a\u8b66','\u9000\u6c34','\u5212\u6c34','\u8b66\u4e0a','\u8b66\u4e0b','\u8e29\u4eba','\u635e\u4eba','\u5012\u94a9','\u4e92\u8e29','\u4e92\u4fdd','\u81ea\u7206','\u7ffb\u76d8','\u7ffb\u724c','\u4eae\u724c','\u6697\u724c','\u660e\u724c','\u70b8\u724c','\u644a\u724c','\u53cd\u6c34','\u4e0a\u5cb8','\u62b1\u56e2','\u5bf9\u7ebf','\u62c9\u626f','\u7834\u7efd','\u6bd2\u5976','\u7529\u9505','\u80cc\u9505','\u6316\u5751','\u63a7\u573a','\u6253\u5e95','\u5f00\u8f66','\u642d\u8f66','\u5e26\u98de','\u5e26\u5751','\u8eba\u5e73','\u8eba\u8d62','\u8eba\u8f93','\u82df\u4f4f','\u51b2\u950b','\u6536\u5272','\u9006\u98ce','\u987a\u98ce','\u8d77\u98de','\u8840\u5d29','\u4e1d\u8840','\u6b8b\u5c40','\u5f00\u5c40','\u767d\u677f','\u795e\u4f4d','\u72fc\u5751','\u94c1\u72fc','\u72ec\u72fc','\u6c11\u610f','\u9057\u8a00','\u95ed\u773c','\u7741\u773c','\u5929\u9ed1','\u5929\u4eae','\u51fa\u5c40','\u7126\u70b9','\u53e3\u55e8','\u62cd\u684c','\u5403\u836f','\u8e6d\u8f66','\u62a2\u6c34','\u5b58\u6d3b','\u76d8\u903b\u8f91'],s=(0,r(_d[8]).getAllRoleIds)().map(t=>(0,r(_d[8]).getRoleSpec)(t).displayName),u=new Uint32Array(2);crypto.getRandomValues(u);const n=u[0]%t.length,d=u[1]%s.length;return(0,e.default)(this,y)[y]=t[n]+'\u7684'+s[d],(0,e.default)(this,y)[y]}}async function C(){try{const t=(0,r(_d[9],"@/utils/miniProgram").readWxCode)(),s=await this.initAuth();if(t)if(s&&!(0,e.default)(this,c)[c])if((0,e.default)(this,p)[p])(0,r(_d[9]).clearWxCode)(),r(_d[7]).authLog.debug('WeChat already bound, skipping bind');else{r(_d[7]).authLog.info('Binding WeChat to existing session');try{await this.bindWechat(t),(0,e.default)(this,p)[p]=!0,(0,r(_d[9]).clearWxCode)(),r(_d[7]).authLog.info('WeChat bind succeeded')}catch(t){r(_d[7]).authLog.warn('WeChat bind failed (non-fatal)',t)}}else try{await this.signInWithWechat(t),(0,r(_d[9]).clearWxCode)(),r(_d[7]).authLog.info('WeChat sign-in succeeded',{userId:(0,e.default)(this,o)[o]})}catch(t){(0,r(_d[9]).clearWxCode)(),r(_d[7]).authLog.warn('WeChat sign-in failed',t),(0,r(_d[9]).isMiniProgram)()?(0,e.default)(this,w)[w]=!0:(r(_d[7]).authLog.warn('WeChat sign-in failed outside miniprogram, falling back to anonymous'),await this.signInAnonymously())}else s&&r(_d[7]).authLog.info('Restored session',{userId:s})}catch(t){(0,n.handleError)(t,{label:'CFAuth.autoSignIn',logger:r(_d[7]).authLog,feedback:!1})}}function L(t,s){(0,e.default)(this,h)[h]=t,(0,e.default)(this,f)[f]=s,r(_d[6]).storage.set(d,t),r(_d[6]).storage.set(l,s)}function U(){(0,e.default)(this,h)[h]=null,(0,e.default)(this,f)[f]=null,r(_d[6]).storage.remove(d),r(_d[6]).storage.remove(l)}async function x(){const t=(0,e.default)(this,f)[f];if(!t)return!1;try{const s=await(0,r(_d[4]).cfPost)('/auth/refresh',{refresh_token:t},{skipAuthIntercept:!0,noRetry:!0});return(0,e.default)(this,P)[P](s.access_token,s.refresh_token),r(_d[7]).authLog.debug('Token refresh succeeded'),!0}catch(t){const s=t.status;return 401===s?(r(_d[7]).authLog.warn('Refresh token invalid, clearing session'),(0,e.default)(this,v)[v](),(0,e.default)(this,o)[o]=null,!1):(r(_d[7]).authLog.warn('Token refresh network error',{status:s}),!1)}}function T(){r(_d[7]).authLog.warn('Auth expired \u2014 all tokens invalid'),(0,e.default)(this,v)[v](),(0,e.default)(this,o)[o]=null,u.setUser(null)}function E(t){try{const e=t.split('.');if(3!==e.length)return!0;const s=JSON.parse(atob(e[1]));return'number'!=typeof s.exp||1e3*s.exp<Date.now()-3e4}catch{return!0}}async function R(){try{const t=await(0,r(_d[4]).cfGet)('/auth/user',{skipAuthIntercept:!0});return(0,e.default)(this,o)[o]=t.data.user.id,(0,e.default)(this,c)[c]=t.data.user.is_anonymous??!1,(0,e.default)(this,p)[p]=t.data.user.has_wechat??!1,u.setUser({id:t.data.user.id}),(0,e.default)(this,o)[o]}catch{return(0,e.default)(this,v)[v](),null}}function S(t){try{const e=t.split('.');if(3!==e.length)return null;return JSON.parse(atob(e[1])).sub??null}catch{return null}}},2250,[1819,1820,119,1903,1072,2251,1054,1061,1077,1880]);
2548
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.withTimeout=function(o,u,l){let s=null;const c='string'==typeof l?l:void 0,f='function'==typeof l?l:n,p=new Promise((n,o)=>{s=setTimeout(()=>{const n=f(u,c);t.warn('Timeout',{context:c??'unknown',ms:u}),o(n)},u)});return Promise.race([o,p]).finally(()=>{null!==s&&(clearTimeout(s),s=null)})};const t=r(d[0]).log.extend('Timeout'),n=(t,n)=>new Error(n?`Operation timed out after ${t}ms: ${n}`:`Operation timed out after ${t}ms`)},2251,[1061]);
2549
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}function e(t){if(t&&t.__esModule)return t;var e={};return t&&Object.keys(t).forEach(function(s){var n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,n.get?n:{enumerable:!0,get:function(){return t[s]}})}),e.default=t,e}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GameFacade",{enumerable:!0,get:function(){return k}});var s=t(r(_d[0])),n=t(r(_d[1])),u=r(_d[2]),o=r(_d[3]),d=e(r(_d[4])),l=e(r(_d[5]));function f(t){switch(t){case r(_d[6]).ConnectionState.Connecting:case r(_d[6]).ConnectionState.Reconnecting:return r(_d[7]).ConnectionStatus.Connecting;case r(_d[6]).ConnectionState.Syncing:return r(_d[7]).ConnectionStatus.Syncing;case r(_d[6]).ConnectionState.Connected:return r(_d[7]).ConnectionStatus.Live;case r(_d[6]).ConnectionState.Idle:case r(_d[6]).ConnectionState.Disconnected:case r(_d[6]).ConnectionState.Disposed:return r(_d[7]).ConnectionStatus.Disconnected;case r(_d[6]).ConnectionState.Failed:return r(_d[7]).ConnectionStatus.Failed}}var c=(0,n.default)("store"),h=(0,n.default)("connectionManager"),y=(0,n.default)("audioService"),S=(0,n.default)("roomService"),b=(0,n.default)("audioOrchestrator"),p=(0,n.default)("isHost"),v=(0,n.default)("myUserId"),A=(0,n.default)("roomCode"),C=(0,n.default)("settleResultListeners"),w=(0,n.default)("aborted"),P=(0,n.default)("internalStoreListenerCount"),R=(0,n.default)("getActionsContext"),j=(0,n.default)("getSeatActionsContext");class k{constructor(t){Object.defineProperty(this,j,{value:L}),Object.defineProperty(this,R,{value:O}),Object.defineProperty(this,c,{writable:!0,value:void 0}),Object.defineProperty(this,h,{writable:!0,value:void 0}),Object.defineProperty(this,y,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,b,{writable:!0,value:void 0}),Object.defineProperty(this,p,{writable:!0,value:!1}),Object.defineProperty(this,v,{writable:!0,value:null}),Object.defineProperty(this,A,{writable:!0,value:null}),Object.defineProperty(this,C,{writable:!0,value:new Set}),Object.defineProperty(this,w,{writable:!0,value:!1}),(0,s.default)(this,c)[c]=t.store,(0,s.default)(this,h)[h]=t.connectionManager,(0,s.default)(this,y)[y]=t.audioService,(0,s.default)(this,S)[S]=t.roomService,(0,s.default)(this,b)[b]=new o.AudioOrchestrator({store:t.store,audioService:t.audioService,addStatusListener:t=>this.addConnectionStatusListener(t),getActionsContext:()=>(0,s.default)(this,R)[R](),isHost:()=>(0,s.default)(this,p)[p],isAborted:()=>(0,s.default)(this,w)[w]})}addListener(t){return(0,s.default)(this,c)[c].subscribe((e,n)=>{t((0,s.default)(this,c)[c].getState())})}subscribe(t){return(0,s.default)(this,c)[c].subscribe(()=>t())}getState(){return(0,s.default)(this,c)[c].getState()}isHostPlayer(){return(0,s.default)(this,p)[p]}getMyUserId(){return(0,s.default)(this,v)[v]}updateMyUserId(t){(0,s.default)(this,v)[v]&&(0,s.default)(this,v)[v]!==t&&r(_d[8]).facadeLog.info('updateMyUserId: userId changed',{old:(0,s.default)(this,v)[v],new:t}),(0,s.default)(this,v)[v]=t}getMySeat(){const t=(0,s.default)(this,c)[c].getState();if(!t||!(0,s.default)(this,v)[v])return null;for(const[e,n]of Object.entries(t.players))if(n?.userId===(0,s.default)(this,v)[v])return Number.parseInt(e,10);return null}getStateRevision(){return(0,s.default)(this,c)[c].getRevision()}consumeLastAction(){return(0,s.default)(this,c)[c].consumeLastAction()}handleSettleResult(t){for(const e of(0,s.default)(this,C)[C])try{e(t)}catch(t){r(_d[8]).facadeLog.error('SettleResult listener error',t)}}addSettleResultListener(t){return(0,s.default)(this,C)[C].add(t),()=>{(0,s.default)(this,C)[C].delete(t)}}addConnectionStatusListener(t){return(0,s.default)(this,h)[h].addStateListener(e=>{t(f(e))})}manualReconnect(){(0,s.default)(this,w)[w]||(0,s.default)(this,h)[h].manualReconnect()}getListenerCount(){return(0,s.default)(this,c)[c].getListenerCount()-(0,s.default)(k,P)[P]}async createRoom(t,e,n){r(_d[8]).facadeLog.info('createRoom',{roomCode:t}),(0,s.default)(this,w)[w]=!1,(0,s.default)(this,b)[b].reset(),(0,s.default)(this,C)[C].clear(),(0,s.default)(this,p)[p]=!0,(0,s.default)(this,v)[v]=e,(0,s.default)(this,A)[A]=t;const u=(0,r(_d[9]).buildInitialGameState)(t,e,n);(0,s.default)(this,c)[c].initialize(u),await(0,s.default)(this,h)[h].connectAndWait(t,e)}async joinRoom(t,e,n){r(_d[8]).facadeLog.info('joinRoom',{roomCode:t,isHost:n}),(0,s.default)(this,w)[w]=!1,(0,s.default)(this,b)[b].reset(),(0,s.default)(this,C)[C].clear(),(0,s.default)(this,p)[p]=n,(0,s.default)(this,v)[v]=e,t!==(0,s.default)(this,A)[A]&&(0,s.default)(this,c)[c].reset(),(0,s.default)(this,A)[A]=t,n&&(0,s.default)(this,b)[b].setWasAudioInterrupted(!0),await(0,s.default)(this,h)[h].connectAndWait(t,e);const u=(0,s.default)(this,c)[c].getState();if(u)n&&(0,s.default)(this,b)[b].setWasAudioInterrupted(u.status===r(_d[10]).GameStatus.Ongoing);else if(n)return(0,s.default)(this,b)[b].setWasAudioInterrupted(!1),(0,s.default)(this,p)[p]=!1,(0,s.default)(this,v)[v]=null,r(_d[8]).facadeLog.warn('Host rejoin failed: no DB state'),{success:!1,reason:'no_db_state'};return{success:!0}}get wasAudioInterrupted(){return(0,s.default)(this,b)[b].wasAudioInterrupted}async resumeAfterRejoin(){return r(_d[8]).facadeLog.debug('resumeAfterRejoin'),(0,s.default)(this,b)[b].resumeAfterRejoin()}async postProgression(){return r(_d[8]).facadeLog.debug('postProgression'),d.postProgression((0,s.default)(this,R)[R]())}async leaveRoom(){r(_d[8]).facadeLog.info('leaveRoom'),(0,s.default)(this,w)[w]=!0,(0,s.default)(this,b)[b].reset(),(0,s.default)(this,y)[y].stop(),(0,s.default)(this,y)[y].stopBgm(),(0,s.default)(this,y)[y].clearPreloaded(),(0,s.default)(this,h)[h].disconnect(),(0,s.default)(this,c)[c].reset(),(0,s.default)(this,v)[v]=null,(0,s.default)(this,p)[p]=!1,(0,s.default)(this,A)[A]=null,(0,s.default)(this,C)[C].clear()}async takeSeat(t,e,n,u,o,d,f,c,h){return l.takeSeat((0,s.default)(this,j)[j](),t,e,n,u,o,d,f,c,h)}async takeSeatWithAck(t,e,n,u,o,d,f,c,h){return l.takeSeatWithAck((0,s.default)(this,j)[j](),t,e,n,u,o,d,f,c,h)}async leaveSeat(){return l.leaveSeat((0,s.default)(this,j)[j]())}async leaveSeatWithAck(){return l.leaveSeatWithAck((0,s.default)(this,j)[j]())}async kickPlayer(t){return l.kickPlayer((0,s.default)(this,j)[j](),t)}async assignRoles(){return d.assignRoles((0,s.default)(this,R)[R]())}async updateTemplate(t){return d.updateTemplate((0,s.default)(this,R)[R](),t)}async markViewedRole(t){return d.markViewedRole((0,s.default)(this,R)[R](),t)}async startNight(){return d.startNight((0,s.default)(this,R)[R]())}async restartGame(){return(0,s.default)(this,y)[y].stop(),(0,s.default)(this,y)[y].clearPreloaded(),d.restartGame((0,s.default)(this,R)[R]())}async fillWithBots(){return d.fillWithBots((0,s.default)(this,R)[R]())}async markAllBotsViewed(){return d.markAllBotsViewed((0,s.default)(this,R)[R]())}async markAllBotsGroupConfirmed(){return d.markAllBotsGroupConfirmed((0,s.default)(this,R)[R]())}async clearAllSeats(){return d.clearAllSeats((0,s.default)(this,R)[R]())}async updatePlayerProfile(t,e,n,u,o,l,f){return d.updatePlayerProfile((0,s.default)(this,R)[R](),t,e,n,u,o,l,f)}async shareNightReview(t){return d.shareNightReview((0,s.default)(this,R)[R](),t)}async boardNominate(t,e){return d.boardNominate((0,s.default)(this,R)[R](),t,e)}async boardUpvote(t){return d.boardUpvote((0,s.default)(this,R)[R](),t)}async boardWithdraw(){return d.boardWithdraw((0,s.default)(this,R)[R]())}async submitAction(t,e,n,u){return d.submitAction((0,s.default)(this,R)[R](),t,e,n,u)}async submitRevealAck(){return d.clearRevealAcks((0,s.default)(this,R)[R]())}async submitGroupConfirmAck(t){return d.submitGroupConfirmAck((0,s.default)(this,R)[R](),t)}async sendWolfRobotHunterStatusViewed(t){return d.setWolfRobotHunterStatusViewed((0,s.default)(this,R)[R](),t)}async fetchStateFromDB(){const t=(0,s.default)(this,c)[c].getState()?.roomCode??(0,s.default)(this,A)[A];if(!t)return!1;try{const e=await(0,s.default)(this,S)[S].getGameState(t);return!!e&&((0,s.default)(this,c)[c].applySnapshot(e.state,e.revision),(0,s.default)(this,h)[h].updateRevision(e.revision),!0)}catch(t){return(0,u.handleError)(t,{label:'fetchStateFromDB',logger:r(_d[8]).facadeLog,feedback:!1}),!1}}async setAudioPlaying(t){return d.setAudioPlaying((0,s.default)(this,R)[R](),t)}}function O(){return{store:(0,s.default)(this,c)[c],myUserId:(0,s.default)(this,v)[v],getMySeat:()=>this.getMySeat(),audioService:(0,s.default)(this,y)[y]}}function L(){return{myUserId:(0,s.default)(this,v)[v],getRoomCode:()=>(0,s.default)(this,c)[c].getState()?.roomCode??null,store:(0,s.default)(this,c)[c]}}Object.defineProperty(k,P,{writable:!0,value:1})},2252,[1819,1820,1903,2253,2254,2258,2122,1858,1061,1906,1904]);
2550
+ __d(function(g,r,i,a,m,_e,_d){"use strict";var e;function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AudioOrchestrator",{enumerable:!0,get:function(){return S}});var n=t(r(_d[0])),l=t(r(_d[1])),d=r(_d[2]),u=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[3])),s=(0,l.default)("deps"),o=(0,l.default)("isPlayingEffects"),f=(0,l.default)("wasAudioInterrupted"),c=(0,l.default)("pendingAudioAckRetry"),h=(0,l.default)("onlineRetryHandler"),y=(0,l.default)("onlineRetryTimer"),p=(0,l.default)("onlineRetryPollTimer"),b=(0,l.default)("onlineRetryAttempt"),A=(0,l.default)("unsubscribeStore"),v=(0,l.default)("unsubscribeStatus"),w=(0,l.default)("maxOnlineRetries"),O=(0,l.default)("pollIntervalMs"),P=(0,l.default)("postAudioAckWithRetry"),L=(0,l.default)("playPendingAudioEffects"),j=(0,l.default)("retryPendingAudioAck"),k=(0,l.default)("registerOnlineRetry"),E=(0,l.default)("startPollFallback"),R=(0,l.default)("unregisterOnlineRetry");class S{constructor(e){Object.defineProperty(this,R,{value:M}),Object.defineProperty(this,E,{value:x}),Object.defineProperty(this,k,{value:_}),Object.defineProperty(this,j,{value:T}),Object.defineProperty(this,L,{value:I}),Object.defineProperty(this,P,{value:K}),Object.defineProperty(this,s,{writable:!0,value:void 0}),Object.defineProperty(this,o,{writable:!0,value:!1}),Object.defineProperty(this,f,{writable:!0,value:!1}),Object.defineProperty(this,c,{writable:!0,value:!1}),Object.defineProperty(this,h,{writable:!0,value:null}),Object.defineProperty(this,y,{writable:!0,value:null}),Object.defineProperty(this,p,{writable:!0,value:null}),Object.defineProperty(this,b,{writable:!0,value:0}),Object.defineProperty(this,A,{writable:!0,value:null}),Object.defineProperty(this,v,{writable:!0,value:null}),(0,n.default)(this,s)[s]=e,(0,n.default)(this,A)[A]=e.store.subscribe(t=>{t&&e.isHost()&&t.pendingAudioEffects&&0!==t.pendingAudioEffects.length&&((0,n.default)(this,f)[f]||(0,n.default)(this,L)[L](t.pendingAudioEffects))}),(0,n.default)(this,v)[v]=e.addStatusListener(t=>{t===r(_d[4]).ConnectionStatus.Live&&e.isHost()&&(0,n.default)(this,c)[c]&&((0,n.default)(this,R)[R](),(0,n.default)(this,c)[c]=!1,(0,n.default)(this,b)[b]=0,r(_d[5]).facadeLog.info('SDK reconnected: retrying pending audio ack',{layer:'L2'}),(0,n.default)(this,j)[j]('reconnect'))})}get wasAudioInterrupted(){return(0,n.default)(this,f)[f]}setWasAudioInterrupted(e){(0,n.default)(this,f)[f]=e}reset(){(0,n.default)(this,o)[o]=!1,(0,n.default)(this,f)[f]=!1,(0,n.default)(this,c)[c]=!1,(0,n.default)(this,b)[b]=0,(0,n.default)(this,R)[R]()}dispose(){(0,n.default)(this,R)[R](),(0,n.default)(this,A)[A]?.(),(0,n.default)(this,A)[A]=null,(0,n.default)(this,v)[v]?.(),(0,n.default)(this,v)[v]=null}async resumeAfterRejoin(){if(!(0,n.default)(this,f)[f])return;(0,n.default)(this,f)[f]=!1;const e=(0,n.default)(this,s)[s].store.getState();if(e)try{if(!e.isAudioPlaying)return;if(e.currentStepId){const t=(0,r(_d[6]).getStepSpec)(e.currentStepId);if(t){r(_d[5]).facadeLog.info('Replaying current step audio after rejoin',{stepId:e.currentStepId,audioKey:t.audioKey});try{const l=(0,r(_d[7],"@werewolf/game-engine/utils/audioKeyOverride").resolveSeerAudioKey)(t.audioKey,e.seerLabelMap);await(0,n.default)(this,s)[s].audioService.playRoleBeginningAudio(l)}finally{await(0,n.default)(this,P)[P]()}}else await(0,n.default)(this,P)[P]()}else await(0,n.default)(this,P)[P]()}catch(e){(0,d.handleError)(e,{label:'resumeAfterRejoin',logger:r(_d[5]).facadeLog,feedback:!1})}}}async function K(){const e=await u.postAudioAck((0,n.default)(this,s)[s].getActionsContext());e.success||(r(_d[5]).facadeLog.warn('postAudioAck failed in resumeAfterRejoin, will retry on reconnect',{reason:e.reason}),(0,n.default)(this,c)[c]=!0,(0,n.default)(this,k)[k]())}async function I(e){if((0,n.default)(this,o)[o])return;(0,n.default)(this,o)[o]=!0;const{audioService:t}=(0,n.default)(this,s)[s];try{let l=e;const d=20;let o=0;for(;l&&l.length>0;){if(++o>d){r(_d[5]).facadeLog.warn('playPendingAudioEffects exceeded max iterations, breaking',{maxIterations:d});break}for(const e of l){if((0,n.default)(this,s)[s].isAborted())break;try{e.isEndAudio?await t.playRoleEndingAudio(e.audioKey):'night'===e.audioKey?await t.playNightAudio():'night_end'===e.audioKey?(t.stopBgm(),await t.playNightEndAudio()):await t.playRoleBeginningAudio(e.audioKey)}catch(t){r(_d[5]).facadeLog.warn('Audio effect playback failed, continuing',{audioKey:e.audioKey,error:t})}}if(!(0,n.default)(this,s)[s].isAborted()){const e=await u.postAudioAck((0,n.default)(this,s)[s].getActionsContext());if(!e.success){r(_d[5]).facadeLog.warn('postAudioAck failed during playback, will retry on reconnect',{reason:e.reason}),(0,n.default)(this,c)[c]=!0,(0,n.default)(this,k)[k]();break}}const e=(0,n.default)(this,s)[s].store.getState();l=e?.pendingAudioEffects&&e.pendingAudioEffects.length>0&&(0,n.default)(this,s)[s].isHost()&&!(0,n.default)(this,f)[f]?e.pendingAudioEffects:void 0}}finally{(0,n.default)(this,o)[o]=!1}}function T(e,t){const l=(0,n.default)(this,s)[s].store.getState(),d=l?.pendingAudioEffects;d&&d.length>0?(r(_d[5]).facadeLog.info('Replaying audio effects after reconnect',{trigger:e,effectCount:d.length}),(0,n.default)(this,L)[L](d)):(r(_d[5]).facadeLog.info('Retrying postAudioAck (no effects to replay)',{trigger:e}),u.postAudioAck((0,n.default)(this,s)[s].getActionsContext()).then(l=>{l.success||(r(_d[5]).facadeLog.warn('postAudioAck retry failed, will retry',{trigger:e,reason:l.reason}),(0,n.default)(this,c)[c]=!0,t?.())}).catch(l=>{r(_d[5]).facadeLog.error('postAudioAck retry threw',{trigger:e},l),(0,n.default)(this,c)[c]=!0,t?.()}))}function _(){if((0,n.default)(this,R)[R](),'function'!=typeof globalThis.window?.addEventListener)return;const t=()=>{if((0,n.default)(this,c)[c]&&(0,n.default)(this,s)[s].isHost()&&!(0,n.default)(this,s)[s].isAborted()){if((0,n.default)(this,b)[b]>=(0,n.default)(e,w)[w])return r(_d[5]).facadeLog.warn(`Online ack retry exhausted (${(0,n.default)(e,w)[w]} attempts), giving up`),void(0,n.default)(this,R)[R]();(0,n.default)(this,b)[b]++,r(_d[5]).facadeLog.info('Online event postAudioAck retry triggered',{layer:'L3a',attempt:(0,n.default)(this,b)[b]}),(0,n.default)(this,R)[R](),(0,n.default)(this,c)[c]=!1,(0,n.default)(this,j)[j]('online event',()=>(0,n.default)(this,k)[k]())}};if(globalThis.navigator?.onLine){const e=Math.min(500*Math.pow(2,(0,n.default)(this,b)[b]),16e3);return r(_d[5]).facadeLog.info(`navigator.onLine=true, scheduling ack retry (attempt=${(0,n.default)(this,b)[b]}, delay=${e}ms)`),void((0,n.default)(this,y)[y]=setTimeout(t,e))}(0,n.default)(this,h)[h]=t,globalThis.window.addEventListener('online',(0,n.default)(this,h)[h]),(0,n.default)(this,E)[E](t)}function x(t){null===(0,n.default)(this,y)[y]&&((0,n.default)(this,p)[p]=setInterval(()=>{(0,n.default)(this,c)[c]&&(0,n.default)(this,s)[s].isHost()&&!(0,n.default)(this,s)[s].isAborted()?globalThis.navigator?.onLine&&(r(_d[5]).facadeLog.info('Poll fallback: navigator.onLine=true, triggering ack retry'),t()):(0,n.default)(this,R)[R]()},(0,n.default)(e,O)[O]))}function M(){null!==(0,n.default)(this,y)[y]&&(clearTimeout((0,n.default)(this,y)[y]),(0,n.default)(this,y)[y]=null),null!==(0,n.default)(this,p)[p]&&(clearInterval((0,n.default)(this,p)[p]),(0,n.default)(this,p)[p]=null),null!==(0,n.default)(this,h)[h]&&('function'==typeof globalThis.window?.removeEventListener&&globalThis.window.removeEventListener('online',(0,n.default)(this,h)[h]),(0,n.default)(this,h)[h]=null)}e=S,Object.defineProperty(S,w,{writable:!0,value:5}),Object.defineProperty(S,O,{writable:!0,value:5e3})},2253,[1819,1820,1903,2254,1858,1061,1086,2257]);
2551
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"assignRoles",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"updateTemplate",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"restartGame",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"clearAllSeats",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"markViewedRole",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"startNight",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"shareNightReview",{enumerable:!0,get:function(){return f}}),Object.defineProperty(e,"submitAction",{enumerable:!0,get:function(){return l}}),Object.defineProperty(e,"setAudioPlaying",{enumerable:!0,get:function(){return b}}),Object.defineProperty(e,"clearRevealAcks",{enumerable:!0,get:function(){return p}}),Object.defineProperty(e,"submitGroupConfirmAck",{enumerable:!0,get:function(){return A}}),Object.defineProperty(e,"setWolfRobotHunterStatusViewed",{enumerable:!0,get:function(){return h}}),Object.defineProperty(e,"postAudioAck",{enumerable:!0,get:function(){return y}}),Object.defineProperty(e,"postProgression",{enumerable:!0,get:function(){return P}}),Object.defineProperty(e,"fillWithBots",{enumerable:!0,get:function(){return G}}),Object.defineProperty(e,"markAllBotsViewed",{enumerable:!0,get:function(){return w}}),Object.defineProperty(e,"markAllBotsGroupConfirmed",{enumerable:!0,get:function(){return j}}),Object.defineProperty(e,"updatePlayerProfile",{enumerable:!0,get:function(){return O}}),Object.defineProperty(e,"boardNominate",{enumerable:!0,get:function(){return k}}),Object.defineProperty(e,"boardUpvote",{enumerable:!0,get:function(){return v}}),Object.defineProperty(e,"boardWithdraw",{enumerable:!0,get:function(){return R}});const t=(0,r(d[0]).defineGameAction)({name:'assignRoles',path:'/game/assign'}),n=(0,r(d[0]).defineGameAction)({name:'updateTemplate',path:'/game/update-template',body:t=>({templateRoles:t.roles})}),o=(0,r(d[0]).defineGameAction)({name:'restartGame',path:'/game/restart'}),s=(0,r(d[0]).defineGameAction)({name:'clearAllSeats',path:'/game/clear-seats'}),c=(0,r(d[0]).defineGameAction)({name:'markViewedRole',path:'/game/view-role',needsUserId:!0,body:t=>({seat:t})}),u=(0,r(d[0]).defineGameAction)({name:'startNight',path:'/game/start',after:(t,n)=>{if(!n.success)return;const o=t.store.getState();o?.templateRoles&&t.audioService.preloadForRoles(o.templateRoles).catch(t=>{r(d[1]).facadeLog.warn('preloadForRoles failed (non-critical)',t)})}}),f=(0,r(d[0]).defineGameAction)({name:'shareNightReview',path:'/game/share-review',body:t=>({allowedSeats:t})}),l=(0,r(d[0]).defineGameAction)({name:'submitAction',path:'/game/night/action',body:(t,n,o,s)=>({seat:t,role:n,target:o,extra:s}),after:(t,n,o,s,c)=>{n.success||r(d[1]).facadeLog.warn('submitAction failed',{reason:n.reason,seat:o,role:s,target:c})}}),b=(0,r(d[0]).defineGameAction)({name:'setAudioPlaying',path:'/game/night/audio-gate',body:t=>({isPlaying:t})}),p=(0,r(d[0]).defineGameAction)({name:'clearRevealAcks',path:'/game/night/reveal-ack',after:(t,n)=>{n.success||r(d[1]).facadeLog.warn('clearRevealAcks failed',{reason:n.reason})}}),A=(0,r(d[0]).defineGameAction)({name:'submitGroupConfirmAck',path:'/game/night/group-confirm-ack',needsUserId:!0,body:t=>({seat:t}),after:(t,n,o)=>{n.success||r(d[1]).facadeLog.warn('submitGroupConfirmAck failed',{reason:n.reason,seat:o})}}),h=(0,r(d[0]).defineGameAction)({name:'setWolfRobotHunterStatusViewed',path:'/game/night/wolf-robot-viewed',body:t=>({seat:t}),after:(t,n,o)=>{n.success||r(d[1]).facadeLog.warn('setWolfRobotHunterStatusViewed failed',{reason:n.reason,seat:o})}}),y=(0,r(d[0]).defineGameAction)({name:'postAudioAck',path:'/game/night/audio-ack'}),P=(0,r(d[0]).defineGameAction)({name:'postProgression',path:'/game/night/progression'}),G=(0,r(d[0]).defineGameAction)({name:'fillWithBots',path:'/game/fill-bots'}),w=(0,r(d[0]).defineGameAction)({name:'markAllBotsViewed',path:'/game/mark-bots-viewed'}),j=(0,r(d[0]).defineGameAction)({name:'markAllBotsGroupConfirmed',path:'/game/night/mark-bots-group-confirmed'}),O=(0,r(d[0]).defineGameAction)({name:'updatePlayerProfile',path:'/game/update-profile',needsUserId:!0,body:(t,n,o,s,c,u,f)=>({displayName:t,avatarUrl:n,avatarFrame:o,seatFlair:s,nameStyle:c,roleRevealEffect:u,seatAnimation:f})}),k=(0,r(d[0]).defineGameAction)({name:'boardNominate',path:'/game/board-nominate',needsUserId:!0,body:(t,n)=>({displayName:t,roles:n})}),v=(0,r(d[0]).defineGameAction)({name:'boardUpvote',path:'/game/board-upvote',needsUserId:!0,body:t=>({targetUserId:t})}),R=(0,r(d[0]).defineGameAction)({name:'boardWithdraw',path:'/game/board-withdraw',needsUserId:!0})},2254,[2255,1061]);
2552
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.defineGameAction=function(c){return async(u,...l)=>{let f;r(d[1]).facadeLog.debug('gameAction called',{name:c.name});let C=null;if(c.needsUserId){const t=n(u);if(!t)return o;f=t.roomCode,C=t.myUserId}else{const t=s(u);if(!t)return o;f=t.roomCode}const y=c.body?.(...l)??{},I=Object.assign({roomCode:f},y);c.needsUserId&&C&&(I.userId=C);const U=await t(c.path,I,u.store);return c.after?.(u,U,...l),U}};const o={success:!1,reason:'NOT_CONNECTED'};async function t(o,t,n){return(0,r(d[0]).callApiWithRetry)(o,t,'callGameControlApi',n)}function n(o){const t=o.store.getState()?.roomCode;return t&&o.myUserId?{roomCode:t,myUserId:o.myUserId}:null}function s(o){const t=o.store.getState()?.roomCode;return t?{roomCode:t}:null}},2255,[2256,1061]);
2553
+ __d(function(g,_r,i,a,m,_e,d){"use strict";async function e(e,r,t,n){try{const o='function'==typeof globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`req_${Date.now()}_${Math.floor(1e6*(0,_r(d[0],"@werewolf/game-engine/utils/random").secureRng)())}`,s=await(0,_r(d[1],"@/services/cloudflare/cfFetch").fetchWithRetry)(`${_r(d[2],"@/config/api").API_BASE_URL}${e}`,{method:'POST',headers:{'Content-Type':'application/json','x-region':_r(d[2],"@/config/api").API_REGION,'x-request-id':o},signal:AbortSignal.timeout(_r(d[2],"@/config/api").API_TIMEOUT_MS),body:JSON.stringify(r)});if(!s.headers.get('content-type')?.includes('application/json'))return _r(d[3]).facadeLog.error('non-JSON response',{label:t,path:e,status:s.status,requestId:o,region:_r(d[2]).API_REGION}),{success:!1,reason:'SERVER_ERROR'};const c=await s.json();return c.success&&c.state&&null!=c.revision&&n&&n.applySnapshot(c.state,c.revision),c}catch(r){if(r instanceof ReferenceError)throw _r(d[3]).facadeLog.error('Programmer error in API call',{label:t,path:e,error:r}),r;if('undefined'!=typeof DOMException&&r instanceof DOMException&&('AbortError'===r.name||'TimeoutError'===r.name)||'object'==typeof r&&null!==r&&'name'in r&&('AbortError'===r.name||'TimeoutError'===r.name))return _r(d[3]).facadeLog.warn('timeout',{label:t,path:e,timeoutMs:_r(d[2]).API_TIMEOUT_MS,region:_r(d[2]).API_REGION}),{success:!1,reason:'TIMEOUT'};const n=r;return _r(d[3]).facadeLog.warn('network error',{label:t,path:e,error:n?.message??String(r)}),{success:!1,reason:'NETWORK_ERROR'}}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.callApiWithRetry=async function(n,o,s,c){const u=Date.now();for(let l=0;l<=r;l++){if(l>0&&Date.now()-u>t){_r(d[3]).facadeLog.warn('total budget exceeded',{path:n,elapsed:Date.now()-u});break}const R=await e(n,o,s,c);if(R.success)return R;if('TIMEOUT'===R.reason)return R;if(('CONFLICT_RETRY'===R.reason||'INTERNAL_ERROR'===R.reason||'NETWORK_ERROR'===R.reason||'SERVER_ERROR'===R.reason)&&l<r){const e=300*(l+1)+100*(0,_r(d[0]).secureRng)();_r(d[3]).facadeLog.warn('client retrying',{reason:R.reason,path:n,attempt:l+1}),await new Promise(r=>setTimeout(r,e));continue}return R}return{success:!1,reason:'NETWORK_ERROR'}};const r=2,t=3e4},2256,[1108,1072,1070,1061]);
2554
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.resolveSeerAudioKey=function(n,t){if(!t)return n;const u=t[n];if(null!=u)return`seer_${u}`;return n}},2257,[]);
2555
+ __d(function(g,r,i,a,m,e,d){"use strict";async function t(t,s,c){return(0,r(d[0]).callApiWithRetry)('/game/seat',Object.assign({roomCode:t},s),'callSeatApi',c)}async function s(s,c,n,o,u,y,l,f,I,k){const C=s.getRoomCode();return C&&s.myUserId?(r(d[1]).facadeLog.debug('takeSeatWithAck',{seat:c,userId:s.myUserId}),t(C,{action:'sit',userId:s.myUserId,seat:c,displayName:n,avatarUrl:o,avatarFrame:u,seatFlair:y,nameStyle:l,roleRevealEffect:I,seatAnimation:k,level:f},s.store)):{success:!1,reason:'NOT_CONNECTED'}}async function c(s){const c=s.getRoomCode();if(!c||!s.myUserId)return{success:!1,reason:'NOT_CONNECTED'};r(d[1]).facadeLog.debug('leaveSeatWithAck',{userId:s.myUserId});return t(c,{action:'standup',userId:s.myUserId},s.store)}Object.defineProperty(e,'__esModule',{value:!0}),e.takeSeat=async function(t,c,n,o,u,y,l,f,I,k){return(await s(t,c,n,o,u,y,l,f,I,k)).success},e.takeSeatWithAck=s,e.leaveSeat=async function(t){return(await c(t)).success},e.leaveSeatWithAck=c,e.kickPlayer=async function(s,c){const n=s.getRoomCode();if(!n||!s.myUserId)return{success:!1,reason:'NOT_CONNECTED'};return r(d[1]).facadeLog.debug('kickPlayer',{targetSeat:c,userId:s.myUserId}),t(n,{action:'kick',userId:s.myUserId,targetSeat:c},s.store)}},2258,[2256,1061]);
2556
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AudioService",{enumerable:!0,get:function(){return p}});var t=e(r(_d[0])),n=e(r(_d[1])),o=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),u=r(_d[3]),d=r(_d[4]);r(_d[5]);var l=(0,n.default)("strategy"),s=(0,n.default)("bgm"),f=(0,n.default)("visibilityHandler"),c=(0,n.default)("initAudio");class p{constructor(){Object.defineProperty(this,c,{value:y}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,s,{writable:!0,value:void 0}),Object.defineProperty(this,f,{writable:!0,value:null}),(0,t.default)(this,l)[l]=new(r(_d[6]).WebAudioStrategy),(0,t.default)(this,s)[s]=new d.BgmPlayer,(0,r(_d[7]).setupWebAudioUnlock)(),(0,t.default)(this,c)[c]()}async playNightAudio(){return(0,t.default)(this,l)[l].play(r(_d[8]).NIGHT_AUDIO,'night')}async playNightBeginAudio(){return this.playNightAudio()}async playNightEndAudio(){return(0,t.default)(this,l)[l].play(r(_d[8]).NIGHT_END_AUDIO,'night_end')}async playRoleBeginningAudio(e){const n=r(_d[8]).AUDIO_REGISTRY[e],o=n?.begin??r(_d[8]).SEER_LABEL_AUDIO[e]??r(_d[8]).STEP_AUDIO[e]?.begin;if(o)return r(_d[9]).audioLog.debug('playRoleBeginningAudio: playing audio',{role:e}),(0,t.default)(this,l)[l].play(o,`role_begin_${e}`);r(_d[9]).audioLog.debug('playRoleBeginningAudio: no audio file, skipping',{role:e})}async playRoleEndingAudio(e){const n=r(_d[8]).AUDIO_REGISTRY[e],o=n?.end??r(_d[8]).SEER_LABEL_AUDIO_END[e]??r(_d[8]).STEP_AUDIO[e]?.end;if(o)return r(_d[9]).audioLog.debug('playRoleEndingAudio: playing audio',{role:e}),(0,t.default)(this,l)[l].play(o,`role_end_${e}`);r(_d[9]).audioLog.debug('playRoleEndingAudio: no audio file, skipping',{role:e})}getBeginningAudio(e){return r(_d[8]).AUDIO_REGISTRY[e]?.begin??null}getEndingAudio(e){return r(_d[8]).AUDIO_REGISTRY[e]?.end??null}stop(){(0,t.default)(this,l)[l].stop()}getIsPlaying(){return(0,t.default)(this,l)[l].getIsPlaying()}cleanup(){r(_d[9]).audioLog.debug('cleanup: stopping all audio'),(0,t.default)(this,l)[l].cleanup(),(0,t.default)(this,s)[s].stop(),(0,t.default)(this,f)[f]&&'undefined'!=typeof document&&(document.removeEventListener('visibilitychange',(0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null)}async startBgm(e){return(0,t.default)(this,s)[s].start(e)}stopBgm(){(0,t.default)(this,s)[s].stop()}setBgmVolume(e){(0,t.default)(this,s)[s].setVolume(e)}setRoleAudioVolume(e){(0,t.default)(this,l)[l].setVolume(e)}async preloadForRoles(e){r(_d[9]).audioLog.debug('preloadForRoles: starting',{roles:e});const n=[{key:'night',file:r(_d[8]).NIGHT_AUDIO},{key:'night_end',file:r(_d[8]).NIGHT_END_AUDIO}];for(const t of e){const e=r(_d[8]).AUDIO_REGISTRY[t];e&&(n.push({key:`begin_${t}`,file:e.begin}),n.push({key:`end_${t}`,file:e.end}))}const o=n.map(({key:e,file:n})=>(0,t.default)(this,l)[l].preloadFile(e,n).catch(t=>{r(_d[9]).audioLog.warn('preloadForRoles: failed to preload',{key:e},t)}));await Promise.all(o),r(_d[9]).audioLog.debug('preloadForRoles: done',{count:n.length})}clearPreloaded(){(0,t.default)(this,l)[l].clearPreloaded()}}async function y(){try{await(0,u.setAudioModeAsync)({playsInSilentMode:!0,shouldPlayInBackground:!1,interruptionMode:'duckOthers'}),'undefined'!=typeof document&&((0,t.default)(this,f)[f]=()=>{document.hidden?(r(_d[9]).audioLog.debug('page hidden, pausing all audio'),(0,t.default)(this,l)[l].pause(),(0,t.default)(this,s)[s].pause()):(r(_d[9]).audioLog.debug('page visible, resuming audio'),(0,t.default)(this,l)[l].resume(),(0,t.default)(this,s)[s].resume())},document.addEventListener('visibilitychange',(0,t.default)(this,f)[f]))}catch(e){r(_d[9]).audioLog.error('Failed to initialize audio',e),o.captureException(e)}}},2259,[1819,1820,119,2260,2272,2275,2276,2274,1974,1061]);
2557
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"createAudioPlayer",{enumerable:!0,get:function(){return t.createAudioPlayer}}),Object.defineProperty(e,"setAudioModeAsync",{enumerable:!0,get:function(){return t.setAudioModeAsync}});var t=r(d[0])},2260,[2261]);
2558
+ __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createAudioPlayer=function(t=null,o={}){const{downloadFirst:u=!1}=o,c=u?null:(0,n.resolveSource)(t),l=new e.AudioPlayerWeb(c,o);if(u&&t){const o=(0,n.resolveSource)(t);o&&e.preloadAsync(o).finally(()=>{l.replace(o)})}return l},_e.setAudioModeAsync=async function(n){return await e.setAudioModeAsync(n)},Object.defineProperty(_e,"AudioModule",{enumerable:!0,get:function(){return e}}),r(_d[0]),r(_d[1]);var e=(function(e){if(e&&e.__esModule)return e;var n={};return e&&Object.keys(e).forEach(function(t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}),n.default=e,n})(r(_d[2]));r(_d[3]);var n=r(_d[4])},2261,[2,90,2262,2271,2268]);
2559
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AudioPlayerWeb",{enumerable:!0,get:function(){return n.AudioPlayerWeb}}),Object.defineProperty(e,"AudioPlaylistWeb",{enumerable:!0,get:function(){return o.AudioPlaylistWeb}}),Object.defineProperty(e,"AudioRecorderWeb",{enumerable:!0,get:function(){return c.AudioRecorderWeb}}),Object.defineProperty(e,"isAudioActive",{enumerable:!0,get:function(){return u}}),e.setAudioModeAsync=async function(t){},e.setIsAudioActiveAsync=async function(t){if(u=t,!t)for(const t of n.activePlayers)t.playing&&t.pause()},e.preloadAsync=f,e.preload=function(t){f(t).catch(()=>{})},e.clearPreloadedSource=function(t){const n=(0,s.getSourceUri)(t);if(!n)return;const o=s.preloadCache.get(n);o&&(URL.revokeObjectURL(o.blobUrl),s.preloadCache.delete(n))},e.clearAllPreloadedSources=function(){for(const t of s.preloadCache.values())URL.revokeObjectURL(t.blobUrl);s.preloadCache.clear()},e.getPreloadedSources=function(){return Array.from(s.preloadCache.keys())},e.getRecordingPermissionsAsync=async function(){switch(await l('microphone')){case t.PermissionStatus.GRANTED:return{status:t.PermissionStatus.GRANTED,expires:'never',canAskAgain:!0,granted:!0};case t.PermissionStatus.DENIED:return{status:t.PermissionStatus.DENIED,expires:'never',canAskAgain:!0,granted:!1};default:return await A()}},e.requestRecordingPermissionsAsync=A;var t=r(d[0]),n=r(d[1]),s=r(d[2]),o=r(d[3]),c=r(d[4]);let u=!0;async function l(n){if(!navigator||!navigator.permissions||!navigator.permissions.query)return null;try{const{state:s}=await navigator.permissions.query({name:n});switch(s){case'granted':return t.PermissionStatus.GRANTED;case'denied':return t.PermissionStatus.DENIED;default:return t.PermissionStatus.UNDETERMINED}}catch{return t.PermissionStatus.UNDETERMINED}}async function f(t){const n=(0,s.getSourceUri)(t);if(!n||s.preloadCache.has(n))return;const o=t&&'object'==typeof t&&!Array.isArray(t)?t.headers:void 0,c=await fetch(n,o?{headers:o}:void 0),u=await c.blob(),l=URL.createObjectURL(u),f=new Audio(l);f.preload='auto',s.preloadCache.set(n,{blobUrl:l,audio:f})}async function A(){try{return(await(0,s.getUserMedia)({audio:!0})).getTracks().forEach(t=>t.stop()),{status:t.PermissionStatus.GRANTED,expires:'never',canAskAgain:!0,granted:!0}}catch{return{status:t.PermissionStatus.DENIED,expires:'never',canAskAgain:!0,granted:!1}}}},2262,[90,2263,2264,2267,2269]);
2560
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"activePlayers",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"AudioPlayerWeb",{enumerable:!0,get:function(){return o}});var t=r(d[0]),s=r(d[1]);const n=new Set;class o extends globalThis.expo.SharedObject{constructor(t,s={}){super();const{updateInterval:o=500,crossOrigin:l}=s;this.src=t,this.interval=Math.max(o,1),this.crossOrigin=l,this.media=this._createMediaElement(),n.add(this)}id=(0,s.nextId)();isAudioSamplingSupported=!1;isBuffering=!1;shouldCorrectPitch=!1;src=null;interval=500;isPlaying=!1;loaded=!1;analyser=null;sourceNode=null;samplingFrameId=null;samplingEnabled=!1;samplingBuffer=null;get playing(){return this.isPlaying}get muted(){return this.media.muted}set muted(t){this.media.muted=t}get loop(){return this.media.loop}set loop(t){this.media.loop=t}get duration(){return(0,s.safeDuration)(this.media.duration)}get currentTime(){return this.media.currentTime}get paused(){return this.media.paused}get isLoaded(){return this.loaded}get playbackRate(){return this.media.playbackRate}set playbackRate(t){this.media.playbackRate=t}get volume(){return this.media.volume}set volume(t){this.media.volume=t}get currentStatus(){return(0,s.getStatusFromMedia)(this.media,this.id)}play(){t.isAudioActive&&(this.media.play(),this.isPlaying=!0,this.startSampling())}pause(){this.media.pause(),this.isPlaying=!1,this.stopSampling()}replace(t){const s=this.isPlaying,n=this.samplingEnabled,o=r(d[2]).mediaSessionController.getActiveState(this);this.remove(),this.src=t,this.isPlaying=!1,this.loaded=!1,this.media=this._createMediaElement(),n&&this.setAudioSamplingEnabled(!0),o&&r(d[2]).mediaSessionController.setActivePlayer(this,o.metadata??void 0,o.options??void 0),s&&this.play()}async seekTo(t,s,n){this.media.currentTime=t}setAudioSamplingEnabled(t){if(t){if(!this.media.crossOrigin&&this._isCrossOrigin())return void(this.isAudioSamplingSupported=!1);if(this.analyser)return;const t=(0,s.getAudioContext)();'suspended'===t.state&&t.resume(),this.sourceNode||(this.sourceNode=t.createMediaElementSource(this.media)),this.analyser=t.createAnalyser(),this.analyser.fftSize=2048,this.sourceNode.disconnect(),this.sourceNode.connect(this.analyser),this.analyser.connect(t.destination),this.samplingBuffer=new Float32Array(this.analyser.frequencyBinCount),this.samplingEnabled=!0,this.isPlaying&&this.startSampling(),this.isAudioSamplingSupported=!0}else{if(this.stopSampling(),this.analyser&&(this.analyser.disconnect(),this.analyser=null),this.sourceNode){const t=(0,s.getAudioContext)();this.sourceNode.disconnect(),this.sourceNode.connect(t.destination)}this.samplingBuffer=null,this.samplingEnabled=!1}}startSampling(){if(!this.samplingEnabled||!this.analyser||!this.samplingBuffer)return;const t=()=>{this.analyser&&this.samplingBuffer&&(this.analyser.getFloatTimeDomainData(this.samplingBuffer),this.emit(r(d[3]).AUDIO_SAMPLE_UPDATE,{channels:[{frames:Array.from(this.samplingBuffer)}],timestamp:this.media.currentTime}),this.samplingFrameId=requestAnimationFrame(t))};this.samplingFrameId=requestAnimationFrame(t)}stopSampling(){null!=this.samplingFrameId&&(cancelAnimationFrame(this.samplingFrameId),this.samplingFrameId=null)}setPlaybackRate(t,s){this.media.playbackRate=t,this.shouldCorrectPitch='high'===s,this.media.preservesPitch=this.shouldCorrectPitch,r(d[2]).mediaSessionController.updatePositionState(this)}remove(){r(d[2]).mediaSessionController.clear(this),this.stopSampling(),this.analyser&&(this.analyser.disconnect(),this.analyser=null),this.sourceNode&&(this.sourceNode.disconnect(),this.sourceNode=null),this.samplingEnabled=!1,this.media.pause(),this.media.ontimeupdate=null,this.media.onplay=null,this.media.onpause=null,this.media.onseeked=null,this.media.onended=null,this.media.onloadeddata=null,this.media.onerror=null,this.media.removeAttribute('src'),this.media.load(),n.delete(this)}release(){this.remove()}setActiveForLockScreen(t,s,n){t?r(d[2]).mediaSessionController.setActivePlayer(this,s,n):r(d[2]).mediaSessionController.clear(this)}updateLockScreenMetadata(t){r(d[2]).mediaSessionController.updateMetadata(this,t)}clearLockScreenControls(){r(d[2]).mediaSessionController.clear(this)}_isCrossOrigin(){try{return new URL(this.media.src).origin!==window.location.origin}catch{return!1}}_createMediaElement(){const t=(0,s.getSourceUri)(this.src),n=t&&s.preloadCache.has(t)?s.preloadCache.get(t).blobUrl:t,o=new Audio(n);void 0!==this.crossOrigin&&(o.crossOrigin=this.crossOrigin);let l=0;const h=this.interval/1e3;return o.ontimeupdate=()=>{const t=o.currentTime;t<l&&(l=t),t-l>=h&&(l=t,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,(0,s.getStatusFromMedia)(o,this.id)),r(d[2]).mediaSessionController.updatePositionState(this))},o.onplay=()=>{this.isPlaying=!0,l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{playing:this.isPlaying})),r(d[2]).mediaSessionController.updatePlaybackState(this),r(d[2]).mediaSessionController.updatePositionState(this)},o.onpause=()=>{this.isPlaying=!1,l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{playing:this.isPlaying})),r(d[2]).mediaSessionController.updatePlaybackState(this),r(d[2]).mediaSessionController.updatePositionState(this)},o.onseeked=()=>{l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,(0,s.getStatusFromMedia)(o,this.id)),r(d[2]).mediaSessionController.updatePositionState(this)},o.onended=()=>{l=0,r(d[2]).mediaSessionController.updatePlaybackState(this)},o.onloadeddata=()=>{this.loaded=!0,l=o.currentTime,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{isLoaded:this.loaded})),r(d[2]).mediaSessionController.updatePositionState(this)},o.onerror=()=>{this.loaded=!1,this.isPlaying=!1,this.emit(r(d[3]).PLAYBACK_STATUS_UPDATE,Object.assign({},(0,s.getStatusFromMedia)(o,this.id),{isLoaded:!1,playing:!1}))},o}}},2263,[2262,2264,2265,2266]);
2561
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"nextId",{enumerable:!0,get:function(){return n}}),e.getAudioContext=function(){o||(o=new AudioContext);return o},e.getUserMedia=function(t){if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)return navigator.mediaDevices.getUserMedia(t);const n=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||function(){const t=new Error('Permission unimplemented');throw t.code=0,t.name='NotAllowedError',t};return new Promise((o,u)=>{n.call(navigator,t,o,u)})},e.safeDuration=u,e.getStatusFromMedia=function(t,n){const o=!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2);return{id:n,isLoaded:!0,duration:u(t.duration),currentTime:t.currentTime,playbackState:'',timeControlStatus:o?'playing':'paused',reasonForWaitingToPlay:'',playing:o,didJustFinish:t.ended,isBuffering:!1,playbackRate:t.playbackRate,shouldCorrectPitch:!0,mute:t.muted,loop:t.loop}},Object.defineProperty(e,"preloadCache",{enumerable:!0,get:function(){return s}}),e.getSourceUri=function(n){if('string'==typeof n)return n;if('number'==typeof n){return t.Asset.fromModule(n).uri}if('number'==typeof n?.assetId&&!n?.uri){return t.Asset.fromModule(n.assetId).uri}return n?.uri??void 0};var t=r(d[0]);const n=(()=>{let t=0;return()=>String(t++)})();let o=null;function u(t){return isNaN(t)||!isFinite(t)?0:t}const s=new Map},2264,[1022]);
2562
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"mediaSessionController",{enumerable:!0,get:function(){return t}});const t=new class{activePlayer=null;metadata=null;options=null;setActivePlayer(t,s,n){navigator.mediaSession&&(this.activePlayer&&this.activePlayer!==t&&this.clear(this.activePlayer),this.activePlayer=t,this.metadata=s??null,this.options=n??null,this._applyMetadata(),this._applyActionHandlers(),this.updatePlaybackState(t),this.updatePositionState(t))}updateMetadata(t,s){navigator.mediaSession&&this.activePlayer===t&&(this.metadata=s,this._applyMetadata())}clear(t){if(!navigator.mediaSession)return;if(this.activePlayer!==t)return;this.activePlayer=null,this.metadata=null,this.options=null,navigator.mediaSession.metadata=null,navigator.mediaSession.playbackState='none';const s=['play','pause','seekto','seekforward','seekbackward','previoustrack','nexttrack'];for(const t of s)this._setHandler(t,null);try{navigator.mediaSession.setPositionState()}catch{}}updatePlaybackState(t){navigator.mediaSession&&this.activePlayer===t&&(navigator.mediaSession.playbackState=t.playing?'playing':'paused')}updatePositionState(t){if(!navigator.mediaSession)return;if(this.activePlayer!==t)return;const s=t.duration;if(!Number.isFinite(s)||s<=0)return;const n=Math.min(Math.max(t.currentTime,0),s),o=t.playbackRate||1;try{navigator.mediaSession.setPositionState({duration:s,playbackRate:o,position:n})}catch{}}isActive(t){return this.activePlayer===t}getActiveState(t){return this.activePlayer!==t?null:{metadata:this.metadata,options:this.options}}_applyMetadata(){if(!this.metadata)return void(navigator.mediaSession.metadata=null);const{title:t,artist:s,albumTitle:n,artworkUrl:o}=this.metadata,l=o?[{src:o}]:[];navigator.mediaSession.metadata=new MediaMetadata({title:t??'',artist:s??'',album:n??'',artwork:l})}_setHandler(t,s){try{navigator.mediaSession.setActionHandler(t,s)}catch{}}_applyActionHandlers(){const t=this.activePlayer;if(!t)return;this._setHandler('play',()=>{t.play()}),this._setHandler('pause',()=>{t.pause()}),this._setHandler('seekto',s=>{null!=s.seekTime&&(t.seekTo(s.seekTime),this.updatePositionState(t))});const s=s=>{const n=s.seekOffset??10,o=Math.min(t.currentTime+n,t.duration||0);t.seekTo(o),this.updatePositionState(t)},n=s=>{const n=s.seekOffset??10,o=Math.max(t.currentTime-n,0);t.seekTo(o),this.updatePositionState(t)};!0===this.options?.showSeekForward?(this._setHandler('seekforward',s),this._setHandler('nexttrack',s)):(this._setHandler('seekforward',null),this._setHandler('nexttrack',null)),!0===this.options?.showSeekBackward?(this._setHandler('seekbackward',n),this._setHandler('previoustrack',n)):(this._setHandler('seekbackward',null),this._setHandler('previoustrack',null))}}},2265,[]);
2563
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PLAYBACK_STATUS_UPDATE",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AUDIO_SAMPLE_UPDATE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"RECORDING_STATUS_UPDATE",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"PLAYLIST_STATUS_UPDATE",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"TRACK_CHANGED",{enumerable:!0,get:function(){return o}});const t='playbackStatusUpdate',n='audioSampleUpdate',u='recordingStatusUpdate',c='playlistStatusUpdate',o='trackChanged'},2266,[]);
2564
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AudioPlaylistWeb",{enumerable:!0,get:function(){return u}});var t=r(d[0]),s=r(d[1]);function n(n){const u=(0,s.resolveSource)(n);return u&&'object'==typeof u?{uri:u.uri,name:u.name}:{uri:(0,t.getSourceUri)(n)}}class u extends globalThis.expo.SharedObject{constructor(t=[],s=500,u="none",h){super(),this._updateInterval=Math.max(s,1),this._loopMode=u,this._crossOrigin=h;for(const s of t)this._sources.push(s),this._sourceInfos.push(n(s));this._sources.length>0&&(this._currentMedia=this._createMediaElement(this._sources[0]),this._preloadNext())}id=(0,t.nextId)();_sources=[];_sourceInfos=[];_currentIndex=0;_currentMedia=null;_nextMedia=null;_updateInterval=500;_loopMode='none';_isPlaying=!1;_isLoaded=!1;_isBuffering=!1;_volume=1;_muted=!1;_playbackRate=1;_knownDuration=0;get currentIndex(){return this._currentIndex}get trackCount(){return this._sources.length}get sources(){return[...this._sourceInfos]}get playing(){return this._isPlaying}get muted(){return this._muted}set muted(t){this._muted=t,this._currentMedia&&(this._currentMedia.muted=t)}get isLoaded(){return this._isLoaded}get isBuffering(){return this._isBuffering}get currentTime(){return this._currentMedia?.currentTime??0}get duration(){return this._knownDuration}get volume(){return this._volume}set volume(t){this._volume=t,this._currentMedia&&(this._currentMedia.volume=t)}get playbackRate(){return this._playbackRate}set playbackRate(t){this._playbackRate=t,this._currentMedia&&(this._currentMedia.playbackRate=t)}get loop(){return this._loopMode}set loop(t){this._loopMode=t,this._emitStatus()}get currentStatus(){return this._getStatus()}play(){this._currentMedia&&0!==this._sources.length&&(this._currentMedia.play(),this._isPlaying=!0)}pause(){this._currentMedia&&(this._currentMedia.pause(),this._isPlaying=!1)}next(){if(0===this._sources.length)return;const t=this._currentIndex;let s=this._currentIndex+1;if(s>=this._sources.length){if('all'!==this._loopMode)return;s=0}this._transitionToTrack(s,t)}previous(){if(0===this._sources.length)return;const t=this._currentIndex;let s=this._currentIndex-1;if(s<0){if('all'!==this._loopMode)return;s=this._sources.length-1}this._transitionToTrack(s,t)}skipTo(t){if(t<0||t>=this._sources.length)return;if(t===this._currentIndex)return;const s=this._currentIndex;this._transitionToTrack(t,s)}async seekTo(t){this._currentMedia&&(this._currentMedia.currentTime=t)}add(t){this._sources.push(t),this._sourceInfos.push(n(t)),1===this._sources.length?this._currentMedia=this._createMediaElement(t):this._preloadNext(),this._emitStatus()}insert(t,s){s<0&&(s=0),s>this._sources.length&&(s=this._sources.length),this._sources.splice(s,0,t),this._sourceInfos.splice(s,0,n(t)),s<=this._currentIndex&&this._sources.length>1&&this._currentIndex++,1===this._sources.length?this._currentMedia=this._createMediaElement(t):this._preloadNext(),this._emitStatus()}remove(t){if(t<0||t>=this._sources.length)return;const s=t===this._currentIndex,n=this._isPlaying;this._sources.splice(t,1),this._sourceInfos.splice(t,1),0===this._sources.length?(this._cleanupMedia(this._currentMedia),this._currentMedia=null,this._cleanupMedia(this._nextMedia),this._nextMedia=null,this._currentIndex=0,this._isPlaying=!1,this._isLoaded=!1,this._knownDuration=0):s?(this._cleanupMedia(this._currentMedia),this._currentIndex>=this._sources.length&&(this._currentIndex=this._sources.length-1),this._knownDuration=0,this._currentMedia=this._createMediaElement(this._sources[this._currentIndex]),n&&this._currentMedia.play(),this._preloadNext()):t<this._currentIndex?(this._currentIndex--,this._preloadNext()):this._preloadNext(),this._emitStatus()}clear(){this._cleanupMedia(this._currentMedia),this._currentMedia=null,this._cleanupMedia(this._nextMedia),this._nextMedia=null,this._sources=[],this._sourceInfos=[],this._currentIndex=0,this._isPlaying=!1,this._isLoaded=!1,this._knownDuration=0,this._emitStatus()}destroy(){this.clear()}_transitionToTrack(t,s){const n=this._isPlaying;this._currentMedia&&(this._currentMedia.pause(),this._cleanupMedia(this._currentMedia)),this._currentIndex=t,this._isLoaded=!1,this._isBuffering=!0,this._knownDuration=0;const u=t===(s+1)%this._sources.length;this._nextMedia&&u?(this._currentMedia=this._nextMedia,this._attachMediaHandlers(this._currentMedia),this._nextMedia=null):(this._cleanupMedia(this._nextMedia),this._nextMedia=null,this._currentMedia=this._createMediaElement(this._sources[t])),n&&(this._currentMedia.play(),this._isPlaying=!0),this._preloadNext(),this.emit(r(d[2]).TRACK_CHANGED,{previousIndex:s,currentIndex:t}),this._emitStatus()}_preloadNext(){if(this._nextMedia&&(this._cleanupMedia(this._nextMedia),this._nextMedia=null),this._sources.length<=1||'single'===this._loopMode)return;let s=this._currentIndex+1;if(s>=this._sources.length){if('all'!==this._loopMode)return;s=0}const n=(0,t.getSourceUri)(this._sources[s]);n&&(this._nextMedia=new Audio(n),void 0!==this._crossOrigin&&(this._nextMedia.crossOrigin=this._crossOrigin),this._nextMedia.preload='auto',this._nextMedia.volume=this._volume,this._nextMedia.muted=this._muted,this._nextMedia.playbackRate=this._playbackRate)}_cleanupMedia(t){t&&(t.pause(),t.ontimeupdate=null,t.onplay=null,t.onpause=null,t.onseeked=null,t.onended=null,t.onloadedmetadata=null,t.onloadeddata=null,t.onwaiting=null,t.oncanplaythrough=null,t.onerror=null,t.removeAttribute('src'),t.load())}_attachMediaHandlers(t){let s=0;const n=this._updateInterval/1e3;if(t.readyState>=1){const s=t.duration;!isNaN(s)&&isFinite(s)&&(this._knownDuration=s)}t.ontimeupdate=()=>{const u=t.currentTime;u<s&&(s=u),u-s>=n&&(s=u,this._emitStatus())},t.onplay=()=>{this._isPlaying=!0,s=t.currentTime,this._emitStatus()},t.onpause=()=>{t.ended||(this._isPlaying=!1),s=t.currentTime,this._emitStatus()},t.onseeked=()=>{s=t.currentTime,this._emitStatus()},t.onended=()=>{s=0,this._handleTrackEnded()},t.onloadedmetadata=()=>{const s=t.duration;!isNaN(s)&&isFinite(s)&&(this._knownDuration=s,this._emitStatus())},t.onloadeddata=()=>{this._isLoaded=!0,this._isBuffering=!1,s=t.currentTime,this._emitStatus()},t.onwaiting=()=>{this._isBuffering=!0,this._emitStatus()},t.oncanplaythrough=()=>{this._isBuffering=!1,this._emitStatus()},t.onerror=()=>{this._isLoaded=!1,this._isBuffering=!1,this._isPlaying=!1,this._emitStatus()}}_createMediaElement(s){const n=(0,t.getSourceUri)(s),u=new Audio(n);return void 0!==this._crossOrigin&&(u.crossOrigin=this._crossOrigin),u.volume=this._volume,u.muted=this._muted,u.playbackRate=this._playbackRate,this._attachMediaHandlers(u),u}_handleTrackEnded(){if('single'===this._loopMode)return void(this._currentMedia&&(this._currentMedia.currentTime=0,this._currentMedia.play()));this._currentIndex>=this._sources.length-1?'all'===this._loopMode?this._transitionToTrack(0,this._currentIndex):(this._isPlaying=!1,this.emit(r(d[2]).PLAYLIST_STATUS_UPDATE,Object.assign({},this._getStatus(),{didJustFinish:!0}))):this._transitionToTrack(this._currentIndex+1,this._currentIndex)}_getStatus(){return{id:this.id,currentIndex:this._currentIndex,trackCount:this._sources.length,currentTime:this._currentMedia?.currentTime??0,duration:this._knownDuration,playing:this._isPlaying,isBuffering:this._isBuffering,isLoaded:this._isLoaded,playbackRate:this._playbackRate,muted:this._muted,volume:this._volume,loop:this._loopMode,didJustFinish:!1}}_emitStatus(){this.emit(r(d[2]).PLAYLIST_STATUS_UPDATE,this._getStatus())}}},2267,[2264,2268,2266]);
2565
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.resolveSource=function(n){if(null==n)return null;if(n instanceof t.Asset)return s(n);if('string'==typeof n)return{uri:n};if('number'==typeof n){return s(t.Asset.fromModule(n),{assetId:n})}if('object'==typeof n){if('assetId'in n&&'number'==typeof n.assetId){const s=t.Asset.fromModule(n.assetId);return Object.assign({},n,{uri:s.localUri??s.uri})}if('uri'in n&&'string'==typeof n.uri)return n}return n??null};var t=r(d[0]);function s(t,s={}){const n={uri:t.localUri??t.uri};return t.name&&(n.name=t.name),null!=s.assetId&&(n.assetId=s.assetId),s.headers&&(n.headers=s.headers),n}},2268,[1022]);
2566
+ __d(function(g,r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"AudioRecorderWeb",{enumerable:!0,get:function(){return t}});var e=r(d[0]);class t extends globalThis.expo.SharedObject{constructor(e){super(),this.options=e}async setup(){this.mediaRecorder=await this.createMediaRecorder(this.options)}id=(0,e.nextId)();currentTime=0;uri=null;mediaRecorder=null;mediaRecorderUptimeOfLastStartResume=0;mediaRecorderIsRecording=!1;timeoutIds=[];cachedInputs=[];selectedDeviceId=null;stream=null;handleDeviceChange=null;analyser=null;analyserBuffer=null;analyserSource=null;meteringEnabled=!1;get isRecording(){return'recording'===this.mediaRecorder?.state}record(e){if(null===this.mediaRecorder)throw new Error('Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.');this.clearTimeouts();const{forDuration:t}=e||{};this.startActualRecording(),void 0!==t&&this.timeoutIds.push(setTimeout(()=>{this.stop()},1e3*t))}startActualRecording(){'paused'===this.mediaRecorder?.state?this.mediaRecorder.resume():this.mediaRecorder?.start()}getAvailableInputs(){return this.cachedInputs}getCurrentInput(){const e=this.selectedDeviceId??this.stream?.getAudioTracks()[0]?.getSettings().deviceId,t=this.cachedInputs.find(t=>t.uid===e);return t?Promise.resolve(t):Promise.resolve(this.cachedInputs[0]??{type:'Default',name:'Default',uid:'Default'})}async prepareToRecordAsync(){return this.setup()}getStatus(){const e={canRecord:'recording'===this.mediaRecorder?.state||'inactive'===this.mediaRecorder?.state,isRecording:'recording'===this.mediaRecorder?.state,durationMillis:this.getAudioRecorderDurationMillis(),mediaServicesDidReset:!1,url:this.uri};return this.meteringEnabled&&this.mediaRecorderIsRecording&&(e.metering=this.getMeteringLevel()),e}pause(){if(null===this.mediaRecorder)throw new Error('Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.');this.mediaRecorder?.pause()}recordForDuration(e){this.record({forDuration:e})}setInput(e){if(!this.cachedInputs.some(t=>t.uid===e))throw new Error(`No audio input device found for uid: ${e}`);this.selectedDeviceId=e}startRecordingAtTime(e){this.record({atTime:e})}async stop(){if(null===this.mediaRecorder)throw new Error('Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.');const e=new Promise(e=>this.mediaRecorder?.addEventListener('dataavailable',t=>e(t.data)));this.mediaRecorder?.stop(),this.mediaRecorder=null;const t=await e,i=URL.createObjectURL(t);this.uri=i,this.emit(r(d[1]).RECORDING_STATUS_UPDATE,{id:this.id,isFinished:!0,hasError:!1,error:null,url:i})}clearTimeouts(){this.timeoutIds.forEach(e=>clearTimeout(e))}async createMediaRecorder(t){if('undefined'!=typeof navigator&&!navigator.mediaDevices)throw new Error('No media devices available');this.mediaRecorderUptimeOfLastStartResume=0,this.currentTime=0;const i=!this.selectedDeviceId||{deviceId:{exact:this.selectedDeviceId}},s=await(0,e.getUserMedia)({audio:i});if(this.stream=s,await this.updateCachedInputs(),this.handleDeviceChange=()=>{this.updateCachedInputs()},navigator.mediaDevices.addEventListener('devicechange',this.handleDeviceChange),t.isMeteringEnabled){const t=(0,e.getAudioContext)();'suspended'===t.state&&t.resume(),this.analyserSource=t.createMediaStreamSource(s),this.analyser=t.createAnalyser(),this.analyser.fftSize=2048,this.analyserSource.connect(this.analyser),this.analyserBuffer=new Float32Array(this.analyser.frequencyBinCount),this.meteringEnabled=!0}const n=r(d[2]).RecordingPresets.HIGH_QUALITY.web,o={},c=t.mimeType??n.mimeType;c&&MediaRecorder.isTypeSupported(c)&&(o.mimeType=c),t.bitsPerSecond?o.bitsPerSecond=t.bitsPerSecond:t.bitRate?o.audioBitsPerSecond=t.bitRate:o.bitsPerSecond=n.bitsPerSecond;const u=new MediaRecorder(s,o);return u.addEventListener('pause',()=>{this.currentTime=this.getAudioRecorderDurationMillis(),this.mediaRecorderIsRecording=!1}),u.addEventListener('resume',()=>{this.mediaRecorderUptimeOfLastStartResume=Date.now(),this.mediaRecorderIsRecording=!0}),u.addEventListener('start',()=>{this.mediaRecorderUptimeOfLastStartResume=Date.now(),this.currentTime=0,this.mediaRecorderIsRecording=!0}),u?.addEventListener('stop',()=>{this.currentTime=0,this.mediaRecorderIsRecording=!1,this.stream=null,this.analyserSource&&(this.analyserSource.disconnect(),this.analyserSource=null),this.analyser&&(this.analyser.disconnect(),this.analyser=null,this.analyserBuffer=null),this.handleDeviceChange&&(navigator.mediaDevices?.removeEventListener('devicechange',this.handleDeviceChange),this.handleDeviceChange=null),s.getTracks().forEach(e=>e.stop())}),u}async updateCachedInputs(){const e=await navigator.mediaDevices.enumerateDevices();this.cachedInputs=e.filter(e=>'audioinput'===e.kind).map(e=>({uid:e.deviceId,name:e.label||'Unknown Device',type:'default'===e.deviceId?'Default':'Unknown'}))}getMeteringLevel(){if(!this.analyser||!this.analyserBuffer)return-160;this.analyser.getFloatTimeDomainData(this.analyserBuffer);let e=0;for(let t=0;t<this.analyserBuffer.length;t++)e+=this.analyserBuffer[t]*this.analyserBuffer[t];const t=Math.sqrt(e/this.analyserBuffer.length);return 0===t?-160:20*Math.log10(t)}getAudioRecorderDurationMillis(){let e=this.currentTime;return this.mediaRecorderIsRecording&&this.mediaRecorderUptimeOfLastStartResume>0&&(e+=Date.now()-this.mediaRecorderUptimeOfLastStartResume),e}}},2269,[2264,2266,2270]);
2567
+ __d(function(g,r,i,a,m,e,d){"use strict";var t,A;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"IOSOutputFormat",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AudioQuality",{enumerable:!0,get:function(){return A}}),Object.defineProperty(e,"RecordingPresets",{enumerable:!0,get:function(){return n}}),(function(t){t.LINEARPCM="lpcm",t.AC3="ac-3",t["60958AC3"]="cac3",t.APPLEIMA4="ima4",t.MPEG4AAC="aac ",t.MPEG4CELP="celp",t.MPEG4HVXC="hvxc",t.MPEG4TWINVQ="twvq",t.MACE3="MAC3",t.MACE6="MAC6",t.ULAW="ulaw",t.ALAW="alaw",t.QDESIGN="QDMC",t.QDESIGN2="QDM2",t.QUALCOMM="Qclp",t.MPEGLAYER1=".mp1",t.MPEGLAYER2=".mp2",t.MPEGLAYER3=".mp3",t.APPLELOSSLESS="alac",t.MPEG4AAC_HE="aach",t.MPEG4AAC_LD="aacl",t.MPEG4AAC_ELD="aace",t.MPEG4AAC_ELD_SBR="aacf",t.MPEG4AAC_ELD_V2="aacg",t.MPEG4AAC_HE_V2="aacp",t.MPEG4AAC_SPATIAL="aacs",t.AMR="samr",t.AMR_WB="sawb",t.AUDIBLE="AUDB",t.ILBC="ilbc",t[t.DVIINTELIMA=1836253201]="DVIINTELIMA",t[t.MICROSOFTGSM=1836253233]="MICROSOFTGSM",t.AES3="aes3",t.ENHANCEDAC3="ec-3"})(t||(t={})),(function(t){t[t.MIN=0]="MIN",t[t.LOW=32]="LOW",t[t.MEDIUM=64]="MEDIUM",t[t.HIGH=96]="HIGH",t[t.MAX=127]="MAX"})(A||(A={}));const n={HIGH_QUALITY:{extension:'.m4a',sampleRate:44100,numberOfChannels:2,bitRate:128e3,android:{outputFormat:'mpeg4',audioEncoder:'aac'},ios:{outputFormat:t.MPEG4AAC,audioQuality:A.MAX,linearPCMBitDepth:16,linearPCMIsBigEndian:!1,linearPCMIsFloat:!1},web:{mimeType:'audio/webm',bitsPerSecond:128e3}},LOW_QUALITY:{extension:'.m4a',sampleRate:44100,numberOfChannels:2,bitRate:64e3,android:{extension:'.3gp',outputFormat:'3gp',audioEncoder:'amr_nb'},ios:{audioQuality:A.MIN,outputFormat:t.MPEG4AAC,linearPCMBitDepth:16,linearPCMIsBigEndian:!1,linearPCMIsFloat:!1},web:{mimeType:'audio/webm',bitsPerSecond:128e3}}}},2270,[]);
2568
+ __d(function(g,r,i,a,m,e,d){"use strict";r(d[0])},2271,[90]);
2569
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"BgmPlayer",{enumerable:!0,get:function(){return x}});var t=e(r(d[0])),l=e(r(d[1])),u=r(d[2]);var s=(0,l.default)("isPlaying"),f=(0,l.default)("playlist"),n=(0,l.default)("currentIndex"),h=(0,l.default)("isPlaylist"),o=(0,l.default)("volume"),c=(0,l.default)("gapTimer"),b=(0,l.default)("webElement"),p=(0,l.default)("webAudioCtx"),y=(0,l.default)("webGainNode"),v=(0,l.default)("webSourceNode"),w=(0,l.default)("webEndedHandler"),P=(0,l.default)("webTimeupdateHandler"),j=(0,l.default)("trackEndFired"),L=(0,l.default)("nativePlayer"),O=(0,l.default)("nativeSubscription"),M=(0,l.default)("playCurrentTrack"),B=(0,l.default)("playWeb"),k=(0,l.default)("handleWebTrackEnd"),E=(0,l.default)("playNative"),G=(0,l.default)("onTrackEnded"),T=(0,l.default)("destroyWebPlayer"),A=(0,l.default)("cleanupNativePlayer");class x{constructor(){Object.defineProperty(this,A,{value:C}),Object.defineProperty(this,T,{value:W}),Object.defineProperty(this,G,{value:S}),Object.defineProperty(this,E,{value:F}),Object.defineProperty(this,k,{value:U}),Object.defineProperty(this,B,{value:N}),Object.defineProperty(this,M,{value:_}),Object.defineProperty(this,s,{writable:!0,value:!1}),Object.defineProperty(this,f,{writable:!0,value:[]}),Object.defineProperty(this,n,{writable:!0,value:0}),Object.defineProperty(this,h,{writable:!0,value:!1}),Object.defineProperty(this,o,{writable:!0,value:r(d[3]).BGM_VOLUME}),Object.defineProperty(this,c,{writable:!0,value:null}),Object.defineProperty(this,b,{writable:!0,value:null}),Object.defineProperty(this,p,{writable:!0,value:null}),Object.defineProperty(this,y,{writable:!0,value:null}),Object.defineProperty(this,v,{writable:!0,value:null}),Object.defineProperty(this,w,{writable:!0,value:null}),Object.defineProperty(this,P,{writable:!0,value:null}),Object.defineProperty(this,j,{writable:!0,value:!1}),Object.defineProperty(this,L,{writable:!0,value:null}),Object.defineProperty(this,O,{writable:!0,value:null})}getIsBgmPlaying(){return(0,t.default)(this,s)[s]}setVolume(e){(0,t.default)(this,o)[o]=Math.max(0,Math.min(1,e)),(0,t.default)(this,y)[y]&&((0,t.default)(this,y)[y].gain.value=(0,t.default)(this,o)[o]),(0,t.default)(this,L)[L]&&((0,t.default)(this,L)[L].volume=(0,t.default)(this,o)[o])}async start(e){(0,t.default)(this,s)[s]?r(d[4]).audioLog.debug('BGM already playing, skipping'):0!==e.length?((0,t.default)(this,h)[h]=e.length>1,(0,t.default)(this,f)[f]=(0,t.default)(this,h)[h]?(0,r(d[5]).shuffleArray)(e):e,(0,t.default)(this,n)[n]=0,(0,t.default)(this,s)[s]=!0,r(d[4]).audioLog.debug('Starting BGM',{mode:(0,t.default)(this,h)[h]?'playlist':'loop',count:e.length}),(0,t.default)(this,M)[M]()):r(d[4]).audioLog.warn('BGM start called with empty assets')}stop(){(0,t.default)(this,s)[s]=!1,(0,t.default)(this,c)[c]&&(clearTimeout((0,t.default)(this,c)[c]),(0,t.default)(this,c)[c]=null),(0,t.default)(this,T)[T](),(0,t.default)(this,A)[A](),r(d[4]).audioLog.debug('BGM stopped')}pause(){if((0,t.default)(this,b)[b])try{(0,t.default)(this,b)[b].pause()}catch(e){r(d[4]).audioLog.warn('error pausing web bgm',e)}else if((0,t.default)(this,L)[L])try{(0,t.default)(this,L)[L].pause()}catch(e){r(d[4]).audioLog.warn('error pausing bgm',e)}}resume(){if((0,t.default)(this,s)[s])if((0,t.default)(this,b)[b])'suspended'===(0,t.default)(this,p)[p]?.state&&(0,t.default)(this,p)[p].resume(),(0,t.default)(this,b)[b].play().catch(e=>{r(d[4]).audioLog.warn('error resuming web bgm',e)}),r(d[4]).audioLog.debug('resumed web BGM');else if((0,t.default)(this,L)[L])try{(0,t.default)(this,L)[L].play(),r(d[4]).audioLog.debug('resumed BGM')}catch(e){r(d[4]).audioLog.warn('error resuming bgm',e)}}}function _(){if(!(0,t.default)(this,s)[s])return;const e=(0,t.default)(this,f)[f][(0,t.default)(this,n)[n]],l=!(0,t.default)(this,h)[h];try{'undefined'!=typeof document?(0,t.default)(this,B)[B](e,l):(0,t.default)(this,E)[E](e,l)}catch(e){r(d[4]).audioLog.warn('Failed to start BGM track',e),(0,t.default)(this,s)[s]=!1,(0,t.default)(this,T)[T](),(0,t.default)(this,A)[A]()}}function N(e,l){const u=(0,r(d[6]).audioAssetToUrl)(e);if(!(0,t.default)(this,p)[p]||'closed'===(0,t.default)(this,p)[p].state){const e=(0,r(d[7]).getUnlockedAudioContext)();if(!e||'closed'===e.state)return void r(d[4]).audioLog.error('BgmPlayer: no unlocked AudioContext available \u2014 webAudioUnlock may not have fired');(0,t.default)(this,p)[p]=e,(0,t.default)(this,y)[y]=(0,t.default)(this,p)[p].createGain(),(0,t.default)(this,y)[y].connect((0,t.default)(this,p)[p].destination)}'suspended'===(0,t.default)(this,p)[p].state&&(0,t.default)(this,p)[p].resume();const f=(0,t.default)(this,y)[y];f.gain.value=(0,t.default)(this,o)[o];let h=(0,t.default)(this,b)[b];if(h)h.src=u;else{h=(0,r(d[7]).getUnlockedBgmElement)()??new Audio(u),h.src&&h.src===u||(h.src=u);const e=(0,t.default)(this,p)[p].createMediaElementSource(h);e.connect(f),(0,t.default)(this,b)[b]=h,(0,t.default)(this,v)[v]=e}h.loop=l,(0,t.default)(this,j)[j]=!1,(0,t.default)(this,w)[w]&&(h.removeEventListener('ended',(0,t.default)(this,w)[w]),(0,t.default)(this,w)[w]=null),(0,t.default)(this,P)[P]&&(h.removeEventListener('timeupdate',(0,t.default)(this,P)[P]),(0,t.default)(this,P)[P]=null),l||((0,t.default)(this,w)[w]=()=>(0,t.default)(this,k)[k](),h.addEventListener('ended',(0,t.default)(this,w)[w])),(0,t.default)(this,P)[P]=()=>{if((0,t.default)(this,j)[j])return;const e=(0,t.default)(this,b)[b];e&&Number.isFinite(e.duration)&&0!==e.duration&&(e.currentTime<e.duration-.5||(l?((0,t.default)(this,j)[j]=!0,r(d[4]).audioLog.debug('timeupdate loop fallback triggered'),e.currentTime=0,e.play().catch(()=>{}),setTimeout(()=>{(0,t.default)(this,j)[j]=!1},1e3)):(0,t.default)(this,k)[k]()))},h.addEventListener('timeupdate',(0,t.default)(this,P)[P]),h.play().catch(e=>{r(d[4]).audioLog.warn('Web BGM play() rejected (autoplay policy?)',e),(0,t.default)(this,s)[s]=!1,(0,t.default)(this,T)[T]()}),r(d[4]).audioLog.debug('BGM track started (Web)',{index:(0,t.default)(this,n)[n]})}function U(){(0,t.default)(this,j)[j]||((0,t.default)(this,j)[j]=!0,(0,t.default)(this,G)[G]())}function F(e,l){const s=(0,u.createAudioPlayer)(e);(0,t.default)(this,L)[L]=s,s.volume=(0,t.default)(this,o)[o],s.loop=l,l||((0,t.default)(this,O)[O]=s.addListener('playbackStatusUpdate',e=>{'didJustFinish'in e&&e.didJustFinish&&(0,t.default)(this,G)[G]()})),s.play(),r(d[4]).audioLog.debug('BGM track started (Native)',{index:(0,t.default)(this,n)[n]})}function S(){if((0,t.default)(this,s)[s]){if((0,t.default)(this,L)[L]&&(0,t.default)(this,A)[A](),(0,t.default)(this,b)[b])try{(0,t.default)(this,b)[b].pause()}catch{}(0,t.default)(this,n)[n]++,(0,t.default)(this,n)[n]>=(0,t.default)(this,f)[f].length&&((0,t.default)(this,f)[f]=(0,r(d[5]).shuffleArray)((0,t.default)(this,f)[f]),(0,t.default)(this,n)[n]=0,r(d[4]).audioLog.debug('BGM playlist cycle complete, re-shuffled')),(0,t.default)(this,c)[c]=setTimeout(()=>{(0,t.default)(this,c)[c]=null,(0,t.default)(this,M)[M]()},2e3)}}function W(){if((0,t.default)(this,b)[b]){(0,t.default)(this,w)[w]&&((0,t.default)(this,b)[b].removeEventListener('ended',(0,t.default)(this,w)[w]),(0,t.default)(this,w)[w]=null),(0,t.default)(this,P)[P]&&((0,t.default)(this,b)[b].removeEventListener('timeupdate',(0,t.default)(this,P)[P]),(0,t.default)(this,P)[P]=null);try{(0,t.default)(this,b)[b].pause(),(0,t.default)(this,b)[b].removeAttribute('src'),(0,t.default)(this,b)[b].load()}catch{}}}function C(){if((0,t.default)(this,O)[O]&&((0,t.default)(this,O)[O].remove(),(0,t.default)(this,O)[O]=null),(0,t.default)(this,L)[L]){try{(0,t.default)(this,L)[L].pause(),(0,t.default)(this,L)[L].remove()}catch{}(0,t.default)(this,L)[L]=null}}},2272,[1819,1820,2260,1974,1061,1109,2273,2274]);
2570
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.audioAssetToUrl=function(t){return'string'==typeof t?t:'number'==typeof t?String(t):t.uri},Object.defineProperty(e,"AUDIO_TIMEOUT_MS",{enumerable:!0,get:function(){return t}});const t=15e3},2273,[]);
2571
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getUnlockedAudioContext=function(){return n},_e.getUnlockedAudioElement=function(){return t},_e.getUnlockedBgmElement=function(){return u},_e.setupWebAudioUnlock=function(){if('undefined'==typeof document)return;if(o)return;for(const e of A)document.addEventListener(e,c,!0);r(d[0]).audioLog.debug('webAudioUnlock: listeners registered')};const e='data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';let o=!1,n=null,t=null,u=null;function c(){if(!o){r(d[0]).audioLog.debug('webAudioUnlock: user gesture detected, unlocking audio');try{const o=new Audio;o.src=e,o.load(),t=o;const n=new Audio;n.crossOrigin='anonymous',n.src=e,n.load(),u=n,r(d[0]).audioLog.debug('webAudioUnlock: HTMLAudioElements created (TTS + BGM)')}catch(e){r(d[0]).audioLog.warn('webAudioUnlock: HTMLAudioElement creation failed',e)}try{const e=new AudioContext,o=e.createBuffer(1,1,22050),t=e.createBufferSource();t.buffer=o,t.connect(e.destination),t.start(0),'function'==typeof e.resume&&e.resume(),t.onended=()=>{t.disconnect(0),r(d[0]).audioLog.debug('webAudioUnlock: AudioContext unlocked')},n=e}catch(e){r(d[0]).audioLog.warn('webAudioUnlock: AudioContext unlock failed',e)}o=!0,l()}}const A=['touchstart','touchend','click','keydown'];function l(){for(const e of A)document.removeEventListener(e,c,!0)}},2274,[1061]);
2572
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}e(r(d[0])),e(r(d[1]));r(d[2]);'undefined'!=typeof process&&process.env},2275,[1819,1820,2260,1061]);
2573
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WebAudioStrategy",{enumerable:!0,get:function(){return b}});var t=e(r(d[0])),l=e(r(d[1])),u=(0,l.default)("audioElement"),o=(0,l.default)("isPlaying"),s=(0,l.default)("volume"),n=(0,l.default)("resolve"),f=(0,l.default)("timeoutId"),h=(0,l.default)("preloadedAudios"),c=(0,l.default)("settle");class b{constructor(){Object.defineProperty(this,c,{value:p}),Object.defineProperty(this,u,{writable:!0,value:null}),Object.defineProperty(this,o,{writable:!0,value:!1}),Object.defineProperty(this,s,{writable:!0,value:1}),Object.defineProperty(this,n,{writable:!0,value:null}),Object.defineProperty(this,f,{writable:!0,value:null}),Object.defineProperty(this,h,{writable:!0,value:new Map})}async play(e,l){return r(d[2]).audioLog.debug('WEB starting playback',{label:l}),new Promise(h=>{try{(0,t.default)(this,c)[c](),(0,t.default)(this,n)[n]=h,(0,t.default)(this,u)[u]&&((0,t.default)(this,u)[u].pause(),(0,t.default)(this,u)[u].onended=null,(0,t.default)(this,u)[u].onerror=null),(0,t.default)(this,f)[f]&&(clearTimeout((0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null);const b=(0,r(d[3],"./types").audioAssetToUrl)(e);r(d[2]).audioLog.debug('WEB audioUrl resolved',{label:l,audioUrl:b}),(0,t.default)(this,u)[u]||((0,t.default)(this,u)[u]=(0,r(d[4]).getUnlockedAudioElement)()??new Audio,r(d[2]).audioLog.debug('WEB audio element acquired',{label:l,fromUnlock:(0,t.default)(this,u)[u]===(0,r(d[4]).getUnlockedAudioElement)()}));const p=(0,t.default)(this,u)[u];(0,t.default)(this,o)[o]=!0,p.onended=()=>{r(d[2]).audioLog.debug('WEB onended fired',{label:l}),(0,t.default)(this,c)[c]()},p.onerror=()=>{r(d[2]).audioLog.warn('WEB Audio error',{label:l,errorCode:p.error?.code,errorMessage:p.error?.message}),(0,t.default)(this,c)[c]()},(0,t.default)(this,f)[f]=setTimeout(()=>{r(d[2]).audioLog.warn('WEB Playback timeout',{label:l}),p.pause(),(0,t.default)(this,c)[c]()},r(d[3],"./types").AUDIO_TIMEOUT_MS),p.volume=(0,t.default)(this,s)[s],p.src=b,r(d[2]).audioLog.debug('WEB calling audio.play()',{label:l}),p.play().then(()=>{r(d[2]).audioLog.debug('WEB play() promise resolved',{label:l})}).catch(e=>{r(d[2]).audioLog.warn('WEB play() failed',{label:l},e),(0,t.default)(this,c)[c]()})}catch(e){r(d[2]).audioLog.warn('WEB Audio playback failed',{label:l},e),(0,t.default)(this,o)[o]=!1,h()}})}stop(){if((0,t.default)(this,u)[u]){r(d[2]).audioLog.debug('WebAudioStrategy.stop: pausing audio element (keeping for reuse)');try{(0,t.default)(this,u)[u].pause(),(0,t.default)(this,u)[u].onended=null,(0,t.default)(this,u)[u].onerror=null}catch(e){r(d[2]).audioLog.warn('WebAudioStrategy.stop: error pausing',e)}}(0,t.default)(this,c)[c]()}getIsPlaying(){return(0,t.default)(this,o)[o]}pause(){if((0,t.default)(this,u)[u])try{(0,t.default)(this,u)[u].pause()}catch(e){r(d[2]).audioLog.warn('error pausing web audio',e)}}resume(){(0,t.default)(this,o)[o]&&(0,t.default)(this,u)[u]&&((0,t.default)(this,u)[u].play().catch(e=>{r(d[2]).audioLog.warn('error resuming web audio',e)}),r(d[2]).audioLog.debug('resumed web audio'))}setVolume(e){(0,t.default)(this,s)[s]=Math.max(0,Math.min(1,e)),(0,t.default)(this,u)[u]&&((0,t.default)(this,u)[u].volume=(0,t.default)(this,s)[s])}async preloadFile(e,l){if('undefined'==typeof document)return;if((0,t.default)(this,h)[h].has(e))return;const u=(0,r(d[3]).audioAssetToUrl)(l),o=new Audio;o.preload='auto',o.src=u,o.load(),(0,t.default)(this,h)[h].set(e,o)}clearPreloaded(){(0,t.default)(this,h)[h].clear(),r(d[2]).audioLog.debug('WebAudioStrategy: preloaded audio cleared')}cleanup(){this.stop(),this.clearPreloaded()}}function p(){(0,t.default)(this,f)[f]&&(clearTimeout((0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null),(0,t.default)(this,o)[o]=!1,(0,t.default)(this,n)[n]&&((0,t.default)(this,n)[n](),(0,t.default)(this,n)[n]=null)}},2276,[1819,1820,1061,2273,2274]);
2574
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"CFRoomService",{enumerable:!0,get:function(){return o}});class o{async createRoom(o,t,n=5,s){let c;for(let o=1;o<=n;o++){const u=1===o&&t?t:(0,r(d[0]).generateRoomCode)();try{const t=await(0,r(d[1],"./cfFetch").cfPost)('/room/create',{roomCode:u,initialState:s?s(u):void 0});return o>1&&r(d[2]).roomLog.info('Room created after retry',{attempt:o,roomCode:u}),{roomCode:t.room.roomCode,hostUserId:t.room.hostUserId,createdAt:new Date(t.room.createdAt)}}catch(t){if(409===t.status&&o<n){r(d[2]).roomLog.debug('Room code conflict, retrying',{roomCode:u,attempt:o});continue}c=t instanceof Error?t:new Error(String(t))}}throw c||new Error('Failed to create room after max retries')}async getRoom(o){const t=await(0,r(d[1]).cfPost)('/room/get',{roomCode:o});return t.room?{roomCode:t.room.roomCode,hostUserId:t.room.hostUserId,createdAt:new Date(t.room.createdAt)}:null}async roomExists(o){return null!==await this.getRoom(o)}async deleteRoom(o){r(d[2]).roomLog.info('deleteRoom',{roomCode:o}),await(0,r(d[1]).cfPost)('/room/delete',{roomCode:o})}async getStateRevision(o){r(d[2]).roomLog.debug('getStateRevision',{roomCode:o});return(await(0,r(d[1]).cfPost)('/room/revision',{roomCode:o})).revision}async getGameState(o){r(d[2]).roomLog.debug('getGameState',{roomCode:o});const t=await(0,r(d[1]).cfPost)('/room/state',{roomCode:o});return t.state?{state:t.state,revision:t.revision??0}:null}}},2277,[2278,1072,1061]);
2575
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.generateRoomCode=function(){return(1e3+Math.floor(9e3*(0,r(d[0]).secureRng)())).toString()}},2278,[1108]);
2576
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"SettingsService",{enumerable:!0,get:function(){return h}});var t=e(r(_d[0])),s=e(r(_d[1])),l=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(s){var l=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,l.get?l:{enumerable:!0,get:function(){return e[s]}})}),t.default=e,t})(r(_d[2]));const n='@werewolf_settings',o={bgmEnabled:!0,bgmTrack:'random',bgmVolume:r(_d[3]).BGM_VOLUME,roleAudioVolume:1};var u=(0,s.default)("settings"),d=(0,s.default)("loaded"),c=(0,s.default)("save"),f=(0,s.default)("listeners"),b=(0,s.default)("notifyListeners");class h{constructor(){Object.defineProperty(this,b,{value:y}),Object.defineProperty(this,c,{value:V}),Object.defineProperty(this,u,{writable:!0,value:Object.assign({},o)}),Object.defineProperty(this,d,{writable:!0,value:!1}),Object.defineProperty(this,f,{writable:!0,value:new Set})}async load(){if(!(0,t.default)(this,d)[d])try{const e=r(_d[4],"@/lib/storage").storage.getString(n);if(e){const s=JSON.parse(e);if('object'==typeof s&&null!==s){const e=Object.assign({},o,s);'boolean'!=typeof e.bgmEnabled&&(r(_d[5]).settingsServiceLog.warn('Invalid persisted bgmEnabled, resetting to default:',e.bgmEnabled),e.bgmEnabled=o.bgmEnabled),'random'===e.bgmTrack||r(_d[3]).VALID_BGM_TRACK_IDS.has(e.bgmTrack)||(r(_d[5]).settingsServiceLog.warn('Invalid persisted bgmTrack, resetting to default:',e.bgmTrack),e.bgmTrack=o.bgmTrack),'number'==typeof e.bgmVolume&&isFinite(e.bgmVolume)?e.bgmVolume=Math.max(0,Math.min(1,e.bgmVolume)):(r(_d[5]).settingsServiceLog.warn('Invalid persisted bgmVolume, resetting to default:',e.bgmVolume),e.bgmVolume=o.bgmVolume),'number'==typeof e.roleAudioVolume&&isFinite(e.roleAudioVolume)?e.roleAudioVolume=Math.max(0,Math.min(1,e.roleAudioVolume)):(r(_d[5]).settingsServiceLog.warn('Invalid persisted roleAudioVolume, resetting to default:',e.roleAudioVolume),e.roleAudioVolume=o.roleAudioVolume),(0,t.default)(this,u)[u]=e}}(0,t.default)(this,d)[d]=!0}catch(e){e instanceof Error&&('QuotaExceededError'===e.name||'SecurityError'===e.name)?r(_d[5]).settingsServiceLog.warn('Storage access failed while loading settings, using defaults',e):(r(_d[5]).settingsServiceLog.error('Failed to load settings, using defaults',e),l.captureException(e)),(0,t.default)(this,u)[u]=Object.assign({},o),(0,t.default)(this,d)[d]=!0}}isBgmEnabled(){return(0,t.default)(this,u)[u].bgmEnabled}async setBgmEnabled(e){(0,t.default)(this,u)[u].bgmEnabled=e,await(0,t.default)(this,c)[c]()}async toggleBgm(){return(0,t.default)(this,u)[u].bgmEnabled=!(0,t.default)(this,u)[u].bgmEnabled,await(0,t.default)(this,c)[c](),(0,t.default)(this,u)[u].bgmEnabled}getBgmTrack(){return(0,t.default)(this,u)[u].bgmTrack}async setBgmTrack(e){(0,t.default)(this,u)[u].bgmTrack=e,await(0,t.default)(this,c)[c]()}getBgmVolume(){return(0,t.default)(this,u)[u].bgmVolume}async setBgmVolume(e){(0,t.default)(this,u)[u].bgmVolume=Math.max(0,Math.min(1,e)),await(0,t.default)(this,c)[c]()}getRoleAudioVolume(){return(0,t.default)(this,u)[u].roleAudioVolume}async setRoleAudioVolume(e){(0,t.default)(this,u)[u].roleAudioVolume=Math.max(0,Math.min(1,e)),await(0,t.default)(this,c)[c]()}getAll(){return Object.assign({},(0,t.default)(this,u)[u])}addListener(e){return(0,t.default)(this,f)[f].add(e),()=>(0,t.default)(this,f)[f].delete(e)}}async function V(){try{r(_d[4],"@/lib/storage").storage.set(n,JSON.stringify((0,t.default)(this,u)[u])),(0,t.default)(this,b)[b]()}catch(e){e instanceof Error&&('QuotaExceededError'===e.name||'SecurityError'===e.name)?r(_d[5]).settingsServiceLog.warn('Storage access failed while saving settings',e):(r(_d[5]).settingsServiceLog.error('Failed to save settings',e),l.captureException(e))}}function y(){const e=Object.assign({},(0,t.default)(this,u)[u]);(0,t.default)(this,f)[f].forEach(t=>t(e))}},2279,[1819,1820,119,1974,1054,1061]);
2577
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"CFStorageService",{enumerable:!0,get:function(){return l}});var t=e(r(d[0])),n=e(r(d[1]));const o=r(d[2]).log.extend('CFAvatar');var u=(0,n.default)("prepareImage"),c=(0,n.default)("isDomCompressionAvailable"),s=(0,n.default)("compressImageWithDom");class l{constructor(){Object.defineProperty(this,s,{value:h}),Object.defineProperty(this,c,{value:p}),Object.defineProperty(this,u,{value:f})}async uploadAvatar(e){const n=await(0,t.default)(this,u)[u](e),c=new FormData;c.append('file',n,'avatar.jpg');const s=await(0,r(d[3]).cfUpload)('/avatar/upload',c);return o.debug('Avatar uploaded',{url:s.url}),s.url}}async function f(e){if((0,t.default)(this,c)[c]())return(0,t.default)(this,s)[s](e,512,.85);return(await fetch(e)).blob()}function p(){return'undefined'!=typeof Image&&'undefined'!=typeof document&&'function'==typeof document.createElement}function h(e,t,n){return new Promise((u,c)=>{const s=new Image;s.crossOrigin='anonymous',s.onload=()=>{let{width:e,height:l}=s;e>l&&e>t?(l=l*t/e,e=t):l>t&&(e=e*t/l,l=t);const f=document.createElement('canvas');f.width=e,f.height=l;const p=f.getContext('2d');p?(p.drawImage(s,0,0,e,l),f.toBlob(e=>{e?(o.debug('Compressed image',{sizeKB:Math.round(e.size/1024)}),u(e)):c(new Error('\u56fe\u7247\u538b\u7f29\u5931\u8d25\uff0c\u8bf7\u6362\u4e00\u5f20\u56fe\u7247\u91cd\u8bd5'))},'image/jpeg',n)):c(new Error('\u56fe\u7247\u5904\u7406\u5931\u8d25\uff0c\u8bf7\u6362\u4e00\u5f20\u56fe\u7247\u91cd\u8bd5'))},s.onerror=()=>c(new Error('\u56fe\u7247\u52a0\u8f7d\u5931\u8d25\uff0c\u8bf7\u6362\u4e00\u5f20\u56fe\u7247\u91cd\u8bd5')),s.src=e})}},2280,[1819,1820,1061,1072]);
2578
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"GameStore",{enumerable:!0,get:function(){return r(d[0]).GameStore}})},2281,[2282]);
2579
+ __d(function(g,r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GameStore",{enumerable:!0,get:function(){return c}});var e=t(r(d[0])),l=t(r(d[1]));const s=(0,r(d[2]).getEngineLogger)().extend('GameStore');var u=(0,l.default)("state"),n=(0,l.default)("revision"),f=(0,l.default)("listeners"),o=(0,l.default)("lastAction"),h=(0,l.default)("notifyListeners");class c{constructor(){Object.defineProperty(this,h,{value:b}),Object.defineProperty(this,u,{writable:!0,value:null}),Object.defineProperty(this,n,{writable:!0,value:0}),Object.defineProperty(this,f,{writable:!0,value:new Set}),Object.defineProperty(this,o,{writable:!0,value:null})}getState(){return(0,e.default)(this,u)[u]}getRevision(){return(0,e.default)(this,n)[n]}subscribe(t){return(0,e.default)(this,f)[f].add(t),()=>{(0,e.default)(this,f)[f].delete(t)}}applySnapshot(t,l,s){l<=(0,e.default)(this,n)[n]||((0,e.default)(this,u)[u]=(0,r(d[3]).normalizeState)(t),(0,e.default)(this,n)[n]=l,(0,e.default)(this,o)[o]=s??null,(0,e.default)(this,h)[h]())}setState(t){(0,e.default)(this,u)[u]=(0,r(d[3]).normalizeState)(t),(0,e.default)(this,n)[n]+=1,(0,e.default)(this,h)[h]()}updateState(t){if(!(0,e.default)(this,u)[u])throw new Error('Cannot update state: no state initialized');const l=t((0,e.default)(this,u)[u]);this.setState(l)}initialize(t){(0,e.default)(this,u)[u]=(0,r(d[3]).normalizeState)(t),(0,e.default)(this,n)[n]=1,(0,e.default)(this,h)[h]()}reset(){(0,e.default)(this,u)[u]=null,(0,e.default)(this,n)[n]=0,(0,e.default)(this,o)[o]=null;for(const t of(0,e.default)(this,f)[f])try{t(null,0)}catch(t){s.error('Listener error in reset',{error:t})}}destroy(){(0,e.default)(this,u)[u]=null,(0,e.default)(this,n)[n]=0,(0,e.default)(this,o)[o]=null,(0,e.default)(this,f)[f].clear()}consumeLastAction(){const t=(0,e.default)(this,o)[o];return(0,e.default)(this,o)[o]=null,t}getListenerCount(){return(0,e.default)(this,f)[f].size}}function b(){if((0,e.default)(this,u)[u])for(const t of(0,e.default)(this,f)[f])try{t((0,e.default)(this,u)[u],(0,e.default)(this,n)[n])}catch(t){s.error('Listener error',{error:t})}}},2282,[1819,1820,1087,2283]);
2580
+ __d(function(g,r,i,a,m,e,d){"use strict";function t(t){if(void 0===t)return;const o={};for(const[s,n]of Object.entries(t))o[String(s)]=n;return o}function o(t,o){if(void 0===t)throw new Error(`normalizeState: missing required field: ${o}`);return t}Object.defineProperty(e,'__esModule',{value:!0}),e.normalizeState=function(s){const n=t(s.currentNightResults?.wolfVotesBySeat),l=s.currentNightResults?Object.assign({},s.currentNightResults,{wolfVotesBySeat:n}):s.currentNightResults;return{roomCode:o(s.roomCode,'roomCode'),hostUserId:o(s.hostUserId,'hostUserId'),status:o(s.status,'status'),templateRoles:o(s.templateRoles,'templateRoles'),players:o(s.players,'players'),roster:s.roster??{},currentStepIndex:o(s.currentStepIndex,'currentStepIndex'),isAudioPlaying:o(s.isAudioPlaying,'isAudioPlaying'),actions:s.actions??[],currentNightResults:l,pendingRevealAcks:s.pendingRevealAcks??[],lastNightDeaths:s.lastNightDeaths,deathReasons:s.deathReasons,currentStepId:s.currentStepId,roleRevealRandomNonce:s.roleRevealRandomNonce,nightmareBlockedSeat:s.nightmareBlockedSeat,wolfKillOverride:s.wolfKillOverride,witchContext:s.witchContext,seerReveal:s.seerReveal,mirrorSeerReveal:s.mirrorSeerReveal,drunkSeerReveal:s.drunkSeerReveal,psychicReveal:s.psychicReveal,gargoyleReveal:s.gargoyleReveal,pureWhiteReveal:s.pureWhiteReveal,wolfWitchReveal:s.wolfWitchReveal,wolfRobotReveal:s.wolfRobotReveal,wolfRobotHunterStatusViewed:s.wolfRobotHunterStatusViewed,wolfRobotContext:s.wolfRobotContext,confirmStatus:s.confirmStatus,actionRejected:s.actionRejected,stepDeadline:s.stepDeadline,pendingAudioEffects:s.pendingAudioEffects,ui:s.ui,debugMode:s.debugMode,seerLabelMap:s.seerLabelMap,nightReviewAllowedSeats:s.nightReviewAllowedSeats,hypnotizedSeats:s.hypnotizedSeats,piperRevealAcks:s.piperRevealAcks,convertedSeat:s.convertedSeat,conversionRevealAcks:s.conversionRevealAcks,bottomCards:s.bottomCards,treasureMasterSeat:s.treasureMasterSeat,treasureMasterChosenCard:s.treasureMasterChosenCard,effectiveTeam:s.effectiveTeam,bottomCardStepRoles:s.bottomCardStepRoles,thiefSeat:s.thiefSeat,thiefChosenCard:s.thiefChosenCard,loverSeats:s.loverSeats,cupidSeat:s.cupidSeat,cupidLoversRevealAcks:s.cupidLoversRevealAcks,boardNominations:s.boardNominations}}},2283,[]);
2581
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"CFRealtimeService",{enumerable:!0,get:function(){return f}});var t=e(r(_d[0])),n=e(r(_d[1]));var o=(0,n.default)("ws"),s=(0,n.default)("handlers"),l=(0,n.default)("generation"),d=(0,n.default)("closeWsSilent"),u=(0,n.default)("parseMessage");class f{constructor(){Object.defineProperty(this,u,{value:p}),Object.defineProperty(this,d,{value:c}),Object.defineProperty(this,o,{writable:!0,value:null}),Object.defineProperty(this,s,{writable:!0,value:null}),Object.defineProperty(this,l,{writable:!0,value:0})}setEventHandlers(e){(0,t.default)(this,s)[s]=e}connect(e,n){(0,t.default)(this,d)[d]();const f=++(0,t.default)(this,l)[l],c=r(_d[2]).API_BASE_URL.replace(/^http/,'ws'),p=(0,r(_d[3]).getCurrentToken)(),h=`${c}/ws?roomCode=${encodeURIComponent(e)}&token=${encodeURIComponent(p??'')}`;r(_d[4]).realtimeLog.info('Transport: connecting',{roomCode:e});const b=new WebSocket(h),y=setTimeout(()=>{f===(0,t.default)(this,l)[l]&&(r(_d[4]).realtimeLog.warn('Transport: connection timeout'),b.close())},8e3);b.onopen=()=>{f===(0,t.default)(this,l)[l]?(clearTimeout(y),(0,t.default)(this,o)[o]=b,r(_d[4]).realtimeLog.info('Transport: WebSocket open',{roomCode:e}),(0,t.default)(this,s)[s]?.onOpen()):b.close()},b.onmessage=e=>{f===(0,t.default)(this,l)[l]&&(0,t.default)(this,u)[u](e)},b.onclose=e=>{f===(0,t.default)(this,l)[l]&&(clearTimeout(y),(0,t.default)(this,o)[o]===b&&((0,t.default)(this,o)[o]=null),r(_d[4]).realtimeLog.info('Transport: WebSocket closed',{code:e.code,reason:e.reason}),(0,t.default)(this,s)[s]?.onClose(e.code,e.reason))},b.onerror=()=>{f===(0,t.default)(this,l)[l]&&(clearTimeout(y),r(_d[4]).realtimeLog.warn('Transport: WebSocket error'),(0,t.default)(this,s)[s]?.onError(new Error('WebSocket error')))}}disconnect(){(0,t.default)(this,d)[d]()}send(e){(0,t.default)(this,o)[o]?.readyState===WebSocket.OPEN?(0,t.default)(this,o)[o].send(e):r(_d[4]).realtimeLog.warn('Transport: send dropped (WS not open)',{readyState:(0,t.default)(this,o)[o]?.readyState})}}function c(){if((0,t.default)(this,l)[l]++,(0,t.default)(this,o)[o]){const e=(0,t.default)(this,o)[o];(0,t.default)(this,o)[o]=null;try{e.close()}catch{}}}function p(e){try{const n=JSON.parse(e.data);if(!h(n))return;if('STATE_UPDATE'===n.type&&'state'in n&&'revision'in n){const{state:e,revision:o,lastAction:l}=n;r(_d[4]).realtimeLog.debug('Transport: STATE_UPDATE',{revision:o}),(0,t.default)(this,s)[s]?.onStateUpdate(e,o,l)}else if('SETTLE_RESULT'===n.type){const e=n;'number'==typeof e.xpEarned&&'number'==typeof e.newXp&&'number'==typeof e.newLevel&&'number'==typeof e.previousLevel&&(0,t.default)(this,s)[s]?.onSettleResult({xpEarned:e.xpEarned,newXp:e.newXp,newLevel:e.newLevel,previousLevel:e.previousLevel,normalDrawsEarned:'number'==typeof e.normalDrawsEarned?e.normalDrawsEarned:0,goldenDrawsEarned:'number'==typeof e.goldenDrawsEarned?e.goldenDrawsEarned:0})}else'pong'===n.type&&(0,t.default)(this,s)[s]?.onPong()}catch{r(_d[4]).realtimeLog.warn('Transport: failed to parse WS message')}}function h(e){return'object'==typeof e&&null!==e&&'type'in e&&'string'==typeof e.type}},2284,[1819,1820,1070,1072,1061]);
2582
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ConnectionManager",{enumerable:!0,get:function(){return K}});var t=e(r(d[0])),n=e(r(d[1])),l=(0,n.default)("ctx"),s=(0,n.default)("deps"),o=(0,n.default)("stateListeners"),u=(0,n.default)("retryTimer"),f=(0,n.default)("pingInterval"),h=(0,n.default)("pongTimeout"),c=(0,n.default)("revisionPollTimer"),v=(0,n.default)("revisionPollCurrentMs"),b=(0,n.default)("onlineHandler"),p=(0,n.default)("offlineHandler"),y=(0,n.default)("visibilityHandler"),E=(0,n.default)("pageshowHandler"),O=(0,n.default)("focusHandler"),S=(0,n.default)("connectWaitResolve"),I=(0,n.default)("connectWaitReject"),P=(0,n.default)("connectWaitTimeout"),L=(0,n.default)("dispatch"),T=(0,n.default)("executeSideEffect"),w=(0,n.default)("settleConnectWait"),_=(0,n.default)("startPing"),R=(0,n.default)("stopPing"),C=(0,n.default)("startPongTimeout"),j=(0,n.default)("cancelPongTimeout"),N=(0,n.default)("handlePong"),A=(0,n.default)("scheduleRetry"),M=(0,n.default)("cancelRetry"),V=(0,n.default)("fetchState"),B=(0,n.default)("revisionPollGeneration"),W=(0,n.default)("startRevisionPoll"),F=(0,n.default)("stopRevisionPoll"),k=(0,n.default)("resetRevisionPollInterval"),H=(0,n.default)("scheduleNextRevisionPoll"),D=(0,n.default)("checkRevisionAndReschedule"),U=(0,n.default)("registerPlatformListeners"),Y=(0,n.default)("unregisterPlatformListeners"),x=(0,n.default)("notifyStateListeners"),G=(0,n.default)("executeLog");class K{constructor(e){Object.defineProperty(this,G,{value:he}),Object.defineProperty(this,x,{value:re}),Object.defineProperty(this,Y,{value:fe}),Object.defineProperty(this,U,{value:ue}),Object.defineProperty(this,D,{value:de}),Object.defineProperty(this,H,{value:oe}),Object.defineProperty(this,k,{value:se}),Object.defineProperty(this,F,{value:le}),Object.defineProperty(this,W,{value:ae}),Object.defineProperty(this,V,{value:ne}),Object.defineProperty(this,M,{value:ie}),Object.defineProperty(this,A,{value:te}),Object.defineProperty(this,N,{value:ee}),Object.defineProperty(this,j,{value:Z}),Object.defineProperty(this,C,{value:Q}),Object.defineProperty(this,R,{value:z}),Object.defineProperty(this,_,{value:q}),Object.defineProperty(this,w,{value:X}),Object.defineProperty(this,T,{value:J}),Object.defineProperty(this,L,{value:$}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,s,{writable:!0,value:void 0}),Object.defineProperty(this,o,{writable:!0,value:new Set}),Object.defineProperty(this,u,{writable:!0,value:null}),Object.defineProperty(this,f,{writable:!0,value:null}),Object.defineProperty(this,h,{writable:!0,value:null}),Object.defineProperty(this,c,{writable:!0,value:null}),Object.defineProperty(this,v,{writable:!0,value:r(d[2]).REVISION_POLL_BASE_MS}),Object.defineProperty(this,b,{writable:!0,value:null}),Object.defineProperty(this,p,{writable:!0,value:null}),Object.defineProperty(this,y,{writable:!0,value:null}),Object.defineProperty(this,E,{writable:!0,value:null}),Object.defineProperty(this,O,{writable:!0,value:null}),Object.defineProperty(this,S,{writable:!0,value:null}),Object.defineProperty(this,I,{writable:!0,value:null}),Object.defineProperty(this,P,{writable:!0,value:null}),Object.defineProperty(this,B,{writable:!0,value:0}),(0,t.default)(this,s)[s]=e,(0,t.default)(this,l)[l]=(0,r(d[3]).createInitialContext)(),e.transport.setEventHandlers({onOpen:()=>(0,t.default)(this,L)[L]({type:'WS_OPEN'}),onClose:(e,n)=>(0,t.default)(this,L)[L]({type:'WS_CLOSE',code:e,reason:n}),onError:e=>(0,t.default)(this,L)[L]({type:'WS_ERROR',error:e}),onStateUpdate:(n,l,s)=>{e.onStateUpdate(n,l,s),(0,t.default)(this,L)[L]({type:'STATE_UPDATE',revision:l}),(0,t.default)(this,k)[k]()},onPong:()=>(0,t.default)(this,N)[N](),onSettleResult:t=>e.onSettleResult?.(t)}),(0,t.default)(this,U)[U]()}addStateListener(e){return(0,t.default)(this,o)[o].add(e),e((0,t.default)(this,l)[l].state),()=>(0,t.default)(this,o)[o].delete(e)}getState(){return(0,t.default)(this,l)[l].state}getContext(){return(0,t.default)(this,l)[l]}async connectAndWait(e,n,s=15e3){if((0,t.default)(this,l)[l].state===r(d[2]).ConnectionState.Connected&&(0,t.default)(this,l)[l].roomCode===e)return r(d[4]).connectionLog.debug('Already connected, re-fetching state',{roomCode:e}),void await(0,t.default)(this,V)[V](e);if((0,t.default)(this,l)[l].state===r(d[2]).ConnectionState.Disposed)throw new Error('Cannot connect: ConnectionManager is disposed');return r(d[4]).connectionLog.info('connectAndWait',{roomCode:e,userId:n}),new Promise((l,o)=>{(0,t.default)(this,w)[w](new(r(d[2]).SupersededError)),(0,t.default)(this,S)[S]=l,(0,t.default)(this,I)[I]=o,(0,t.default)(this,P)[P]=setTimeout(()=>{(0,t.default)(this,w)[w](new Error(`connectAndWait timeout after ${s}ms`))},s),(0,t.default)(this,L)[L]({type:'CONNECT',roomCode:e,userId:n})})}connect(e,n){(0,t.default)(this,L)[L]({type:'CONNECT',roomCode:e,userId:n})}manualReconnect(){(0,t.default)(this,L)[L]({type:'MANUAL_RECONNECT'})}disconnect(){r(d[4]).connectionLog.info('disconnect'),(0,t.default)(this,w)[w](new Error('Connection disconnected')),(0,t.default)(this,L)[L]({type:'DISCONNECT'})}dispose(){r(d[4]).connectionLog.info('dispose'),(0,t.default)(this,w)[w](new Error('Connection disposed')),(0,t.default)(this,L)[L]({type:'DISPOSE'}),(0,t.default)(this,Y)[Y](),(0,t.default)(this,o)[o].clear()}updateRevision(e){e>(0,t.default)(this,l)[l].lastRevision&&((0,t.default)(this,l)[l]=Object.assign({},(0,t.default)(this,l)[l],{lastRevision:e}))}}function $(e){const n=(0,t.default)(this,l)[l].state,s=(0,r(d[3]).transition)((0,t.default)(this,l)[l],e);(0,t.default)(this,l)[l]=s.ctx;for(const e of s.effects)(0,t.default)(this,T)[T](e);n!==(0,t.default)(this,l)[l].state&&(r(d[4]).connectionLog.info('State transition',{from:n,to:(0,t.default)(this,l)[l].state,event:e.type}),(0,t.default)(this,x)[x](),(0,t.default)(this,l)[l].state===r(d[2]).ConnectionState.Connected?(0,t.default)(this,w)[w](null):(0,t.default)(this,l)[l].state!==r(d[2]).ConnectionState.Failed&&(0,t.default)(this,l)[l].state!==r(d[2]).ConnectionState.Disposed||(0,t.default)(this,w)[w](new Error(`Connection ${(0,t.default)(this,l)[l].state}`)))}function J(e){switch(e.type){case'OPEN_WS':(0,t.default)(this,s)[s].transport.connect(e.roomCode,e.userId);break;case'CLOSE_WS':(0,t.default)(this,s)[s].transport.disconnect();break;case'FETCH_STATE':(0,t.default)(this,V)[V](e.roomCode);break;case'SCHEDULE_RETRY':(0,t.default)(this,A)[A](e.delayMs);break;case'CANCEL_RETRY':(0,t.default)(this,M)[M]();break;case'START_PING':(0,t.default)(this,_)[_]();break;case'STOP_PING':(0,t.default)(this,R)[R]();break;case'START_REVISION_POLL':(0,t.default)(this,W)[W]();break;case'STOP_REVISION_POLL':(0,t.default)(this,F)[F]();break;case'LOG':(0,t.default)(this,G)[G](e)}}function X(e){(0,t.default)(this,P)[P]&&(clearTimeout((0,t.default)(this,P)[P]),(0,t.default)(this,P)[P]=null),e?(0,t.default)(this,I)[I]?.(e):(0,t.default)(this,S)[S]?.(),(0,t.default)(this,S)[S]=null,(0,t.default)(this,I)[I]=null}function q(){(0,t.default)(this,R)[R](),(0,t.default)(this,f)[f]=setInterval(()=>{(0,t.default)(this,s)[s].transport.send(JSON.stringify({type:'ping'})),(0,t.default)(this,C)[C]()},r(d[2]).PING_INTERVAL_MS)}function z(){(0,t.default)(this,f)[f]&&(clearInterval((0,t.default)(this,f)[f]),(0,t.default)(this,f)[f]=null),(0,t.default)(this,j)[j]()}function Q(){(0,t.default)(this,j)[j](),(0,t.default)(this,h)[h]=setTimeout(()=>{r(d[4]).connectionLog.warn('Pong timeout \u2014 treating connection as dead'),(0,t.default)(this,L)[L]({type:'PING_TIMEOUT'})},r(d[2]).PONG_TIMEOUT_MS)}function Z(){(0,t.default)(this,h)[h]&&(clearTimeout((0,t.default)(this,h)[h]),(0,t.default)(this,h)[h]=null)}function ee(){(0,t.default)(this,j)[j]()}function te(e){r(d[4]).connectionLog.debug('Scheduling retry',{delayMs:e}),(0,t.default)(this,M)[M](),(0,t.default)(this,u)[u]=setTimeout(()=>{(0,t.default)(this,u)[u]=null,(0,t.default)(this,L)[L]({type:'RETRY_TIMER_FIRED'})},e)}function ie(){(0,t.default)(this,u)[u]&&(clearTimeout((0,t.default)(this,u)[u]),(0,t.default)(this,u)[u]=null)}async function ne(e){try{const n=await(0,t.default)(this,s)[s].fetchStateFromDB(e);n?((0,t.default)(this,s)[s].onFetchedState(n.state,n.revision),(0,t.default)(this,L)[L]({type:'FETCH_SUCCESS',revision:n.revision})):(0,t.default)(this,L)[L]({type:'FETCH_FAILURE',error:new Error('No state returned')})}catch(n){r(d[4]).connectionLog.warn('fetchState failed',{roomCode:e,error:n}),(0,t.default)(this,L)[L]({type:'FETCH_FAILURE',error:n})}}function ae(){(0,t.default)(this,F)[F](),(0,t.default)(this,v)[v]=r(d[2]).REVISION_POLL_BASE_MS,(0,t.default)(this,H)[H]()}function le(){(0,t.default)(this,B)[B]++,(0,t.default)(this,c)[c]&&(clearTimeout((0,t.default)(this,c)[c]),(0,t.default)(this,c)[c]=null)}function se(){(0,t.default)(this,v)[v]=r(d[2]).REVISION_POLL_BASE_MS,(0,t.default)(this,F)[F](),(0,t.default)(this,H)[H]()}function oe(){const e=(0,t.default)(this,B)[B];(0,t.default)(this,c)[c]=setTimeout(()=>{(0,t.default)(this,c)[c]=null,e===(0,t.default)(this,B)[B]&&('undefined'==typeof document||'visible'===document.visibilityState?(0,t.default)(this,D)[D](e):(0,t.default)(this,H)[H]())},(0,t.default)(this,v)[v])}async function de(e){const n=(0,t.default)(this,l)[l].roomCode;if(!n)return void(e===(0,t.default)(this,B)[B]&&(0,t.default)(this,H)[H]());let o=!1;try{const e=await(0,t.default)(this,s)[s].getStateRevision(n);null!=e&&e>(0,t.default)(this,l)[l].lastRevision&&(o=!0,(0,t.default)(this,L)[L]({type:'REVISION_DRIFT',dbRevision:e}))}catch(e){r(d[4]).connectionLog.warn('Revision poll failed',{roomCode:n,error:e})}e===(0,t.default)(this,B)[B]&&((0,t.default)(this,v)[v]=o?r(d[2]).REVISION_POLL_BASE_MS:Math.min(2*(0,t.default)(this,v)[v],r(d[2]).REVISION_POLL_MAX_MS),(0,t.default)(this,H)[H]())}function ue(){'function'==typeof globalThis.window?.addEventListener&&((0,t.default)(this,b)[b]=()=>(0,t.default)(this,L)[L]({type:'NETWORK_ONLINE'}),(0,t.default)(this,p)[p]=()=>(0,t.default)(this,L)[L]({type:'NETWORK_OFFLINE'}),globalThis.window.addEventListener('online',(0,t.default)(this,b)[b]),globalThis.window.addEventListener('offline',(0,t.default)(this,p)[p])),'undefined'!=typeof document&&((0,t.default)(this,y)[y]=()=>{'visible'===document.visibilityState?(0,t.default)(this,L)[L]({type:'VISIBILITY_VISIBLE'}):(0,t.default)(this,L)[L]({type:'VISIBILITY_HIDDEN'})},document.addEventListener('visibilitychange',(0,t.default)(this,y)[y])),'function'==typeof globalThis.window?.addEventListener&&((0,t.default)(this,E)[E]=e=>{e.persisted&&!(0,t.default)(this,l)[l].visible&&'visible'===document.visibilityState&&(r(d[4]).connectionLog.debug('pageshow fallback \u2192 VISIBILITY_VISIBLE'),(0,t.default)(this,L)[L]({type:'VISIBILITY_VISIBLE'}))},globalThis.window.addEventListener('pageshow',(0,t.default)(this,E)[E])),'function'==typeof globalThis.window?.addEventListener&&((0,t.default)(this,O)[O]=()=>{(0,t.default)(this,l)[l].visible||'visible'!==document.visibilityState||(r(d[4]).connectionLog.debug('focus fallback \u2192 VISIBILITY_VISIBLE'),(0,t.default)(this,L)[L]({type:'VISIBILITY_VISIBLE'}))},globalThis.window.addEventListener('focus',(0,t.default)(this,O)[O]))}function fe(){'function'==typeof globalThis.window?.removeEventListener&&((0,t.default)(this,b)[b]&&(globalThis.window.removeEventListener('online',(0,t.default)(this,b)[b]),(0,t.default)(this,b)[b]=null),(0,t.default)(this,p)[p]&&(globalThis.window.removeEventListener('offline',(0,t.default)(this,p)[p]),(0,t.default)(this,p)[p]=null),(0,t.default)(this,E)[E]&&(globalThis.window.removeEventListener('pageshow',(0,t.default)(this,E)[E]),(0,t.default)(this,E)[E]=null),(0,t.default)(this,O)[O]&&(globalThis.window.removeEventListener('focus',(0,t.default)(this,O)[O]),(0,t.default)(this,O)[O]=null)),'undefined'!=typeof document&&(0,t.default)(this,y)[y]&&(document.removeEventListener('visibilitychange',(0,t.default)(this,y)[y]),(0,t.default)(this,y)[y]=null)}function re(){const e=(0,t.default)(this,l)[l].state;(0,t.default)(this,o)[o].forEach(t=>t(e))}function he(e){const{level:t,message:n,data:l}=e;l?r(d[4]).connectionLog[t](n,l):r(d[4]).connectionLog[t](n)}},2285,[1819,1820,2122,2286,1061]);
2583
+ __d(function(g,r,i,a,m,e,d){"use strict";function t(t){return{state:r(d[0]).ConnectionState.Idle,roomCode:null,userId:null,attempt:0,maxAttempts:t?.maxAttempts??r(d[0]).DEFAULT_MAX_ATTEMPTS,lastRevision:0,networkOnline:!0,visible:!0}}function n(t,n){if('CONNECT'===n.type){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connecting,roomCode:n.roomCode,userId:n.userId,attempt:0,lastRevision:0}),effects:[I('info',"Idle \u2192 Connecting",{roomCode:n.roomCode}),{type:'OPEN_WS',roomCode:n.roomCode,userId:n.userId}]}}return'DISCONNECT'===n.type?f(t):'DISPOSE'===n.type?u(t):f(t)}function c(t,n){switch(n.type){case'CONNECT':return p(t,n);case'WS_OPEN':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Syncing}),effects:[I('info',"Connecting \u2192 Syncing"),{type:'START_PING'},{type:'FETCH_STATE',roomCode:t.roomCode}]};case'WS_CLOSE':{const c=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),o=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:c,effects:[I('warn',"Connecting \u2192 Disconnected (WS_CLOSE)",{code:n.code,reason:n.reason}),{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:o}]}}case'WS_ERROR':return{ctx:t,effects:[I('warn','WS_ERROR during Connecting (waiting for WS_CLOSE)')]};case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function o(t,n){switch(n.type){case'FETCH_SUCCESS':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connected,attempt:0,lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[I('info',"Syncing \u2192 Connected",{revision:n.revision}),{type:'CANCEL_RETRY'},{type:'START_REVISION_POLL'}]};case'STATE_UPDATE':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connected,attempt:0,lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[I('info',"Syncing \u2192 Connected (via STATE_UPDATE)",{revision:n.revision}),{type:'CANCEL_RETRY'},{type:'START_REVISION_POLL'}]};case'FETCH_FAILURE':{const n=t.attempt+1;if(n>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed,attempt:n}),effects:[I('error',`Syncing \u2192 Failed (max attempts: ${t.maxAttempts})`,{attempt:n}),{type:'CLOSE_WS'},{type:'STOP_PING'}]}}const c=Object.assign({},t,{attempt:n}),o=(0,r(d[1]).calculateBackoff)(n);return{ctx:c,effects:[I('warn',"FETCH_FAILURE in Syncing, scheduling retry",{attempt:n,nextDelay:o}),{type:'SCHEDULE_RETRY',delayMs:o}]}}case'RETRY_TIMER_FIRED':return{ctx:t,effects:[I('info',"Syncing: retrying fetch",{attempt:t.attempt}),{type:'FETCH_STATE',roomCode:t.roomCode}]};case'WS_CLOSE':{const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Syncing \u2192 Disconnected (WS_CLOSE)"),{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'PING_TIMEOUT':{const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Syncing \u2192 Disconnected (PING_TIMEOUT)"),{type:'CLOSE_WS'},{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function s(t,n){switch(n.type){case'STATE_UPDATE':return{ctx:Object.assign({},t,{lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[I('debug','STATE_UPDATE',{revision:n.revision})]};case'WS_CLOSE':{const c=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),o=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:c,effects:[I('warn',"Connected \u2192 Disconnected (WS_CLOSE)",{code:n.code,reason:n.reason}),{type:'STOP_PING'},{type:'STOP_REVISION_POLL'},{type:'SCHEDULE_RETRY',delayMs:o}]}}case'PING_TIMEOUT':{const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Connected \u2192 Disconnected (PING_TIMEOUT)"),{type:'CLOSE_WS'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'VISIBILITY_VISIBLE':return{ctx:Object.assign({},t,{visible:!0}),effects:[I('info','Foreground: fetching state from DB'),{type:'FETCH_STATE',roomCode:t.roomCode},{type:'START_REVISION_POLL'},{type:'START_PING'}]};case'VISIBILITY_HIDDEN':return{ctx:Object.assign({},t,{visible:!1}),effects:[I('info','Background: pausing revision poll + ping'),{type:'STOP_REVISION_POLL'},{type:'STOP_PING'}]};case'NETWORK_OFFLINE':return{ctx:Object.assign({},t,{networkOnline:!1}),effects:[I('info','Network offline (Connected)')]};case'NETWORK_ONLINE':return{ctx:Object.assign({},t,{networkOnline:!0}),effects:[I('info','Network online (Connected)')]};case'REVISION_DRIFT':return{ctx:t,effects:[I('info','Revision drift detected, fetching full state',{dbRevision:n.dbRevision,localRevision:t.lastRevision}),{type:'FETCH_STATE',roomCode:t.roomCode}]};case'FETCH_SUCCESS':return{ctx:Object.assign({},t,{lastRevision:Math.max(n.revision,t.lastRevision)}),effects:[]};case'FETCH_FAILURE':return{ctx:t,effects:[I('warn','Revision fetch failed (Connected)')]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function C(t,n){switch(n.type){case'RETRY_TIMER_FIRED':{if(!t.visible)return{ctx:t,effects:[I('info','Disconnected: suppressing retry (background)'),{type:'CANCEL_RETRY'}]};if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed}),effects:[I('error','Disconnected \u2192 Failed (max attempts)')]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:t.attempt+1});return{ctx:n,effects:[I('info',"Disconnected \u2192 Reconnecting",{attempt:n.attempt,maxAttempts:t.maxAttempts}),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]}}case'NETWORK_ONLINE':{if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed,networkOnline:!0}),effects:[I('error','Disconnected \u2192 Failed (max attempts on NETWORK_ONLINE)'),{type:'CANCEL_RETRY'}]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:t.attempt+1,networkOnline:!0});return{ctx:n,effects:[I('info',"Disconnected \u2192 Reconnecting (NETWORK_ONLINE)",{attempt:n.attempt}),{type:'CANCEL_RETRY'},{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]}}case'VISIBILITY_VISIBLE':{if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed,visible:!0}),effects:[I('error','Disconnected \u2192 Failed (max attempts on VISIBILITY_VISIBLE)'),{type:'CANCEL_RETRY'}]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:t.attempt+1,visible:!0});return{ctx:n,effects:[I('info',"Disconnected \u2192 Reconnecting (foreground)",{attempt:n.attempt}),{type:'CANCEL_RETRY'},{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]}}case'MANUAL_RECONNECT':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1}),effects:[I('info',"Disconnected \u2192 Reconnecting (manual)"),{type:'CANCEL_RETRY'},{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'NETWORK_OFFLINE':return{ctx:Object.assign({},t,{networkOnline:!1}),effects:[I('info','Network offline (Disconnected), cancelling retry timer'),{type:'CANCEL_RETRY'}]};case'VISIBILITY_HIDDEN':return{ctx:Object.assign({},t,{visible:!1}),effects:[I('info','Background (Disconnected), cancelling retry timer'),{type:'CANCEL_RETRY'}]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function S(t,n){switch(n.type){case'WS_OPEN':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Syncing}),effects:[I('info',"Reconnecting \u2192 Syncing",{attempt:t.attempt}),{type:'START_PING'},{type:'FETCH_STATE',roomCode:t.roomCode}]};case'WS_CLOSE':{if(t.attempt>=t.maxAttempts){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Failed}),effects:[I('error',`Reconnecting \u2192 Failed (max attempts: ${t.maxAttempts})`,{attempt:t.attempt}),{type:'STOP_PING'}]}}const n=Object.assign({},t,{state:r(d[0]).ConnectionState.Disconnected}),c=(0,r(d[1]).calculateBackoff)(t.attempt);return{ctx:n,effects:[I('warn',"Reconnecting \u2192 Disconnected (WS_CLOSE)",{attempt:t.attempt,nextDelay:c}),{type:'STOP_PING'},{type:'SCHEDULE_RETRY',delayMs:c}]}}case'WS_ERROR':return{ctx:t,effects:[I('warn','WS_ERROR during Reconnecting')]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function E(t,n){switch(n.type){case'MANUAL_RECONNECT':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1}),effects:[I('info',"Failed \u2192 Reconnecting (manual)"),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'NETWORK_ONLINE':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1,networkOnline:!0}),effects:[I('info',"Failed \u2192 Reconnecting (NETWORK_ONLINE)"),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'VISIBILITY_VISIBLE':return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Reconnecting,attempt:1,visible:!0}),effects:[I('info',"Failed \u2192 Reconnecting (foreground)"),{type:'OPEN_WS',roomCode:t.roomCode,userId:t.userId}]};case'CONNECT':return p(t,n);case'DISCONNECT':return O(t);case'DISPOSE':return u(t);default:return f(t)}}function f(t){return{ctx:t,effects:[]}}function O(n){return{ctx:t({maxAttempts:n.maxAttempts}),effects:[I('info',`${n.state} \u2192 Idle (disconnect)`),{type:'CLOSE_WS'},{type:'CANCEL_RETRY'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'}]}}function u(t){const n=[I('info',`${t.state} \u2192 Disposed`),{type:'CLOSE_WS'},{type:'CANCEL_RETRY'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'}];return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Disposed}),effects:n}}function p(t,n){return{ctx:Object.assign({},t,{state:r(d[0]).ConnectionState.Connecting,roomCode:n.roomCode,userId:n.userId,attempt:0,lastRevision:0}),effects:[I('info',`${t.state} \u2192 Connecting (CONNECT)`,{roomCode:n.roomCode}),{type:'CLOSE_WS'},{type:'CANCEL_RETRY'},{type:'STOP_PING'},{type:'STOP_REVISION_POLL'},{type:'OPEN_WS',roomCode:n.roomCode,userId:n.userId}]}}function I(t,n,c){return{type:'LOG',level:t,message:`[ConnectionFSM] ${n}`,data:c}}Object.defineProperty(e,'__esModule',{value:!0}),e.createInitialContext=t,e.transition=function(t,O){switch(t.state){case r(d[0]).ConnectionState.Idle:return n(t,O);case r(d[0]).ConnectionState.Connecting:return c(t,O);case r(d[0]).ConnectionState.Syncing:return o(t,O);case r(d[0]).ConnectionState.Connected:return s(t,O);case r(d[0]).ConnectionState.Disconnected:return C(t,O);case r(d[0]).ConnectionState.Reconnecting:return S(t,O);case r(d[0]).ConnectionState.Failed:return E(t,O);case r(d[0]).ConnectionState.Disposed:return f(t)}}},2286,[2122,2287]);
2584
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.calculateBackoff=function(t,n=1e3,o=3e4,c=Math.random){const u=n*Math.pow(2,t),f=Math.min(u,o)*(.5+.5*c());return Math.round(f)}},2287,[]);
2585
2585
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"StatusBar",{enumerable:!0,get:function(){return r(d[0]).StatusBar}})},2288,[2289]);
2586
2586
  __d(function(g,r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StatusBar=function({style:t,hideTransitionAnimation:n,animated:h,hidden:s}){const c=(0,l.default)(),f=e.default.useMemo(()=>u(t,c),[t,c]);return(0,r(d[4]).jsx)(o.default,{animated:h,hidden:s,barStyle:f,showHideTransition:'none'===n?void 0:n})};var e=t(r(d[0])),n=t(r(d[1])),o=t(r(d[2])),l=t(r(d[3]));function u(t="auto",e=n.default?.getColorScheme()??'light'){e||(e='light');let o=t;return'auto'===t?o='light'===e?'dark':'light':'inverted'===t&&(o='light'===e?'light':'dark'),'light'===o?'light-content':'dark-content'}},2289,[36,570,2290,979,700]);
2587
2587
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return u}});var t=()=>{};function n(){return null}n.setBackgroundColor=t,n.setBarStyle=t,n.setHidden=t,n.setNetworkActivityIndicatorVisible=t,n.setTranslucent=t;var u=n},2290,[]);
2588
2588
  __d(function(g,_r,i,a,m,e,d){"use strict";let n;Object.defineProperty(e,'__esModule',{value:!0}),e.signalAppReady=function(){n()},new Promise(t=>{n=t})},2291,[]);
2589
2589
  __r(4);
2590
2590
  __r(0);
2591
- //# sourceMappingURL=/assets/js/index-489f4a6cb2281d50ec1d94ff8298a644.js.map
2592
- //# debugId=69e5eed9-da42-478b-8678-7f9773bc0f2c
2591
+ //# sourceMappingURL=/assets/js/index-b19c13d8bb143e02449ac268177c228d.js.map
2592
+ //# debugId=1d1cecfe-90d0-4fb8-999d-8987ac3b01ed