bippy 0.7.2-dev.b756bd6 → 0.7.2-dev.e113600

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/source.js CHANGED
@@ -6,19 +6,19 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import{a as e,r as t}from"./rdt-hook.js";import{C as n,E as r,O as i,S as a,T as o,a as s,b as c,d as l,w as u}from"./core.js";const d=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,ee=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],te=[`rsc://`,`about://React/`],f=[`<anonymous>`,`eval`,``],p=/\.(cjs|cts|js|jsx|mdx|mjs|mts|ts|tsx)$/,ne=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,re=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,ie=/\[[^\]]+\]$/,m=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],ae=Error,oe=()=>ae.prepareStackTrace,h=e=>{ae.prepareStackTrace=e},se=/(^|@)\S+:\d+/,ce=/^\s*at .*(\S+:\d+|\(native\))/m,le=/^(eval@)?(\[native code\])?$/,g=(e,t)=>{if(t?.includeInElement!==!1){let t=e.split(`
10
- `),n=[];for(let e of t)if(/^\s*at\s+/.test(e)){let t=de(e)[0];t&&n.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*(?:\(at .*\)|\[[^\]]+\])$/,``);n.push({functionName:t,source:e})}else if(e.match(se)){let t=fe(e)[0];t&&n.push(t)}return n}return e.match(ce)?de(e):fe(e)},ue=e=>{if(!e.includes(`:`))return[e,void 0,void 0];let t=e.startsWith(`(`)&&/:\d+\)$/.test(e)?e.slice(1,-1):e,n=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t);return n?[n[1],n[2]||void 0,n[3]||void 0]:[t,void 0,void 0]},de=e=>e.split(`
11
- `).filter(e=>!!e.match(ce)).map(e=>{let t=e;t.includes(`(eval `)&&(t=t.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));let n=t.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),r=n.match(/ (\(.+\)$)/);n=r?n.replace(r[0],``):n;let i=ue(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`,`(native)`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),fe=e=>e.split(`
12
- `).filter(e=>!e.match(le)).map(e=>{let t=e;if(t.includes(` > eval`)&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),!t.includes(`@`)&&!t.includes(`:`))return{functionName:t};{let e=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,n=t.match(e),r=n&&n[1]?n[1]:void 0,i=ue(t.replace(e,``));return{functionName:r,fileName:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}}),pe=new WeakMap,me=e=>m.some(t=>e.includes(t)),he=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},ge=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=he(r);if(me(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},_e=e=>{let t=-1;for(let n of m)if(t=e.indexOf(n),t!==-1)break;let n=t===-1?e:e.slice(0,e.lastIndexOf(`
13
- `,t));return{frames:g(n).slice(1),isTrusted:t!==-1}},_=e=>{let t=pe.get(e);if(t)return t;let n=null,r=(e,t)=>{n=ge(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=oe();h(r);let a;try{a=String(e.stack)}finally{h(i)}let o=n??_e(a);return pe.set(e,o),o},ve=()=>{let n=e(),r=new Set([...t,...n.renderers.values()]),i=[],a=new Set;for(let e of r){let t=e.currentDispatcherRef;!t||a.has(t)||(a.add(t),i.push(t))}return i},ye=e=>`H`in e?e.H:e.current,v=(e,t)=>{`H`in e?e.H=t:e.current=t};var be=44,xe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Se=new Uint8Array(64),Ce=new Uint8Array(128);for(let e=0;e<xe.length;e++){let t=xe.charCodeAt(e);Se[e]=t,Ce[t]=e}function y(e,t){let n=0,r=0,i=0;do i=Ce[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function we(e,t){return e.pos>=t?!1:e.peek()!==be}var Te=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function Ee(e){let{length:t}=e,n=new Te(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=y(n,i),i<u&&(l=!1),u=i,we(n,e)?(a=y(n,a),o=y(n,o),s=y(n,s),we(n,e)?(c=y(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||De(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function De(e){e.sort(Oe)}function Oe(e,t){return e[0]-t[0]}const b=/^data:application\/json(?:;[^,]*)?,/i,ke=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,Ae=new Map,je=new WeakMap;var Me=class extends Error{};const Ne=new Map,Pe=new WeakMap,Fe=new Set([`chrome-extension:`,`moz-extension:`,`safari-web-extension:`]),x=new Set([`http:`,`https:`,...Fe]),Ie=(e,t,n,r)=>{let[,i,a,o,s]=e;if(i===void 0||a===void 0||o===void 0)return null;let c=t[i];return c?{columnNumber:o,fileName:c,functionName:s===void 0?void 0:r?.[s]||void 0,isIgnoreListed:n?.has(i)??!1,lineNumber:a+1}:null},Le=(e,t,n,r,i,a)=>{if(n<0||n>=e.length)return null;let o=e[n];if(!o||o.length===0)return null;let s=null,c=0,l=o.length-1;for(;c<=l;){let e=c+l>>1;o[e][0]<=r?(s=o[e],c=e+1):l=e-1}return!s||s.length<4?null:Ie(s,t,i,a)},S=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return Le(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices,i.map.names)}return Le(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices,e.names)},Re=(e,t,n,r,i)=>{if(!n)return null;let a=n.indexOf(r);if(a===-1)return null;let o=null;for(let r of e)for(let e of r){if(e[4]!==a)continue;let r=Ie(e,t,i,n);if(r){if(!r.isIgnoreListed)return r;o??=r}}return o},ze=(e,t)=>{if(e.sections){let n=null;for(let r of e.sections){let e=Re(r.map.mappings,r.map.sources,r.map.names,t,r.map.ignoredSourceIndices);if(e){if(!e.isIgnoreListed)return e;n??=e}}return n}return Re(e.mappings,e.sources,e.names,t,e.ignoredSourceIndices)},Be=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},C=(e,t)=>{let n=Be(e.sources,e.sourcesContent,t);if(n!==null)return n;if(!e.sections)return null;for(let n of e.sections){let e=Be(n.map.sources,n.map.sourcesContent,t);if(e!==null)return e}return null},w=(e,t)=>{if(b.test(e))return e;try{return new URL(e,t).toString()}catch{try{let n=new URL(e,new URL(t,`https://bippy.invalid/`));return`${n.pathname}${n.search}${n.hash}`}catch{return null}}},Ve=e=>{try{let t=new URL(e),n=t.pathname.lastIndexOf(`.bundle`);if(n===-1)return null;let r=t.pathname.slice(n+7);if(r&&!r.startsWith(`//&`))return null;if(t.pathname=`${t.pathname.slice(0,n)}.map`,r){let e=new URLSearchParams(r.slice(3));for(let[n,r]of e)t.searchParams.set(n,r)}return t.hash=``,t.toString()}catch{return null}},He=(e,t,n)=>{let r=n.headers.get(`sourcemap`)??n.headers.get(`x-sourcemap`);if(r)return w(r.trim(),e);let i,a=t.length;for(;a>0&&!i;){let e=t.lastIndexOf(`
14
- `,a-1)+1,n=t.slice(e,a).match(ke);n&&(i=n[1]||n[2]),a=e-1}return i?w(i,e):Ve(e)},T=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`mappings`),r=Reflect.get(e,`file`),i=Reflect.get(e,`names`),a=Reflect.get(e,`sourceRoot`),o=Reflect.get(e,`sources`),s=Reflect.get(e,`sourcesContent`),c=Reflect.get(e,`ignoreList`),l=Reflect.get(e,`x_google_ignoreList`);if(t!==3||typeof n!=`string`||r!==void 0&&typeof r!=`string`||i!==void 0&&(!Array.isArray(i)||i.some(e=>typeof e!=`string`))||a!==void 0&&typeof a!=`string`||s!==void 0&&(!Array.isArray(s)||s.some(e=>typeof e!=`string`&&e!==null))||c!==void 0&&(!Array.isArray(c)||c.some(e=>!Number.isInteger(e)||e<0))||l!==void 0&&(!Array.isArray(l)||l.some(e=>!Number.isInteger(e)||e<0))||!Array.isArray(o)||o.some(e=>typeof e!=`string`)||s&&s.length!==o.length)return!1;let u=o.length;return[...c??[],...l??[]].every(e=>e<u)},Ue=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`sections`);return t!==3||!Array.isArray(n)?!1:n.every(e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`map`),n=Reflect.get(e,`url`),r=Reflect.get(e,`offset`);if(typeof r!=`object`||!r)return!1;let i=Reflect.get(r,`column`),a=Reflect.get(r,`line`);return T(t)!==(typeof n==`string`&&n.length>0)&&typeof i==`number`&&Number.isInteger(i)&&i>=0&&typeof a==`number`&&Number.isInteger(a)&&a>=0})},We=e=>{let t=e.ignoreList??e.x_google_ignoreList;return t?.length?new Set(t):void 0},Ge=(e,t,n)=>{if(!e||d.test(t)||t.startsWith(`/`))return t;let r=e.endsWith(`/`)?e:`${e}/`,i=t.replace(/^\.\//,``);try{let e=d.test(r)?r:new URL(r,n).toString();return new URL(i,e).toString()}catch{let e=`${r}${i}`.split(`/`),t=[];for(let n of e)n===`..`?t.pop():n!==`.`&&t.push(n);return t.join(`/`)}},Ke=(e,t)=>e.sources.map(n=>Ge(e.sourceRoot,n,t)),qe=(e,t)=>{try{return{file:e.file,ignoredSourceIndices:We(e),mappings:Ee(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:Ke(e,t),sourcesContent:e.sourcesContent,version:3}}catch{return null}},Je=async(e,t,n)=>{let r=[],i=-1,a=-1;for(let o of e.sections){if(o.offset.line<i||o.offset.line===i&&o.offset.column<=a)return null;i=o.offset.line,a=o.offset.column;let e=o.url?w(o.url,t):null,s=o.map??(e?await n(e):null);if(!s)return null;let c=e??t;try{r.push({map:{...s,ignoredSourceIndices:We(s),mappings:Ee(s.mappings),sources:Ke(s,c)},offset:o.offset})}catch{return null}}let o=new Set;for(let e of r)for(let t of e.map.sources)o.add(t);return{file:e.file,mappings:[],names:[],sections:r,sourceRoot:void 0,sources:Array.from(o),sourcesContent:void 0,version:3}},Ye=(e,t=!1)=>{if(!e)return!1;let n=e.trim();if(!n)return!1;let r=n.match(d);if(!r)return!0;let i=r[0].toLowerCase();return t||x.has(i)},Xe=()=>typeof window>`u`&&typeof process<`u`&&typeof process.versions?.node==`string`,Ze=e=>{try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&!t.username&&!t.password}catch{return!1}},E=e=>{try{return new URL(e).protocol}catch{return null}},D=e=>{let t=E(e);return t!==null&&Fe.has(t)},Qe=(e,t)=>{try{let n=new URL(e),r=new URL(t);return n.protocol===r.protocol&&n.host===r.host}catch{return!1}},$e=(e,t,n,r)=>{if(b.test(t))return!0;if(!Ye(t,r))return!1;let i=E(e),a=E(t),o=i!==null&&!x.has(i)||a!==null&&!x.has(a);return!(n||o||D(e)||D(t))||Qe(e,t)},et=e=>e===408||e===425||e===429||e>=500,tt=e=>{if(e.ok)return!0;if(et(e.status))throw new Me;return!1},nt=(e,t,n)=>!n||t.url.length===0||Qe(e,t.url),rt=e=>{if(e.timeoutMs===void 0||e.timeoutMs<0)return{cleanup:()=>{},signal:e.signal};let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.aborted?n():e.signal?.addEventListener(`abort`,n,{once:!0});let r=setTimeout(()=>t.abort(new o(`Source map request timed out`)),e.timeoutMs);return{cleanup:()=>{clearTimeout(r),e.signal?.removeEventListener(`abort`,n)},signal:t.signal}},it=async(e,t)=>{let n=Number(e.headers.get(`content-length`));if(Number.isFinite(n)&&n>t)return null;if(!e.body){let n=await e.text();return new TextEncoder().encode(n).byteLength>t?null:n}let r=e.body.getReader(),i=new TextDecoder,a=[],o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)return await r.cancel(),null;a.push(i.decode(n,{stream:!0}))}return a.push(i.decode()),a.join(``)}finally{r.releaseLock()}},at=e=>{try{if(typeof globalThis.atob==`function`)return new TextDecoder().decode(Uint8Array.from(globalThis.atob(e),e=>e.charCodeAt(0)))}catch{return null}let t=e.replace(/\s/g,``).replace(/=+$/,``),n=[],r=0,i=0;for(let e of t){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.indexOf(e);if(t===-1)return null;r=r*64+t,i+=6,i>=8&&(i-=8,n.push(Math.floor(r/2**i)&255),r%=2**i)}return new TextDecoder().decode(Uint8Array.from(n))},ot=(e,t)=>{let n=e.indexOf(`,`);if(n===-1)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i.length>t*2)return null;try{let e=r.toLowerCase().includes(`;base64`)?at(i):decodeURIComponent(i);return e===null||new TextEncoder().encode(e).byteLength>t?null:JSON.parse(e)}catch{return null}},st=async(e,t,n,r,i)=>{if(b.test(e))return ot(e,r);let a=await t(e,{redirect:i?`error`:`follow`,signal:n});if(!tt(a)||!nt(e,a,i))return null;let o=await it(a,r);if(o===null)return null;try{return JSON.parse(o)}catch{return null}},ct=async(e,t,n={})=>{let r=t!==void 0;if(!Ye(e,r))return null;let i=Xe(),a=i||D(e);if(i&&!t&&(!n.allowUnsafeServerFetch||!Ze(e)))return null;let o=t??(typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):void 0);if(!o)return null;let s=n.maxBundleSizeBytes??26214400,c=n.maxSourceMapSizeBytes??104857600;if(s<0||c<0)return null;let l=rt(n);try{let t=await o(e,{redirect:a?`error`:`follow`,signal:l.signal});if(!tt(t)||!nt(e,t,a))return null;let n=await it(t,s);if(n===null)return null;let i=He(e,n,t);if(!i||!$e(e,i,a,r))return null;let u=await st(i,o,l.signal,c,a);return T(u)?qe(u,i):Ue(u)?Je(u,i,async t=>{if(!$e(e,t,a,r))return null;let n=await st(t,o,l.signal,c,a);return T(n)?n:null}):null}finally{l.cleanup()}},lt=(e,t,n)=>{if(!n)return t;let r=e.get(n);return r||(r=new Map,e.set(n,r)),r},ut=e=>lt(je,Ae,e),dt=e=>lt(Pe,Ne,e),ft=(e,t)=>t.allowUnsafeServerFetch===void 0&&t.maxBundleSizeBytes===void 0&&t.maxSourceMapSizeBytes===void 0&&t.timeoutMs===void 0?e:`${e}\0${t.allowUnsafeServerFetch??``}\0${t.maxBundleSizeBytes??``}\0${t.maxSourceMapSizeBytes??``}\0${t.timeoutMs??``}`,O=async(e,t=!0,n,r={})=>{let i=t&&r.signal===void 0,a=ut(n),o=dt(n),s=ft(e,r);if(i&&a.has(s))return a.get(s)??null;let c=i?o.get(s):void 0;if(c)return(await c).sourceMap;let l=ct(e,n,r).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));i&&o.set(s,l);let{sourceMap:u,isTransientFailure:d}=await l;return i&&(o.delete(s),d||a.set(s,u)),u},k=async(e,t=!0,n)=>Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await O(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=S(r,e.lineNumber,e.columnNumber);return i?{...e,source:i.fileName&&e.source?e.source.replace(e.fileName,i.fileName):e.source,fileName:i.fileName,functionName:i.functionName??e.functionName,lineNumber:i.lineNumber,columnNumber:i.columnNumber,isIgnoreListed:i.isIgnoreListed,isSymbolicated:!0}:e})),A=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,pt=e=>`tag`in e&&typeof e.tag==`number`,j=e=>{let t=null;if(c(e,n=>{if(n===e)return!1;let r=n._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&n._debugStack instanceof Error&&(t=n._debugStack,!0)}),!t)return null;let{frames:n,isTrusted:r}=_(t);if(!r)return null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},mt=()=>{let e=[];for(let t of ve())e.push({currentDispatcherRef:t,value:ye(t)}),v(t,null);return e},ht=e=>{for(let{currentDispatcherRef:t,value:n}of e)v(t,n)},M=e=>`\n in ${e}`,gt=(e,t,n)=>{if(n){let t=yt(n.stack??``),r=t.lastIndexOf(`
15
- `),i=r===-1?t:t.slice(r+1);if(i.includes(e))return`\n${i}`}return M(`${e}${t?` [${t}]`:``}`)};let N=!1;const P=new WeakMap,F=(e,t)=>{if(!e||N)return``;let n=P.get(e);if(n!==void 0)return n;let r=oe();h(void 0),N=!0;let i=mt(),a=console.error,o=console.warn;console.error=()=>{},console.warn=()=>{};try{let n={DetermineComponentFrameRoot(){let n;try{if(t){let t=function(){throw Error()};Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}});try{Reflect.construct(t,[])}catch(e){n=e}Reflect.construct(e,[],t)}else{try{throw Error()}catch(e){n=e}let t=Function.prototype.apply.call(e,void 0,[]);typeof t==`object`&&t&&`catch`in t&&typeof t.catch==`function`&&t.catch(()=>void 0)}}catch(e){if(e instanceof Error&&n instanceof Error&&typeof e.stack==`string`)return[e.stack,n.stack]}return[null,null]}};Object.defineProperty(n.DetermineComponentFrameRoot,"displayName",{value:`DetermineComponentFrameRoot`}),Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});let[r,i]=n.DetermineComponentFrameRoot();if(r&&i){let t=r.split(`
9
+ import{i as e,n as t,u as n}from"./rdt-hook.js";import{C as r,E as i,O as a,S as o,T as s,b as c,d as l,i as u,u as d,w as f}from"./core.js";const p=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,m=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],ee=[`rsc://`,`about://React/`],te=[`<anonymous>`,`eval`,``],ne=/\.(cjs|cts|js|jsx|mdx|mjs|mts|ts|tsx)$/,re=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,ie=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,ae=/\[[^\]]+\]$/,h=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],oe=Error,se=()=>oe.prepareStackTrace,g=e=>{oe.prepareStackTrace=e},ce=/(^|@)\S+:\d+/,le=/^\s*at .*(\S+:\d+|\(native\))/m,ue=/^(eval@)?(\[native code\])?$/,_=(e,t)=>{if(t?.includeInElement!==!1){let t=e.split(`
10
+ `),n=[];for(let e of t)if(/^\s*at\s+/.test(e)){let t=fe(e)[0];t&&n.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*(?:\(at .*\)|\[[^\]]+\])$/,``);n.push({functionName:t,source:e})}else if(e.match(ce)){let t=pe(e)[0];t&&n.push(t)}return n}return e.match(le)?fe(e):pe(e)},de=e=>{if(!e.includes(`:`))return[e,void 0,void 0];let t=e.startsWith(`(`)&&/:\d+\)$/.test(e)?e.slice(1,-1):e,n=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t);return n?[n[1],n[2]||void 0,n[3]||void 0]:[t,void 0,void 0]},fe=e=>e.split(`
11
+ `).filter(e=>!!e.match(le)).map(e=>{let t=e;t.includes(`(eval `)&&(t=t.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));let n=t.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),r=n.match(/ (\(.+\)$)/);n=r?n.replace(r[0],``):n;let i=de(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`,`(native)`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),pe=e=>e.split(`
12
+ `).filter(e=>!e.match(ue)).map(e=>{let t=e;if(t.includes(` > eval`)&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),!t.includes(`@`)&&!t.includes(`:`))return{functionName:t};{let e=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,n=t.match(e),r=n&&n[1]?n[1]:void 0,i=de(t.replace(e,``));return{functionName:r,fileName:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}}),me=new WeakMap,he=e=>h.some(t=>e.includes(t)),ge=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},_e=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=ge(r);if(he(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},ve=e=>{let t=-1;for(let n of h)if(t=e.indexOf(n),t!==-1)break;let n=t===-1?e:e.slice(0,e.lastIndexOf(`
13
+ `,t));return{frames:_(n).slice(1),isTrusted:t!==-1}},v=e=>{let t=me.get(e);if(t)return t;let n=null,r=(e,t)=>{n=_e(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=se();g(r);let a;try{a=String(e.stack)}finally{g(i)}let o=n??ve(a);return me.set(e,o),o},ye=(r=globalThis)=>{let i=e(void 0,r),a=n(i.renderers)?i.renderers.values():[],o=r===globalThis?new Set([...t,...a]):new Set(a),s=[],c=new Set;for(let e of o){let t=e.currentDispatcherRef;!t||c.has(t)||(c.add(t),s.push(t))}return s},be=e=>`H`in e?e.H:e.current,y=(e,t)=>{`H`in e?e.H=t:e.current=t};var xe=44,Se=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Ce=new Uint8Array(64),we=new Uint8Array(128);for(let e=0;e<Se.length;e++){let t=Se.charCodeAt(e);Ce[e]=t,we[t]=e}function b(e,t){let n=0,r=0,i=0;do i=we[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function Te(e,t){return e.pos>=t?!1:e.peek()!==xe}var Ee=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function De(e){let{length:t}=e,n=new Ee(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=b(n,i),i<u&&(l=!1),u=i,Te(n,e)?(a=b(n,a),o=b(n,o),s=b(n,s),Te(n,e)?(c=b(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||Oe(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function Oe(e){e.sort(ke)}function ke(e,t){return e[0]-t[0]}const x=/^data:application\/json(?:;[^,]*)?,/i,Ae=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,je=new Map,Me=new WeakMap;var Ne=class extends Error{};const Pe=new Map,Fe=new WeakMap,Ie=new Set([`chrome-extension:`,`moz-extension:`,`safari-web-extension:`]),Le=new Set([`http:`,`https:`,...Ie]),Re=(e,t,n,r)=>{let[,i,a,o,s]=e;if(i===void 0||a===void 0||o===void 0)return null;let c=t[i];return c?{columnNumber:o,fileName:c,functionName:s===void 0?void 0:r?.[s]||void 0,isIgnoreListed:n?.has(i)??!1,lineNumber:a+1}:null},ze=(e,t,n,r,i,a)=>{if(n<0||n>=e.length)return null;let o=e[n];if(!o||o.length===0)return null;let s=null,c=0,l=o.length-1;for(;c<=l;){let e=c+l>>1;o[e][0]<=r?(s=o[e],c=e+1):l=e-1}return!s||s.length<4?null:Re(s,t,i,a)},S=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return ze(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices,i.map.names)}return ze(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices,e.names)},Be=(e,t,n,r,i)=>{if(!n)return null;let a=n.indexOf(r);if(a===-1)return null;let o=null;for(let r of e)for(let e of r){if(e[4]!==a)continue;let r=Re(e,t,i,n);if(r){if(!r.isIgnoreListed)return r;o??=r}}return o},Ve=(e,t)=>{if(e.sections){let n=null;for(let r of e.sections){let e=Be(r.map.mappings,r.map.sources,r.map.names,t,r.map.ignoredSourceIndices);if(e){if(!e.isIgnoreListed)return e;n??=e}}return n}return Be(e.mappings,e.sources,e.names,t,e.ignoredSourceIndices)},He=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},C=(e,t)=>{let n=He(e.sources,e.sourcesContent,t);if(n!==null)return n;if(!e.sections)return null;for(let n of e.sections){let e=He(n.map.sources,n.map.sourcesContent,t);if(e!==null)return e}return null},w=(e,t)=>{if(x.test(e))return e;try{return new URL(e,t).toString()}catch{try{return new URL(e).toString()}catch{try{let n=new URL(e,new URL(t,`https://bippy.invalid/`));return`${n.pathname}${n.search}${n.hash}`}catch{return null}}}},Ue=e=>{try{let t=new URL(e),n=t.pathname.lastIndexOf(`.bundle`);if(n===-1)return null;let r=t.pathname.slice(n+7);if(r&&!r.startsWith(`//&`))return null;if(t.pathname=`${t.pathname.slice(0,n)}.map`,r){let e=new URLSearchParams(r.slice(3));for(let[n,r]of e)t.searchParams.set(n,r)}return t.hash=``,t.toString()}catch{return null}},We=(e,t,n)=>{let r=n.headers.get(`sourcemap`)??n.headers.get(`x-sourcemap`);if(r)return w(r.trim(),e);let i,a=t.length;for(;a>0&&!i;){let e=t.lastIndexOf(`
14
+ `,a-1)+1,n=t.slice(e,a).match(Ae);n&&(i=n[1]||n[2]),a=e-1}return i?w(i,e):Ue(e)},T=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`mappings`),r=Reflect.get(e,`file`),i=Reflect.get(e,`names`),a=Reflect.get(e,`sourceRoot`),o=Reflect.get(e,`sources`),s=Reflect.get(e,`sourcesContent`),c=Reflect.get(e,`ignoreList`),l=Reflect.get(e,`x_google_ignoreList`);if(t!==3||typeof n!=`string`||r!==void 0&&typeof r!=`string`||i!==void 0&&(!Array.isArray(i)||i.some(e=>typeof e!=`string`))||a!==void 0&&typeof a!=`string`||s!==void 0&&(!Array.isArray(s)||s.some(e=>typeof e!=`string`&&e!==null))||c!==void 0&&(!Array.isArray(c)||c.some(e=>!Number.isInteger(e)||e<0))||l!==void 0&&(!Array.isArray(l)||l.some(e=>!Number.isInteger(e)||e<0))||!Array.isArray(o)||o.some(e=>typeof e!=`string`)||s&&s.length!==o.length)return!1;let u=o.length;return[...c??[],...l??[]].every(e=>e<u)},Ge=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`sections`);return t!==3||!Array.isArray(n)?!1:n.every(e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`map`),n=Reflect.get(e,`url`),r=Reflect.get(e,`offset`);if(typeof r!=`object`||!r)return!1;let i=Reflect.get(r,`column`),a=Reflect.get(r,`line`);return T(t)!==(typeof n==`string`&&n.length>0)&&typeof i==`number`&&Number.isInteger(i)&&i>=0&&typeof a==`number`&&Number.isInteger(a)&&a>=0})},Ke=e=>{let t=e.ignoreList??e.x_google_ignoreList;return t?.length?new Set(t):void 0},qe=(e,t,n)=>{if(!e||p.test(t)||t.startsWith(`/`))return t;let r=e.endsWith(`/`)?e:`${e}/`,i=t.replace(/^\.\//,``);try{let e=p.test(r)?r:new URL(r,n).toString();return new URL(i,e).toString()}catch{let e=`${r}${i}`.split(`/`),t=[];for(let n of e)n===`..`?t.pop():n!==`.`&&t.push(n);return t.join(`/`)}},Je=(e,t)=>e.sources.map(n=>qe(e.sourceRoot,n,t)),Ye=e=>x.test(e)?void 0:e,Xe=(e,t)=>{try{return{file:e.file,ignoredSourceIndices:Ke(e),mappings:De(e.mappings),names:e.names,sourceMapUrl:Ye(t),sourceRoot:e.sourceRoot,sources:Je(e,t),sourcesContent:e.sourcesContent,version:3}}catch{return null}},Ze=async(e,t,n)=>{let r=[],i=-1,a=-1;for(let o of e.sections){if(o.offset.line<i||o.offset.line===i&&o.offset.column<=a)return null;i=o.offset.line,a=o.offset.column;let e=o.url?w(o.url,t):null,s=o.map??(e?await n(e):null);if(!s)return null;let c=e??t;try{r.push({map:{...s,ignoredSourceIndices:Ke(s),mappings:De(s.mappings),sources:Je(s,c)},offset:o.offset})}catch{return null}}let o=new Set;for(let e of r)for(let t of e.map.sources)o.add(t);return{file:e.file,mappings:[],names:[],sections:r,sourceMapUrl:Ye(t),sourceRoot:void 0,sources:Array.from(o),sourcesContent:void 0,version:3}},Qe=(e,t=!1)=>{if(!e)return!1;let n=e.trim();if(!n)return!1;let r=n.match(p);if(!r)return!0;let i=r[0].toLowerCase();return t||Le.has(i)},$e=()=>typeof window>`u`&&typeof process<`u`&&typeof process.versions?.node==`string`,et=e=>{try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&!t.username&&!t.password}catch{return!1}},E=e=>{try{return new URL(e).protocol}catch{return null}},D=e=>{let t=E(e);return t!==null&&Ie.has(t)},tt=(e,t)=>{try{let n=new URL(e),r=new URL(t);return n.protocol===r.protocol&&n.host===r.host}catch{return!1}},nt=(e,t,n,r)=>{if(x.test(t))return!0;if(!Qe(t,r))return!1;let i=E(e),a=E(t),o=i!==null&&!Le.has(i)||a!==null&&!Le.has(a);return!(n||o||D(e)||D(t))||tt(e,t)},rt=e=>e===408||e===425||e===429||e>=500,it=e=>{if(e.ok)return!0;if(rt(e.status))throw new Ne;return!1},at=(e,t,n)=>!n||t.url.length===0||tt(e,t.url),ot=e=>{if(e.timeoutMs===void 0||e.timeoutMs<0)return{cleanup:()=>{},signal:e.signal};let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.aborted?n():e.signal?.addEventListener(`abort`,n,{once:!0});let r=setTimeout(()=>t.abort(new s(`Source map request timed out`)),e.timeoutMs);return{cleanup:()=>{clearTimeout(r),e.signal?.removeEventListener(`abort`,n)},signal:t.signal}},st=async(e,t)=>{let n=Number(e.headers.get(`content-length`));if(Number.isFinite(n)&&n>t)return null;if(!e.body){let n=await e.text();return new TextEncoder().encode(n).byteLength>t?null:n}let r=e.body.getReader(),i=new TextDecoder,a=[],o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)return await r.cancel(),null;a.push(i.decode(n,{stream:!0}))}return a.push(i.decode()),a.join(``)}finally{r.releaseLock()}},ct=e=>{try{if(typeof globalThis.atob==`function`)return new TextDecoder().decode(Uint8Array.from(globalThis.atob(e),e=>e.charCodeAt(0)))}catch{return null}let t=e.replace(/\s/g,``).replace(/=+$/,``),n=[],r=0,i=0;for(let e of t){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.indexOf(e);if(t===-1)return null;r=r*64+t,i+=6,i>=8&&(i-=8,n.push(Math.floor(r/2**i)&255),r%=2**i)}return new TextDecoder().decode(Uint8Array.from(n))},lt=(e,t)=>{let n=e.indexOf(`,`);if(n===-1)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i.length>t*2)return null;try{let e=r.toLowerCase().includes(`;base64`)?ct(i):decodeURIComponent(i);return e===null||new TextEncoder().encode(e).byteLength>t?null:JSON.parse(e)}catch{return null}},ut=async(e,t,n,r,i)=>{if(x.test(e))return lt(e,r);let a=await t(e,{redirect:i?`error`:`follow`,signal:n});if(!it(a)||!at(e,a,i))return null;let o=await st(a,r);if(o===null)return null;try{return JSON.parse(o)}catch{return null}},dt=async(e,t,n={})=>{let r=t!==void 0;if(!Qe(e,r))return null;let i=$e(),a=(i||D(e))&&!n.allowCrossOriginSourceMap;if(i&&!t&&(!n.allowUnsafeServerFetch||!et(e)))return null;let o=t??(typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):void 0);if(!o)return null;let s=n.maxBundleSizeBytes??26214400,c=n.maxSourceMapSizeBytes??104857600;if(s<0||c<0)return null;let l=ot(n);try{let t=await o(e,{redirect:a?`error`:`follow`,signal:l.signal});if(!it(t)||!at(e,t,a))return null;let n=await st(t,s);if(n===null)return null;let i=We(e,n,t);if(!i||!nt(e,i,a,r))return null;let u=await ut(i,o,l.signal,c,a);return T(u)?Xe(u,i):Ge(u)?Ze(u,i,async t=>{if(!nt(e,t,a,r))return null;let n=await ut(t,o,l.signal,c,a);return T(n)?n:null}):null}finally{l.cleanup()}},ft=(e,t,n)=>{if(!n)return t;let r=e.get(n);return r||(r=new Map,e.set(n,r)),r},pt=e=>ft(Me,je,e),mt=e=>ft(Fe,Pe,e),ht=(e,t)=>t.allowCrossOriginSourceMap===void 0&&t.allowUnsafeServerFetch===void 0&&t.maxBundleSizeBytes===void 0&&t.maxSourceMapSizeBytes===void 0&&t.timeoutMs===void 0?e:`${e}\0${t.allowCrossOriginSourceMap??``}\0${t.allowUnsafeServerFetch??``}\0${t.maxBundleSizeBytes??``}\0${t.maxSourceMapSizeBytes??``}\0${t.timeoutMs??``}`,O=async(e,t=!0,n,r={})=>{let i=t&&r.signal===void 0,a=pt(n),o=mt(n),s=ht(e,r);if(i&&a.has(s))return a.get(s)??null;let c=i?o.get(s):void 0;if(c)return(await c).sourceMap;let l=dt(e,n,r).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));i&&o.set(s,l);let{sourceMap:u,isTransientFailure:d}=await l;return i&&(o.delete(s),d||a.set(s,u)),u},k=async(e,t=!0,n,r={})=>Promise.all(e.map(async e=>{if(!e.fileName)return e;let i=await O(e.fileName,t,n,r);if(!i||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let a=S(i,e.lineNumber,e.columnNumber);return a?{...e,source:a.fileName&&e.source?e.source.replace(e.fileName,a.fileName):e.source,fileName:a.fileName,functionName:a.functionName??e.functionName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,isIgnoreListed:a.isIgnoreListed,isSymbolicated:!0}:e})),A=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,gt=e=>`tag`in e&&typeof e.tag==`number`,j=e=>{let t=null;if(c(e,n=>{if(n===e)return!1;let r=n._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&n._debugStack instanceof Error&&(t=n._debugStack,!0)}),!t)return null;let{frames:n,isTrusted:r}=v(t);if(!r)return null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},_t=()=>{let e=[];for(let t of ye())e.push({currentDispatcherRef:t,value:be(t)}),y(t,null);return e},vt=e=>{for(let{currentDispatcherRef:t,value:n}of e)y(t,n)},M=e=>`\n in ${e}`,yt=(e,t,n)=>{if(n){let t=St(n.stack??``),r=t.lastIndexOf(`
15
+ `),i=r===-1?t:t.slice(r+1);if(i.includes(e))return`\n${i}`}return M(`${e}${t?` [${t}]`:``}`)};let N=!1;const P=new WeakMap,F=(e,t)=>{if(!e||N)return``;let n=P.get(e);if(n!==void 0)return n;let r=se();g(void 0),N=!0;let i=_t(),a=console.error,o=console.warn;console.error=()=>{},console.warn=()=>{};try{let n={DetermineComponentFrameRoot(){let n;try{if(t){let t=function(){throw Error()};Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}});try{Reflect.construct(t,[])}catch(e){n=e}Reflect.construct(e,[],t)}else{try{throw Error()}catch(e){n=e}let t=Function.prototype.apply.call(e,void 0,[]);typeof t==`object`&&t&&`catch`in t&&typeof t.catch==`function`&&t.catch(()=>void 0)}}catch(e){if(e instanceof Error&&n instanceof Error&&typeof e.stack==`string`)return[e.stack,n.stack]}return[null,null]}};Object.defineProperty(n.DetermineComponentFrameRoot,"displayName",{value:`DetermineComponentFrameRoot`}),Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});let[r,i]=n.DetermineComponentFrameRoot();if(r&&i){let t=r.split(`
16
16
  `),n=i.split(`
17
- `),a=0,o=0;for(;a<t.length&&!t[a].includes(`DetermineComponentFrameRoot`);)a++;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;if(a===t.length||o===n.length)for(a=t.length-1,o=n.length-1;a>=1&&o>=0&&t[a]!==n[o];)o--;for(;a>=1&&o>=0;a--,o--)if(t[a]!==n[o]){if(a!==1||o!==1)do if(a--,o--,o<0||t[a]!==n[o]){let n=`\n${t[a].replace(` at new `,` at `)}`,[r]=g(n);if(!r?.fileName)break;let i=s(e);return i&&n.includes(`<anonymous>`)&&(n=n.replace(`<anonymous>`,i)),P.set(e,n),n}while(a>=1&&o>=0);break}}}finally{N=!1,h(r),ht(i),console.error=a,console.warn=o}let c=s(e),l=c?M(c):``;return P.set(e,l),l},_t=(e,t)=>{let n=``,r=i(e);switch(e.tag){case r.ActivityComponent:n=M(`Activity`);break;case r.ClassComponent:n=F(e.type,!0);break;case r.ForwardRef:n=F(l(e.type)??e.type,!1);break;case r.FunctionComponent:case r.SimpleMemoComponent:n=F(l(e.type)??e.type,!1);break;case r.HostComponent:case r.HostHoistable:case r.HostSingleton:typeof e.type==`string`&&(n=M(e.type));break;case r.LazyComponent:n=M(`Lazy`);break;case r.SuspenseComponent:n=e.child!==t&&t!==null?M(`Suspense Fallback`):M(`Suspense`);break;case r.SuspenseListComponent:n=M(`SuspenseList`);break;case r.ViewTransitionComponent:n=M(`ViewTransition`);break;default:return``}return n},vt=e=>{try{let t=``,n=e,r=null;do{t+=_t(n,r);let e=n._debugInfo;if(e&&Array.isArray(e))for(let n=e.length-1;n>=0;n--){let r=e[n];typeof r.name==`string`&&(t+=gt(r.name,r.env,r.debugLocation))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nBippy couldn’t generate the stack: ${e.message}\n${e.stack}`:``}},yt=e=>{let t=e;if(!t)return``;t.startsWith(`Error: react-stack-top-frame
17
+ `),a=0,o=0;for(;a<t.length&&!t[a].includes(`DetermineComponentFrameRoot`);)a++;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;if(a===t.length||o===n.length)for(a=t.length-1,o=n.length-1;a>=1&&o>=0&&t[a]!==n[o];)o--;for(;a>=1&&o>=0;a--,o--)if(t[a]!==n[o]){if(a!==1||o!==1)do if(a--,o--,o<0||t[a]!==n[o]){let n=`\n${t[a].replace(` at new `,` at `)}`,[r]=_(n);if(!r?.fileName)break;let i=u(e);return i&&n.includes(`<anonymous>`)&&(n=n.replace(`<anonymous>`,i)),P.set(e,n),n}while(a>=1&&o>=0);break}}}finally{N=!1,g(r),vt(i),console.error=a,console.warn=o}let s=u(e),c=s?M(s):``;return P.set(e,c),c},bt=(e,t)=>{let n=``,r=a(e);switch(e.tag){case r.ActivityComponent:n=M(`Activity`);break;case r.ClassComponent:n=F(e.type,!0);break;case r.ForwardRef:n=F(l(e.type)??e.type,!1);break;case r.FunctionComponent:case r.SimpleMemoComponent:n=F(l(e.type)??e.type,!1);break;case r.HostComponent:case r.HostHoistable:case r.HostSingleton:typeof e.type==`string`&&(n=M(e.type));break;case r.LazyComponent:n=M(`Lazy`);break;case r.SuspenseComponent:n=e.child!==t&&t!==null?M(`Suspense Fallback`):M(`Suspense`);break;case r.SuspenseListComponent:n=M(`SuspenseList`);break;case r.ViewTransitionComponent:n=M(`ViewTransition`);break;default:return``}return n},xt=e=>{try{let t=``,n=e,r=null;do{t+=bt(n,r);let e=n._debugInfo;if(e&&Array.isArray(e))for(let n=e.length-1;n>=0;n--){let r=e[n];typeof r.name==`string`&&(t+=yt(r.name,r.env,r.debugLocation))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nBippy couldn’t generate the stack: ${e.message}\n${e.stack}`:``}},St=e=>{let t=e;if(!t)return``;t.startsWith(`Error: react-stack-top-frame
18
18
  `)&&(t=t.slice(29));let n=t.indexOf(`
19
- `);n!==-1&&(t=t.slice(n+1));let r=Math.max(...m.map(e=>t.indexOf(e)));if(r!==-1&&(r=t.lastIndexOf(`
20
- `,r)),r!==-1)t=t.slice(0,r);else return``;return t},bt=e=>!!(e.functionName&&e.fileName&&wt(e.fileName)),xt=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,St=e=>{let t=new Map;for(let n of e){if(!bt(n))continue;let e=n.functionName,r=t.get(e)??[];r.some(e=>xt(e,n))||(r.push(n),t.set(e,r))}return t},Ct=(e,t,n)=>{if(!e.functionName)return{...e,isServer:!0};let r=t.get(e.functionName);if(!r||r.length===0)return{...e,isServer:!0};let i=n.get(e.functionName)??0,a=r[i%r.length];return n.set(e.functionName,i+1),{...e,isServer:!0,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,source:e.source?.replace(ie,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},wt=e=>te.some(t=>e.startsWith(t)),Tt=e=>!e.isServer&&e.fileName&&wt(e.fileName)?{...e,isServer:!0}:e,Et=e=>{let t=[],n=e;for(;n;)if(pt(n)){let e=n;if(n=e._debugOwner,n&&A(e)){let{frames:n,isTrusted:r}=_(e._debugStack);if(r)for(let e of n)t.push(Tt(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of _(e.debugStack).frames)t.push({...n,isServer:!0})}return t},Dt=e=>{let t=[];return c(e,e=>{if(!A(e))return;let{frames:n,isTrusted:r}=_(e._debugStack);r&&t.push(...n)},!0),t},Ot=e=>{let t=Dt(e),n=g(vt(e)),r=St(t),i=new Map;return n.map(e=>e.source!==void 0&&ie.test(e.source)?Ct(e,r,i):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName})},I=async(e,t=!0,n)=>k(Ot(e),t,n),kt=e=>!!e.fileName&&!e.isIgnoreListed,At=async(e,t=!0,n)=>{let r=Et(e);if(r.length>0){let i=j(e)??{};i.functionName=s(e.type)??i.functionName;let a=await k([i,...r],t,n);if(a.some((e,t)=>t>0&&kt(e)))return a}return I(e,t,n)},jt=e=>{let t=e._debugSource;return t?typeof t==`object`&&typeof t.fileName==`string`&&t.fileName!==`(native)`&&typeof t.lineNumber==`number`:!1},L=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,Mt=e=>{if(!A(e))return null;let{frames:t,isTrusted:n}=_(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},Nt=async(e,t,n)=>{let r=s(e.type);if(!r)return null;let i=g(Error().stack??``),a=new Set;for(let e of i){let i=e.fileName;if(!i||a.has(i))continue;a.add(i);let o=await O(i,t,n);if(!o)continue;let s=ze(o,r);if(s&&!s.isIgnoreListed)return L(s)}return null},Pt=async(e,t=!0,n)=>{if(jt(e))return e._debugSource;let r=Mt(e)??j(e);if(r){let[e]=await k([r],t,n),i=L(e);if(i)return i}let i=await I(e,t,n);for(let e of i)if(e.fileName)return L(e);return Nt(e,t,n)},Ft=e=>e.split(`/`).filter(Boolean).length,It=e=>{let t=e.indexOf(`/`,1);if(t===-1)return e;let n=e.slice(0,t);if(Ft(n)!==1)return e;let r=e.slice(t);if(!p.test(r))return e;let i=r.split(`/`).filter(Boolean);if(i.length<2)return e;let a=i[0];return a.startsWith(`@`)||a.length>4?e:r},Lt=e=>{if(!e||f.some(t=>t===e))return``;let t=e,n=/^[a-zA-Z]:[\\/]/.test(t);if(t.startsWith(`http://`)||t.startsWith(`https://`)){try{t=new URL(t).pathname}catch{}t=It(t)}if(t.startsWith(`about://React/`)){let e=t.slice(14),n=e.indexOf(`/`),r=e.indexOf(`:`);t=n!==-1&&(r===-1||n<r)?e.slice(n+1):e}let r=!0;for(;r;){r=!1;for(let e of ee)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),r=!0;break}}if(!n){let e=t.match(d);e&&(t=t.slice(e[0].length))}if(t.startsWith(`//`)){let e=t.indexOf(`/`,2);t=e===-1?``:t.slice(e)}let i=t.indexOf(`?`);if(i!==-1){let e=t.slice(i);re.test(e)&&(t=t.slice(0,i))}return t},Rt=e=>{let t=Lt(e);return!(!t||!p.test(t)||ne.test(t))},zt=[/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/,/(?:^|export\s+)function\s+(\w+)/,/(?:^|export\s+)class\s+(\w+)/],Bt=e=>{for(let t of zt){let n=e.match(t);if(n?.[1])return n[1]}return null},Vt=(e,t)=>{let n=e.split(`
21
- `),r=t-1;if(r<0||r>=n.length)return null;for(let e=0;e<=5;e++){let t=e===0?[r]:[r-e,r+e];for(let e of t){if(e<0||e>=n.length)continue;let t=Bt(n[e]);if(t)return t}}return null},Ht=async(e,t=!0,n)=>{let r=j(e)??Ot(e).find(e=>e.fileName);if(!r?.fileName)return s(e.type);let i=await O(r.fileName,t,n);if(!i)return s(e.type);let a=null;if(typeof r.lineNumber==`number`&&typeof r.columnNumber==`number`&&(a=S(i,r.lineNumber,r.columnNumber)),!a?.fileName||!a.lineNumber)return s(e.type);let o=C(i,a.fileName);return(o?Vt(o,a.lineNumber):null)||(a.functionName??s(e.type))},Ut=Symbol.for(`react.context`),Wt=Symbol.for(`react.memo_cache_sentinel`),Gt=Symbol.for(`react.recoverable`);let R=[],z=null,B=null,V=null,H=null,U=0,W=null;const G=Error("Suspense interrupted this render. This error is an internal implementation detail of `use`."),K=e=>g(e.stack||``,{includeInElement:!1}),q=()=>{let e=V;return e!==null&&(V=e.next),e},J=e=>typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`,Kt=e=>typeof e==`object`&&!!e&&`current`in e,Y=e=>typeof e==`object`&&!!e&&`_currentValue`in e,qt=e=>typeof e==`object`&&!!e&&`context`in e&&`next`in e,Jt=e=>typeof e==`object`&&!!e&&`render`in e&&typeof e.render==`function`,X=e=>{if(B===null)return e._currentValue;if(H===null)throw new n(`Context reads don’t match context dependencies.`);if(Object.hasOwn(H,`memoizedValue`)){let e=H.memoizedValue;return H=H.next,e}return e._currentValue},Z=(e,t,n,r=null,i=null)=>{R.push({displayName:r,primitive:e,stackError:Error(),value:t,debugInfo:i,dispatcherHookName:n})},Yt=e=>{if(typeof e==`object`&&e){if(J(e)){let t=W!==null&&U<W.length?W[U++]:e,n=J(t)?t:e;switch(n.status){case`fulfilled`:return Z(`Promise`,n.value,`Use`,null,n._debugInfo??null),n.value;case`rejected`:throw n.reason}throw Z(`Unresolved`,n,`Use`,null,n._debugInfo??null),G}if(`$$typeof`in e&&e.$$typeof===Gt){Z(`Recoverable`,void 0,`Use`);return}if(`$$typeof`in e&&e.$$typeof===Ut&&Y(e)){let t={_currentValue:e._currentValue,displayName:typeof e.displayName==`string`?e.displayName:void 0},n=X(t);return Z(`Context (use)`,n,`Use`,t.displayName||`Context`),n}}throw new n(`use() received an unsupported value: `+String(e))},Xt=e=>{let t=X(e);return Z(`Context`,t,`Context`,e.displayName||null),t},Zt=e=>{let t=q(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return Z(`State`,n,`State`),[n,()=>{}]},Qt=(e,t,n)=>{let r=q(),i=r===null?n===void 0?t:n(t):r.memoizedState;return Z(`Reducer`,i,`Reducer`),[i,()=>{}]},$t=e=>{let t=q(),n=Kt(t?.memoizedState)?t.memoizedState:{current:e};return Z(`Ref`,n.current,`Ref`),n},en=()=>{let e=q();return Z(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},tn=e=>{q(),Z(`LayoutEffect`,e,`LayoutEffect`)},nn=e=>{q(),Z(`InsertionEffect`,e,`InsertionEffect`)},rn=e=>{q(),Z(`Effect`,e,`Effect`)},an=e=>{q();let t=Kt(e)?e.current:void 0;Z(`ImperativeHandle`,t,`ImperativeHandle`)},on=(e,t)=>{Z(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},sn=e=>{let t=q();return Z(`Callback`,Array.isArray(t?.memoizedState)?t.memoizedState[0]:e,`Callback`),e},cn=e=>{let t=q(),n=Array.isArray(t?.memoizedState)?t.memoizedState[0]:e();return Z(`Memo`,n,`Memo`),n},ln=(e,t)=>{let n=q();q();let r=n===null?t():n.memoizedState;return Z(`SyncExternalStore`,r,`SyncExternalStore`),r},un=()=>{let e=q();q();let t=e?.memoizedState===!0;return Z(`Transition`,t,`Transition`),[t,()=>{}]},dn=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`DeferredValue`,n,`DeferredValue`),n},fn=()=>{let e=q(),t=typeof e?.memoizedState==`string`?e.memoizedState:``;return Z(`Id`,t,`Id`),t},pn=e=>{let t=B;if(t===null)return[];let n=t.updateQueue?.memoCache;if(n==null)return[];let r=n.data[n.index];return r===void 0&&(r=n.data[n.index]=Array.from({length:e},()=>Wt)),n.index++,r},mn=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`Optimistic`,n,`Optimistic`),[n,()=>{}]},hn=(e,t)=>{let n,r=null,i=null;if(e!==null){let t=e.memoizedState;if(J(t))switch(t.status){case`fulfilled`:n=t.value,r=t._debugInfo??null;break;case`rejected`:i=t.reason;break;default:i=G,n=t,r=t._debugInfo??null}else n=t}else n=t;return{value:n,debugInfo:r,error:i}},gn=e=>(t,n)=>{let r=q();q(),q();let{value:i,debugInfo:a,error:o}=hn(r,n);if(Z(e,i,e,null,a),o!==null)throw o;return[i,()=>{},!1]},_n=gn(`ActionState`),Q={readContext:X,use:Yt,useCallback:sn,useContext:Xt,useEffect:rn,useImperativeHandle:an,useLayoutEffect:tn,useInsertionEffect:nn,useMemo:cn,useReducer:Qt,useRef:$t,useState:Zt,useDebugValue:on,useDeferredValue:dn,useTransition:un,useSyncExternalStore:ln,useId:fn,useHostTransitionStatus:()=>{let e=X({_currentValue:null});return Z(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:gn(`FormState`),useActionState:_n,useOptimistic:mn,useMemoCache:pn,useCacheRefresh:en,useEffectEvent:e=>(q(),Z(`EffectEvent`,e,`EffectEvent`),e)},vn=new Proxy(Q,{get(e,t){if(Object.hasOwn(e,t))return Reflect.get(e,t);throw new r(`The React dispatcher is missing method `+t)}}),yn=()=>{if(z!==null)return z;let e=new Map,t;try{Q.useContext({_currentValue:null}),Q.useState(null),Q.useReducer(e=>e,null),Q.useRef(null),Q.useCacheRefresh(),Q.useLayoutEffect(()=>{}),Q.useInsertionEffect(()=>{}),Q.useEffect(()=>{}),Q.useImperativeHandle(void 0),Q.useDebugValue(null),Q.useCallback(()=>{}),Q.useTransition(),Q.useSyncExternalStore(()=>()=>{},()=>null),Q.useDeferredValue(null),Q.useMemo(()=>null),Q.useOptimistic(null),Q.useFormState(e=>e,null),Q.useActionState(e=>e,null),Q.useHostTransitionStatus(),Q.use({$$typeof:Ut,_currentValue:null}),Q.use({$$typeof:Gt});let e=Promise.resolve(null);Reflect.set(e,`status`,`fulfilled`),Reflect.set(e,`value`,null),Q.use(e);try{Q.use(new Promise(()=>{}))}catch{}Q.useId(),Q.useEffectEvent(()=>{})}finally{t=R,R=[]}for(let n of t)e.set(n.primitive,K(n.stackError));return z=e,z};let bn=0;const xn=(e,t,n)=>{if(n>=t.length)return-1;let r=t[n].source;hookSearch:for(let i=0;i<e.length;i++)if(e[i].source===r){for(let r=n+1,a=i+1;r<t.length&&a<e.length;r++,a++)if(e[a].source!==t[r].source)continue hookSearch;return i}return-1},Sn=(e,t)=>{let n=xn(t,e,bn);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=xn(t,e,r),n!==-1)return bn=r,n;return-1},$=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return $(e.slice(t+4,-1));if(t=e.lastIndexOf(`.`),t=t===-1?0:t+1,e.slice(t).startsWith(`unstable_`)&&(t+=9),e.slice(t).startsWith(`experimental_`)&&(t+=13),e.slice(t,t+3)===`use`){if(e.length-t===3)return`Use`;t+=3}return e.slice(t)},Cn=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},wn=(e,t)=>{let n=yn().get(t.primitive);if(n===void 0)return-1;for(let r=0;r<n.length&&r<e.length;r++)if(n[r].source!==e[r].source)return r<e.length-1&&Cn(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&Cn(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},Tn=(e,t)=>{let n=K(t.stackError),r=Sn(e,n),i=wn(n,t);return r===-1||i===-1||r-i<2?i===-1?[null,null]:[n[i-1]??null,null]:[n[i-1]??null,n.slice(i,r-1)]},En=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),Dn=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=Tn(e,s),l=s.displayName;if(l===null&&t!==null&&(l=$(t.functionName)||$(s.dispatcherHookName)),c!==null){let e=0;if(r!==null){for(;e<c.length&&e<r.length&&c[c.length-e-1].source===r[r.length-e-1].source;)e++;for(let t=r.length-1;t>e;t--)i=o.pop()??n}for(let t=c.length-e-1;t>=1;t--){let e=[],n=c[t],r={id:null,isStateEditable:!1,name:$(c[t-1].functionName),value:void 0,subHooks:e,debugInfo:null,hookSource:{lineNumber:n.lineNumber??null,columnNumber:n.columnNumber??null,functionName:n.functionName??null,fileName:n.fileName??null}};i.push(r),o.push(i),i=e}r=c}let{primitive:u}=s,d=En.has(u)?null:a++,ee=u===`Reducer`||u===`State`,te=l||u,f=c?.[0],p={lineNumber:f?.lineNumber??null,columnNumber:f?.columnNumber??null,functionName:f?.functionName??null,fileName:f?.fileName??null};i.push({id:d,isStateEditable:ee,name:te,value:s.value,subHooks:[],debugInfo:s.debugInfo,hookSource:p})}return On(n,null),n},On=(e,t)=>{let n=[];for(let t=0;t<e.length;t++){let r=e[t];r.name===`DebugValue`&&r.subHooks.length===0?(e.splice(t,1),t--,n.push(r)):On(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},kn=(e,t)=>{let n=t;for(;n;){if(n.tag===i(n).ContextProvider){let t=n.type,r=typeof t==`object`&&t&&`_context`in t?t._context:void 0,i=Y(r)?r:Y(t)?t:null;i&&!e.has(i)&&(e.set(i,i._currentValue),i._currentValue=n.memoizedProps.value)}n=n.return}},An=e=>{e.forEach((e,t)=>{t._currentValue=e})},jn=e=>{if(e!==G)throw e instanceof r?e:new u(`Bippy couldn’t render the inspected component`,e)},Mn=(e,t)=>{if(e!==null&&(typeof e==`object`||typeof e==`function`)&&`defaultProps`in e&&typeof e.defaultProps==`object`&&e.defaultProps!==null){let n={...t},r=e.defaultProps;for(let[e,t]of Object.entries(r))n[e]===void 0&&(n[e]=t);return n}return t},Nn=()=>{let e={};for(let t in console)try{e[t]=Reflect.get(console,t),Reflect.set(console,t,()=>{})}catch{}return e},Pn=e=>{for(let t in e)try{Reflect.set(console,t,e[t])}catch{}},Fn=(e,t)=>{let n=ye(e);v(e,vn);let r=[],i;try{i=Error(),t()}catch(e){jn(e)}finally{r=R,R=[],v(e,n)}let a=i===void 0?[]:K(i);return Dn(a,r)},In=()=>{let e=ve()[0];if(!e)throw new n(`Bippy couldn’t find a React renderer. Load React and install Bippy’s hook.`);return e},Ln=e=>{let t=[`dependencies_old`,`dependencies_new`].find(t=>Object.hasOwn(e,t));if(Object.hasOwn(e,`dependencies`)){let t=e.dependencies;H=t===null?null:t.firstContext}else if(t){let n=Reflect.get(e,t),r=typeof n==`object`&&n&&`firstContext`in n?n.firstContext:null;H=qt(r)?r:null}else if(Object.hasOwn(e,`contextDependencies`)){let t=Reflect.get(e,`contextDependencies`),n=typeof t==`object`&&t&&`first`in t?t.first:null;H=qt(n)?n:null}else throw new n(`Bippy doesn’t support this React version.`)},Rn=e=>{let t=In(),r=i(e);if(e.tag!==r.FunctionComponent&&e.tag!==r.SimpleMemoComponent&&e.tag!==r.ForwardRef)throw new n(`Hook inspection requires a function component Fiber.`);yn(),V=e.memoizedState,B=e;let a=e.dependencies?._debugThenableState,o=Array.isArray(a)?a:a?.thenables;W=Array.isArray(o)?o:null,U=0,Ln(e);let s=e.type,c=e.memoizedProps;s!==e.elementType&&(c=Mn(s,c));let l=Nn(),u=new Map;try{if(H!==null&&!Object.hasOwn(H,`memoizedValue`)&&kn(u,e),e.tag===r.ForwardRef){if(!Jt(s))throw new n(`ForwardRef fiber is missing its render function.`);return Fn(t,()=>{s.render(c,e.ref)})}if(typeof s!=`function`)throw new n(`Function component fiber is missing its component function.`);return Fn(t,()=>{s(c)})}finally{B=null,V=null,H=null,W=null,U=0,An(u),Pn(l)}},zn=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),Bn=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,Vn=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Hn=e=>{let t=[],n=e=>{for(let r of e)zn.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},Un=e=>{let t=e.trim();if(t.startsWith(`[`)){let e=t.match(/\[\s*(\w+)/);return e?e[1]:null}return/^\w+$/.test(t)?t:null},Wn=(e,t,n)=>{let r=e.split(`
19
+ `);n!==-1&&(t=t.slice(n+1));let r=Math.max(...h.map(e=>t.indexOf(e)));if(r!==-1&&(r=t.lastIndexOf(`
20
+ `,r)),r!==-1)t=t.slice(0,r);else return``;return t},Ct=e=>!!(e.functionName&&e.fileName&&Dt(e.fileName)),wt=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,Tt=e=>{let t=new Map;for(let n of e){if(!Ct(n))continue;let e=n.functionName,r=t.get(e)??[];r.some(e=>wt(e,n))||(r.push(n),t.set(e,r))}return t},Et=(e,t,n)=>{if(!e.functionName)return{...e,isServer:!0};let r=t.get(e.functionName);if(!r||r.length===0)return{...e,isServer:!0};let i=n.get(e.functionName)??0,a=r[i%r.length];return n.set(e.functionName,i+1),{...e,isServer:!0,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,source:e.source?.replace(ae,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},Dt=e=>ee.some(t=>e.startsWith(t)),Ot=e=>!e.isServer&&e.fileName&&Dt(e.fileName)?{...e,isServer:!0}:e,kt=e=>{let t=[],n=e;for(;n;)if(gt(n)){let e=n;if(n=e._debugOwner,n&&A(e)){let{frames:n,isTrusted:r}=v(e._debugStack);if(r)for(let e of n)t.push(Ot(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of v(e.debugStack).frames)t.push({...n,isServer:!0})}return t},At=e=>{let t=[];return c(e,e=>{if(!A(e))return;let{frames:n,isTrusted:r}=v(e._debugStack);r&&t.push(...n)},!0),t},jt=e=>{let t=At(e),n=_(xt(e)),r=Tt(t),i=new Map;return n.map(e=>e.source!==void 0&&ae.test(e.source)?Et(e,r,i):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName})},I=async(e,t=!0,n,r={})=>k(jt(e),t,n,r),Mt=e=>!!e.fileName&&!e.isIgnoreListed,Nt=async(e,t=!0,n,r={})=>{let i=kt(e);if(i.length>0){let a=j(e)??{};a.functionName=u(e.type)??a.functionName;let o=await k([a,...i],t,n,r);if(o.some((e,t)=>t>0&&Mt(e)))return o}return I(e,t,n,r)},Pt=e=>{let t=e._debugSource;return t?typeof t==`object`&&typeof t.fileName==`string`&&t.fileName!==`(native)`&&typeof t.lineNumber==`number`:!1},L=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,Ft=e=>{if(!A(e))return null;let{frames:t,isTrusted:n}=v(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},It=e=>{if(Pt(e))return e._debugSource;let t=Ft(e)??j(e);return t?L(t):null},Lt=async(e,t,n,r)=>{let i=u(e.type);if(!i)return null;let a=_(Error().stack??``),o=new Set;for(let e of a){let a=e.fileName;if(!a||o.has(a))continue;o.add(a);let s=await O(a,t,n,r);if(!s)continue;let c=Ve(s,i);if(c&&!c.isIgnoreListed)return L(c)}return null},Rt=async(e,t=!0,n,r={})=>{if(Pt(e))return e._debugSource;let i=It(e);if(i){let[e]=await k([{columnNumber:i.columnNumber,fileName:i.fileName,functionName:i.functionName,lineNumber:i.lineNumber}],t,n,r),a=L(e);if(a)return a}let a=await I(e,t,n,r);for(let e of a)if(e.fileName)return L(e);return Lt(e,t,n,r)},zt=e=>e.split(`/`).filter(Boolean).length,Bt=e=>{let t=e.indexOf(`/`,1);if(t===-1)return e;let n=e.slice(0,t);if(zt(n)!==1)return e;let r=e.slice(t);if(!ne.test(r))return e;let i=r.split(`/`).filter(Boolean);if(i.length<2)return e;let a=i[0];return a.startsWith(`@`)||a.length>4?e:r},Vt=e=>{if(!e||te.some(t=>t===e))return``;let t=e,n=/^[a-zA-Z]:[\\/]/.test(t);if(t.startsWith(`http://`)||t.startsWith(`https://`)){try{t=new URL(t).pathname}catch{}t=Bt(t)}if(t.startsWith(`about://React/`)){let e=t.slice(14),n=e.indexOf(`/`),r=e.indexOf(`:`);t=n!==-1&&(r===-1||n<r)?e.slice(n+1):e}let r=!0;for(;r;){r=!1;for(let e of m)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),r=!0;break}}if(!n){let e=t.match(p);e&&(t=t.slice(e[0].length))}if(t.startsWith(`//`)){let e=t.indexOf(`/`,2);t=e===-1?``:t.slice(e)}let i=t.indexOf(`?`);if(i!==-1){let e=t.slice(i);ie.test(e)&&(t=t.slice(0,i))}return t},Ht=e=>{let t=Vt(e);return!(!t||!ne.test(t)||re.test(t))},Ut=[/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/,/(?:^|export\s+)function\s+(\w+)/,/(?:^|export\s+)class\s+(\w+)/],Wt=e=>{for(let t of Ut){let n=e.match(t);if(n?.[1])return n[1]}return null},Gt=(e,t)=>{let n=e.split(`
21
+ `),r=t-1;if(r<0||r>=n.length)return null;for(let e=0;e<=5;e++){let t=e===0?[r]:[r-e,r+e];for(let e of t){if(e<0||e>=n.length)continue;let t=Wt(n[e]);if(t)return t}}return null},Kt=async(e,t=!0,n,r={})=>{let i=j(e)??jt(e).find(e=>e.fileName);if(!i?.fileName)return u(e.type);let a=await O(i.fileName,t,n,r);if(!a)return u(e.type);let o=null;if(typeof i.lineNumber==`number`&&typeof i.columnNumber==`number`&&(o=S(a,i.lineNumber,i.columnNumber)),!o?.fileName||!o.lineNumber)return u(e.type);let s=C(a,o.fileName);return(s?Gt(s,o.lineNumber):null)||(o.functionName??u(e.type))},qt=Symbol.for(`react.context`),Jt=Symbol.for(`react.memo_cache_sentinel`),Yt=Symbol.for(`react.recoverable`);let R=[],z=null,B=null,V=null,H=null,U=0,W=null;const G=Error("Suspense interrupted this render. This error is an internal implementation detail of `use`."),K=e=>_(e.stack||``,{includeInElement:!1}),q=()=>{let e=V;return e!==null&&(V=e.next),e},J=e=>typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`,Xt=e=>typeof e==`object`&&!!e&&`current`in e,Y=e=>typeof e==`object`&&!!e&&`_currentValue`in e,Zt=e=>typeof e==`object`&&!!e&&`context`in e&&`next`in e,Qt=e=>typeof e==`object`&&!!e&&`render`in e&&typeof e.render==`function`,X=e=>{if(B===null)return e._currentValue;if(H===null)throw new r(`Context reads don’t match context dependencies.`);if(Object.hasOwn(H,`memoizedValue`)){let e=H.memoizedValue;return H=H.next,e}return e._currentValue},Z=(e,t,n,r=null,i=null)=>{R.push({displayName:r,primitive:e,stackError:Error(),value:t,debugInfo:i,dispatcherHookName:n})},$t=e=>{if(typeof e==`object`&&e){if(J(e)){let t=W!==null&&U<W.length?W[U++]:e,n=J(t)?t:e;switch(n.status){case`fulfilled`:return Z(`Promise`,n.value,`Use`,null,n._debugInfo??null),n.value;case`rejected`:throw n.reason}throw Z(`Unresolved`,n,`Use`,null,n._debugInfo??null),G}if(`$$typeof`in e&&e.$$typeof===Yt){Z(`Recoverable`,void 0,`Use`);return}if(`$$typeof`in e&&e.$$typeof===qt&&Y(e)){let t={_currentValue:e._currentValue,displayName:typeof e.displayName==`string`?e.displayName:void 0},n=X(t);return Z(`Context (use)`,n,`Use`,t.displayName||`Context`),n}}throw new r(`use() received an unsupported value: `+String(e))},en=e=>{let t=X(e);return Z(`Context`,t,`Context`,e.displayName||null),t},tn=e=>{let t=q(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return Z(`State`,n,`State`),[n,()=>{}]},nn=(e,t,n)=>{let r=q(),i=r===null?n===void 0?t:n(t):r.memoizedState;return Z(`Reducer`,i,`Reducer`),[i,()=>{}]},rn=e=>{let t=q(),n=Xt(t?.memoizedState)?t.memoizedState:{current:e};return Z(`Ref`,n.current,`Ref`),n},an=()=>{let e=q();return Z(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},on=e=>{q(),Z(`LayoutEffect`,e,`LayoutEffect`)},sn=e=>{q(),Z(`InsertionEffect`,e,`InsertionEffect`)},cn=e=>{q(),Z(`Effect`,e,`Effect`)},ln=e=>{q();let t=Xt(e)?e.current:void 0;Z(`ImperativeHandle`,t,`ImperativeHandle`)},un=(e,t)=>{Z(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},dn=e=>{let t=q();return Z(`Callback`,Array.isArray(t?.memoizedState)?t.memoizedState[0]:e,`Callback`),e},fn=e=>{let t=q(),n=Array.isArray(t?.memoizedState)?t.memoizedState[0]:e();return Z(`Memo`,n,`Memo`),n},pn=(e,t)=>{let n=q();q();let r=n===null?t():n.memoizedState;return Z(`SyncExternalStore`,r,`SyncExternalStore`),r},mn=()=>{let e=q();q();let t=e?.memoizedState===!0;return Z(`Transition`,t,`Transition`),[t,()=>{}]},hn=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`DeferredValue`,n,`DeferredValue`),n},gn=()=>{let e=q(),t=typeof e?.memoizedState==`string`?e.memoizedState:``;return Z(`Id`,t,`Id`),t},_n=e=>{let t=B;if(t===null)return[];let n=t.updateQueue?.memoCache;if(n==null)return[];let r=n.data[n.index];return r===void 0&&(r=n.data[n.index]=Array.from({length:e},()=>Jt)),n.index++,r},vn=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`Optimistic`,n,`Optimistic`),[n,()=>{}]},yn=(e,t)=>{let n,r=null,i=null;if(e!==null){let t=e.memoizedState;if(J(t))switch(t.status){case`fulfilled`:n=t.value,r=t._debugInfo??null;break;case`rejected`:i=t.reason;break;default:i=G,n=t,r=t._debugInfo??null}else n=t}else n=t;return{value:n,debugInfo:r,error:i}},bn=e=>(t,n)=>{let r=q();q(),q();let{value:i,debugInfo:a,error:o}=yn(r,n);if(Z(e,i,e,null,a),o!==null)throw o;return[i,()=>{},!1]},xn=bn(`ActionState`),Q={readContext:X,use:$t,useCallback:dn,useContext:en,useEffect:cn,useImperativeHandle:ln,useLayoutEffect:on,useInsertionEffect:sn,useMemo:fn,useReducer:nn,useRef:rn,useState:tn,useDebugValue:un,useDeferredValue:hn,useTransition:mn,useSyncExternalStore:pn,useId:gn,useHostTransitionStatus:()=>{let e=X({_currentValue:null});return Z(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:bn(`FormState`),useActionState:xn,useOptimistic:vn,useMemoCache:_n,useCacheRefresh:an,useEffectEvent:e=>(q(),Z(`EffectEvent`,e,`EffectEvent`),e)},Sn=new Proxy(Q,{get(e,t){if(Object.hasOwn(e,t))return Reflect.get(e,t);throw new i(`The React dispatcher is missing method `+t)}}),Cn=()=>{if(z!==null)return z;let e=new Map,t;try{Q.useContext({_currentValue:null}),Q.useState(null),Q.useReducer(e=>e,null),Q.useRef(null),Q.useCacheRefresh(),Q.useLayoutEffect(()=>{}),Q.useInsertionEffect(()=>{}),Q.useEffect(()=>{}),Q.useImperativeHandle(void 0),Q.useDebugValue(null),Q.useCallback(()=>{}),Q.useTransition(),Q.useSyncExternalStore(()=>()=>{},()=>null),Q.useDeferredValue(null),Q.useMemo(()=>null),Q.useOptimistic(null),Q.useFormState(e=>e,null),Q.useActionState(e=>e,null),Q.useHostTransitionStatus(),Q.use({$$typeof:qt,_currentValue:null}),Q.use({$$typeof:Yt});let e=Promise.resolve(null);Reflect.set(e,`status`,`fulfilled`),Reflect.set(e,`value`,null),Q.use(e);try{Q.use(new Promise(()=>{}))}catch{}Q.useId(),Q.useEffectEvent(()=>{})}finally{t=R,R=[]}for(let n of t)e.set(n.primitive,K(n.stackError));return z=e,z};let wn=0;const Tn=(e,t,n)=>{if(n>=t.length)return-1;let r=t[n].source;hookSearch:for(let i=0;i<e.length;i++)if(e[i].source===r){for(let r=n+1,a=i+1;r<t.length&&a<e.length;r++,a++)if(e[a].source!==t[r].source)continue hookSearch;return i}return-1},En=(e,t)=>{let n=Tn(t,e,wn);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=Tn(t,e,r),n!==-1)return wn=r,n;return-1},$=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return $(e.slice(t+4,-1));if(t=e.lastIndexOf(`.`),t=t===-1?0:t+1,e.slice(t).startsWith(`unstable_`)&&(t+=9),e.slice(t).startsWith(`experimental_`)&&(t+=13),e.slice(t,t+3)===`use`){if(e.length-t===3)return`Use`;t+=3}return e.slice(t)},Dn=new Set([Z,...Object.values(Q)].map(e=>$(e.name))),On=e=>e!==``&&Dn.has(e),kn=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},An=(e,t)=>{let n=Cn().get(t.primitive);if(n===void 0)return-1;for(let r=0;r<n.length&&r<e.length;r++)if(n[r].source!==e[r].source)return r<e.length-1&&kn(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&kn(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},jn=(e,t)=>{let n=K(t.stackError),r=En(e,n),i=An(n,t);return r===-1||i===-1||r-i<2?i===-1?[null,null]:[n[i-1]??null,null]:[n[i-1]??null,n.slice(i,r-1)]},Mn=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),Nn=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=jn(e,s),l=s.displayName;if(l===null&&t!==null){let e=$(t.functionName);l=On(e)?null:e||$(s.dispatcherHookName)}if(c!==null){let e=0;if(r!==null){for(;e<c.length&&e<r.length&&c[c.length-e-1].source===r[r.length-e-1].source;)e++;for(let t=r.length-1;t>e;t--)i=o.pop()??n}for(let t=c.length-e-1;t>=1;t--){let e=[],n=c[t],r={id:null,isStateEditable:!1,name:$(c[t-1].functionName),value:void 0,subHooks:e,debugInfo:null,hookSource:{lineNumber:n.lineNumber??null,columnNumber:n.columnNumber??null,functionName:n.functionName??null,fileName:n.fileName??null}};i.push(r),o.push(i),i=e}r=c}let{primitive:u}=s,d=Mn.has(u)?null:a++,f=u===`Reducer`||u===`State`,p=l||u,m=c?.[0],ee={lineNumber:m?.lineNumber??null,columnNumber:m?.columnNumber??null,functionName:m?.functionName??null,fileName:m?.fileName??null};i.push({id:d,isStateEditable:f,name:p,value:s.value,subHooks:[],debugInfo:s.debugInfo,hookSource:ee})}return Fn(n,null),Pn(n,null),n},Pn=(e,t)=>{for(let n=0;n<e.length;n++){let r=e[n];On(r.name)?(t!==null&&r.value!==void 0&&(t.value=t.value===void 0?r.value:Array.isArray(t.value)?[...t.value,r.value]:[t.value,r.value]),e.splice(n,1,...r.subHooks),n--):Pn(r.subHooks,r)}},Fn=(e,t)=>{let n=[];for(let t=0;t<e.length;t++){let r=e[t];r.name===`DebugValue`?(e.splice(t,1,...r.subHooks),t--,r.value!==void 0&&n.push(r)):Fn(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},In=(e,t)=>{let n=t;for(;n;){if(n.tag===a(n).ContextProvider){let t=n.type,r=typeof t==`object`&&t&&`_context`in t?t._context:void 0,i=Y(r)?r:Y(t)?t:null;i&&!e.has(i)&&(e.set(i,i._currentValue),i._currentValue=n.memoizedProps.value)}n=n.return}},Ln=e=>{e.forEach((e,t)=>{t._currentValue=e})},Rn=e=>{if(e!==G)throw e instanceof i?e:new f(`Bippy couldn’t render the inspected component`,e)},zn=(e,t)=>{if(e!==null&&(typeof e==`object`||typeof e==`function`)&&`defaultProps`in e&&typeof e.defaultProps==`object`&&e.defaultProps!==null){let n={...t},r=e.defaultProps;for(let[e,t]of Object.entries(r))n[e]===void 0&&(n[e]=t);return n}return t},Bn=()=>{let e={};for(let t in console)try{e[t]=Reflect.get(console,t),Reflect.set(console,t,()=>{})}catch{}return e},Vn=e=>{for(let t in e)try{Reflect.set(console,t,e[t])}catch{}},Hn=(e,t,...n)=>{let r=be(e);y(e,Sn);let i=[],a;try{a=Error(),t(...n)}catch(e){Rn(e)}finally{i=R,R=[],y(e,r)}let o=a===void 0?[]:K(a);return Nn(o,i)},Un=(e,t=globalThis)=>{let n=(e?d(e,t)?.currentDispatcherRef:null)??ye(t)[0];if(!n)throw new r(`Bippy couldn’t find a React renderer. Load React and install Bippy’s hook.`);return n},Wn=e=>{let t=[`dependencies_old`,`dependencies_new`].find(t=>Object.hasOwn(e,t));if(Object.hasOwn(e,`dependencies`)){let t=e.dependencies;H=t===null?null:t.firstContext}else if(t){let n=Reflect.get(e,t),r=typeof n==`object`&&n&&`firstContext`in n?n.firstContext:null;H=Zt(r)?r:null}else if(Object.hasOwn(e,`contextDependencies`)){let t=Reflect.get(e,`contextDependencies`),n=typeof t==`object`&&t&&`first`in t?t.first:null;H=Zt(n)?n:null}else throw new r(`Bippy doesn’t support this React version.`)},Gn=e=>{let t=e=>{let n=e.subHooks.map(t);if(n.length===1){let t=n[0];if(e.name===`Context`&&t.id===null)return{...t,hookSource:e.hookSource};if(e.name===`FormStatus`&&t.name===`HostTransitionStatus`)return{...e,subHooks:[],value:t.value};if(e.name===`Use`){if(t.name===`Context`)return{...t,hookSource:e.hookSource};if(t.name===`Promise`||t.name===`Unresolved`)return{...e,debugInfo:t.debugInfo,subHooks:[],value:t.value}}if(e.id===null&&e.value===void 0&&(e.name===t.name||e.name===`<anonymous>`))return{...t,hookSource:e.hookSource}}return{...e,subHooks:n}};return e.map(t)},Kn=(e,t,n=globalThis)=>{let r=Un(void 0,n);Cn(),V=null,B=null,H=null,W=null,U=0;let i=Bn();try{return Gn(Hn(r,e,t))}finally{V=null,B=null,H=null,W=null,U=0,Vn(i)}},qn=e=>{let t=Un(e),n=a(e);if(e.tag!==n.FunctionComponent&&e.tag!==n.SimpleMemoComponent&&e.tag!==n.ForwardRef)throw new r(`Hook inspection requires a function component Fiber.`);Cn(),V=e.memoizedState,B=e;let i=e.dependencies?._debugThenableState,o=Array.isArray(i)?i:i?.thenables;W=Array.isArray(o)?o:null,U=0,Wn(e);let s=e.type,c=e.memoizedProps;s!==e.elementType&&(c=zn(s,c));let l=Bn(),u=new Map;try{if(H!==null&&!Object.hasOwn(H,`memoizedValue`)&&In(u,e),e.tag===n.ForwardRef){if(!Qt(s))throw new r(`ForwardRef fiber is missing its render function.`);let n=Gn(Hn(t,s.render,c,e.ref));for(let e of n)e.hookSource?.functionName===`Object.render`&&(e.hookSource.functionName=null);return n}if(typeof s!=`function`)throw new r(`Function component fiber is missing its component function.`);return Gn(Hn(t,s,c))}finally{B=null,V=null,H=null,W=null,U=0,Ln(u),Vn(l)}},Jn=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),Yn=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:(?:[\w$]+|require\s*\([^)]*\))\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,Xn=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Zn=e=>{let t=[],n=e=>{for(let r of e)Jn.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},Qn=e=>{let t=e.trim();if(t.startsWith(`[`)){let e=t.match(/\[\s*(\w+)/);return e?e[1]:null}return/^\w+$/.test(t)?t:null},$n=(e,t,n)=>{let r=e.split(`
22
22
  `),i=t-1;if(i<0||i>=r.length)return null;let a=Math.max(0,i-10),o=r.slice(a,i+1).join(`
23
- `),s=[...o.matchAll(Bn)],c=o.lastIndexOf(`
24
- `)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?Un(l[1]):null},Gn=async(e,t,n,r)=>{let{sourceContentCache:i,fetchFn:a}=r,o=await O(e,!0,a);if(o){let e=S(o,t,n);if(e?.fileName&&e.lineNumber!==void 0){let t=C(o,e.fileName);if(t)return{sourceCode:t,lineNumber:e.lineNumber,columnNumber:e.columnNumber??0}}}if(!i.has(e))try{let t=await(a??fetch)(e);i.set(e,t.ok?await t.text():null)}catch{i.set(e,null)}let s=i.get(e)??null;return s?{sourceCode:s,lineNumber:t,columnNumber:n}:null},Kn=async(e,t)=>{let n=new Map,r=Hn(e);if(r.length===0)return n;let i={sourceContentCache:new Map,fetchFn:t};return await Promise.all(r.map(async e=>{let t=e.hookSource;if(!t||!t.fileName||t.lineNumber===null||t.columnNumber===null)return;let r=await Gn(t.fileName,t.lineNumber,t.columnNumber,i);if(!r)return;let a=Wn(r.sourceCode,r.lineNumber,r.columnNumber);if(a){let e=Vn(t);n.set(e,a)}})),n};export{a as BippyError,n as BippyHookInspectionError,u as BippyHookRenderError,o as BippySourceMapError,r as BippyUnsupportedHookError,yt as formatOwnerStack,Ht as getDisplayNameFromSource,Rn as getFiberHooks,At as getOwnerStack,I as getParentStack,Pt as getSource,C as getSourceContentFromSourceMap,S as getSourceFromSourceMap,ze as getSourceFromSourceMapByFunctionName,O as getSourceMap,A as hasDebugStack,Rt as isSourceFile,Lt as normalizeFileName,Kn as parseHookNames,g as parseStack,k as symbolicateStack};
23
+ `),s=[...o.matchAll(Yn)],c=o.lastIndexOf(`
24
+ `)+1,l=c+n,u=s.filter(e=>e.index<=l).at(-1)??(n===0?s.find(e=>e.index>=c):void 0);return u?Qn(u[1]):null},er=async(e,t,n,r)=>{let{sourceContentCache:i,fetchFn:a,requestOptions:o}=r,s=await O(e,!0,a,o);if(s){let e=S(s,t,n);if(e?.fileName&&e.lineNumber!==void 0){let t=C(s,e.fileName);if(t)return{sourceCode:t,lineNumber:e.lineNumber,columnNumber:e.columnNumber??0}}}if(!i.has(e))try{let t=await(a??fetch)(e);i.set(e,t.ok?await t.text():null)}catch{i.set(e,null)}let c=i.get(e)??null;return c?{sourceCode:c,lineNumber:t,columnNumber:n}:null},tr=async(e,t,n)=>{let r=new Map,i=Zn(e);if(i.length===0)return r;let a={sourceContentCache:new Map,fetchFn:t,requestOptions:n};return await Promise.all(i.map(async e=>{let t=e.hookSource;if(!t||!t.fileName||t.lineNumber===null||t.columnNumber===null)return;let n=await er(t.fileName,t.lineNumber,t.columnNumber,a);if(!n)return;let i=$n(n.sourceCode,n.lineNumber,n.columnNumber);if(i){let e=Xn(t);r.set(e,i)}})),r};export{o as BippyError,r as BippyHookInspectionError,f as BippyHookRenderError,s as BippySourceMapError,i as BippyUnsupportedHookError,St as formatOwnerStack,j as getDefinitionFrameFromOwnedChild,Kt as getDisplayNameFromSource,xt as getFallbackParentStack,qn as getFiberHooks,Nt as getOwnerStack,I as getParentStack,kt as getRawOwnerStack,It as getRawSource,Rt as getSource,C as getSourceContentFromSourceMap,S as getSourceFromSourceMap,Ve as getSourceFromSourceMapByFunctionName,O as getSourceMap,A as hasDebugStack,Kn as inspectHooks,Ht as isSourceFile,Vt as normalizeFileName,tr as parseHookNames,_ as parseStack,k as symbolicateStack};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bippy",
3
- "version": "0.7.2-dev.b756bd6",
3
+ "version": "0.7.2-dev.e113600",
4
4
  "description": "hack into react internals",
5
5
  "keywords": [
6
6
  "bippy",
@@ -118,7 +118,7 @@
118
118
  "zod": "^4.4.3"
119
119
  },
120
120
  "peerDependencies": {
121
- "react": ">=17.0.1"
121
+ "react": ">=16.0.0"
122
122
  },
123
123
  "scripts": {
124
124
  "build": "NODE_ENV=production vp pack && tsx scripts/check-react-entry.ts",
package/src/core.ts CHANGED
@@ -10,19 +10,19 @@ import type {
10
10
  } from "./react-internals/index.js";
11
11
 
12
12
  import {
13
- _onActiveListeners,
14
13
  BIPPY_INSTRUMENTATION_STRING,
15
14
  createUnsubscribe,
16
15
  getRDTHook,
17
16
  hasRDTHook,
17
+ isFiberRootUnmounted,
18
18
  isReactRefresh,
19
19
  isRealReactDevtools,
20
20
  onRDTHookReplace,
21
+ removeActiveListener,
21
22
  } from "./rdt-hook.js";
22
- import type { Unsubscribe } from "./rdt-hook.js";
23
+ import type { ReactDevToolsTarget, Unsubscribe } from "./rdt-hook.js";
23
24
  import {
24
25
  getReactWorkTagsForFiber,
25
- MutationMask,
26
26
  ReactBuildType,
27
27
  ReactFiberFlags,
28
28
  ReactSymbols,
@@ -152,16 +152,6 @@ export const didFiberRender = (fiber: Fiber): boolean => {
152
152
  }
153
153
  };
154
154
 
155
- /**
156
- * Returns `true` if the {@link Fiber} has committed. Note that this does not mean the fiber has committed in the current commit, just that it has committed in the past.
157
- */
158
- export const didFiberCommit = (fiber: Fiber): boolean => {
159
- return Boolean(
160
- (fiber.flags & (MutationMask | ReactFiberFlags.Cloned)) !== 0 ||
161
- (fiber.subtreeFlags & (MutationMask | ReactFiberFlags.Cloned)) !== 0,
162
- );
163
- };
164
-
165
155
  /**
166
156
  * Returns `true` if the {@link Fiber} should be filtered out during reconciliation.
167
157
  */
@@ -322,8 +312,8 @@ export const detectReactBuildType = (renderer: ReactRenderer): "development" | "
322
312
  /**
323
313
  * Returns `true` if bippy's instrumentation is active.
324
314
  */
325
- export const isInstrumentationActive = (): boolean => {
326
- const rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
315
+ export const isInstrumentationActive = (target: ReactDevToolsTarget = globalThis): boolean => {
316
+ const rdtHook = target.__REACT_DEVTOOLS_GLOBAL_HOOK__;
327
317
  return (
328
318
  Boolean(rdtHook?._instrumentationIsActive) ||
329
319
  isRealReactDevtools(rdtHook) ||
@@ -333,6 +323,7 @@ export const isInstrumentationActive = (): boolean => {
333
323
 
334
324
  export const _fiberRoots = new Set<FiberRoot>();
335
325
  const rootRendererIds = new WeakMap<FiberRoot, number>();
326
+ const rootHooks = new WeakMap<FiberRoot, ReactDevToolsGlobalHook>();
336
327
 
337
328
  /**
338
329
  * Returns the latest fiber (since it may be double-buffered).
@@ -367,29 +358,61 @@ export const getLatestFiber = (fiber: Fiber): Fiber => {
367
358
  /**
368
359
  * Returns the renderer that owns the {@link Fiber}.
369
360
  */
370
- export const getRenderer = (fiber: Fiber): ReactRenderer | null => {
371
- if (!hasRDTHook()) return null;
372
-
361
+ export const getRenderer = (
362
+ fiber: Fiber,
363
+ target: ReactDevToolsTarget = globalThis,
364
+ ): ReactRenderer | null => {
373
365
  let rootFiber = fiber;
374
- while (rootFiber.return) {
375
- rootFiber = rootFiber.return;
376
- }
377
-
366
+ while (rootFiber.return) rootFiber = rootFiber.return;
378
367
  const fiberRoot = rootFiber.stateNode;
379
368
  if (!isFiberRoot(fiberRoot)) return null;
380
369
 
381
- const rendererID = rootRendererIds.get(fiberRoot);
382
- if (rendererID === undefined) return null;
383
- return getRDTHook().renderers.get(rendererID) ?? null;
370
+ const trackedRendererId = rootRendererIds.get(fiberRoot);
371
+ const trackedHook = rootHooks.get(fiberRoot);
372
+ if (trackedRendererId !== undefined && trackedHook) {
373
+ return trackedHook.renderers.get(trackedRendererId) ?? null;
374
+ }
375
+
376
+ const rdtHook = target.__REACT_DEVTOOLS_GLOBAL_HOOK__;
377
+ if (!rdtHook?.getFiberRoots) return null;
378
+ for (const [rendererId, renderer] of rdtHook.renderers) {
379
+ if (!rdtHook.getFiberRoots(rendererId).has(fiberRoot)) continue;
380
+ _fiberRoots.add(fiberRoot);
381
+ rootRendererIds.set(fiberRoot, rendererId);
382
+ rootHooks.set(fiberRoot, rdtHook);
383
+ setReactWorkTagsForFiber(fiberRoot.current, renderer);
384
+ return renderer;
385
+ }
386
+ return null;
384
387
  };
385
388
 
386
389
  export type RenderPhase = "mount" | "unmount" | "update";
387
390
 
391
+ interface FiberReference {
392
+ deref: () => Fiber | undefined;
393
+ }
394
+
388
395
  let nextFiberId = 0;
389
396
  const fiberIdMap = new WeakMap<Fiber, number>();
397
+ const fiberByIdMap = new Map<number, FiberReference>();
398
+ const fiberIdFinalizationRegistry =
399
+ typeof FinalizationRegistry === "function"
400
+ ? new FinalizationRegistry<number>((fiberId) => {
401
+ if (!fiberByIdMap.get(fiberId)?.deref()) fiberByIdMap.delete(fiberId);
402
+ })
403
+ : null;
404
+
405
+ const createFiberReference = (fiber: Fiber): FiberReference =>
406
+ typeof WeakRef === "function" ? new WeakRef(fiber) : { deref: () => fiber };
390
407
 
391
408
  export const setFiberId = (fiber: Fiber, fiberId: number = nextFiberId++): void => {
409
+ const previousFiberId = fiberIdMap.get(fiber);
410
+ if (previousFiberId !== undefined && previousFiberId !== fiberId) {
411
+ fiberByIdMap.delete(previousFiberId);
412
+ }
392
413
  fiberIdMap.set(fiber, fiberId);
414
+ fiberByIdMap.set(fiberId, createFiberReference(fiber));
415
+ fiberIdFinalizationRegistry?.register(fiber, fiberId);
393
416
  if (Number.isSafeInteger(fiberId) && fiberId >= nextFiberId) {
394
417
  nextFiberId = fiberId + 1;
395
418
  }
@@ -399,6 +422,7 @@ export const getFiberId = (fiber: Fiber): number => {
399
422
  let currentFiberId = fiberIdMap.get(fiber);
400
423
  if (currentFiberId === undefined && fiber.alternate) {
401
424
  currentFiberId = fiberIdMap.get(fiber.alternate);
425
+ if (currentFiberId !== undefined) setFiberId(fiber, currentFiberId);
402
426
  }
403
427
  if (currentFiberId === undefined) {
404
428
  currentFiberId = nextFiberId++;
@@ -407,6 +431,33 @@ export const getFiberId = (fiber: Fiber): number => {
407
431
  return currentFiberId;
408
432
  };
409
433
 
434
+ export const getFiberById = (fiberId: number): Fiber | null => {
435
+ const fiber = fiberByIdMap.get(fiberId)?.deref();
436
+ if (!fiber) {
437
+ fiberByIdMap.delete(fiberId);
438
+ return null;
439
+ }
440
+ return getLatestFiber(fiber);
441
+ };
442
+
443
+ const releaseFiberId = (fiber: Fiber): void => {
444
+ const relatedFibers = fiber.alternate ? [fiber, fiber.alternate] : [fiber];
445
+ const fiberIds = new Set<number>();
446
+
447
+ for (const relatedFiber of relatedFibers) {
448
+ const fiberId = fiberIdMap.get(relatedFiber);
449
+ if (fiberId !== undefined) fiberIds.add(fiberId);
450
+ fiberIdMap.delete(relatedFiber);
451
+ }
452
+
453
+ for (const fiberId of fiberIds) {
454
+ const assignedFiber = fiberByIdMap.get(fiberId)?.deref();
455
+ if (!assignedFiber || relatedFibers.includes(assignedFiber)) {
456
+ fiberByIdMap.delete(fiberId);
457
+ }
458
+ }
459
+ };
460
+
410
461
  const mountFiberRecursively = (
411
462
  onRender: RenderHandler,
412
463
  firstChild: Fiber,
@@ -632,6 +683,7 @@ export const traverseRenderedFibers = (root: Fiber | FiberRoot, onRender: Render
632
683
 
633
684
  export interface InstrumentationOptions {
634
685
  name?: string;
686
+ target?: ReactDevToolsTarget;
635
687
  onActive?: () => unknown;
636
688
  onCommitFiberRoot?: (
637
689
  rendererID: number,
@@ -646,6 +698,7 @@ export interface InstrumentationOptions {
646
698
 
647
699
  interface InstrumentationSubscription {
648
700
  options: InstrumentationOptions;
701
+ target: ReactDevToolsTarget;
649
702
  }
650
703
 
651
704
  const instrumentationSubscriptions = new Set<InstrumentationSubscription>();
@@ -658,6 +711,7 @@ interface HookDispatchers {
658
711
  }
659
712
 
660
713
  const hookDispatchers = new WeakMap<ReactDevToolsGlobalHook, Partial<HookDispatchers>>();
714
+ const hookTargets = new WeakMap<ReactDevToolsGlobalHook, ReactDevToolsTarget>();
661
715
  let didSubscribeToHookReplacements = false;
662
716
 
663
717
  // each hook event is dispatched from a single re-installable wrapper. If
@@ -687,20 +741,17 @@ const setHookEventDispatchers = (rdtHook: ReactDevToolsGlobalHook): void => {
687
741
  setReactWorkTagsForFiber(root.current, rdtHook.renderers.get(rendererID));
688
742
  // Custom renderers and test harnesses commit roots without a memoizedState;
689
743
  // those must stay tracked, so only explicit unmount evidence removes a root.
690
- const rootMemoizedState = root.current.memoizedState;
691
- const isUnmounting =
692
- rootMemoizedState === null ||
693
- (rootMemoizedState !== undefined &&
694
- (rootMemoizedState.element === null || rootMemoizedState.element === undefined));
695
- if (isUnmounting) {
744
+ if (isFiberRootUnmounted(root)) {
696
745
  _fiberRoots.delete(root);
697
746
  rootRendererIds.delete(root);
747
+ rootHooks.delete(root);
698
748
  } else {
699
749
  _fiberRoots.add(root);
700
750
  rootRendererIds.set(root, rendererID);
751
+ rootHooks.set(root, rdtHook);
701
752
  }
702
- for (const { options } of instrumentationSubscriptions) {
703
- if (options.onCommitFiberRoot) {
753
+ for (const { options, target } of instrumentationSubscriptions) {
754
+ if (target === hookTargets.get(rdtHook) && options.onCommitFiberRoot) {
704
755
  options.onCommitFiberRoot(rendererID, root, priority, didError);
705
756
  }
706
757
  }
@@ -725,10 +776,14 @@ const setHookEventDispatchers = (rdtHook: ReactDevToolsGlobalHook): void => {
725
776
  if (hookDispatchers.get(rdtHook)?.onCommitFiberUnmount !== dispatchCommitFiberUnmount) {
726
777
  return;
727
778
  }
728
- for (const { options } of instrumentationSubscriptions) {
729
- if (options.onCommitFiberUnmount) {
730
- options.onCommitFiberUnmount(rendererID, fiber);
779
+ try {
780
+ for (const { options, target } of instrumentationSubscriptions) {
781
+ if (target === hookTargets.get(rdtHook) && options.onCommitFiberUnmount) {
782
+ options.onCommitFiberUnmount(rendererID, fiber);
783
+ }
731
784
  }
785
+ } finally {
786
+ releaseFiberId(fiber);
732
787
  }
733
788
  };
734
789
  dispatchers.onCommitFiberUnmount = dispatchCommitFiberUnmount;
@@ -750,8 +805,8 @@ const setHookEventDispatchers = (rdtHook: ReactDevToolsGlobalHook): void => {
750
805
  if (hookDispatchers.get(rdtHook)?.onPostCommitFiberRoot !== dispatchPostCommitFiberRoot) {
751
806
  return;
752
807
  }
753
- for (const { options } of instrumentationSubscriptions) {
754
- if (options.onPostCommitFiberRoot) {
808
+ for (const { options, target } of instrumentationSubscriptions) {
809
+ if (target === hookTargets.get(rdtHook) && options.onPostCommitFiberRoot) {
755
810
  options.onPostCommitFiberRoot(rendererID, root);
756
811
  }
757
812
  }
@@ -774,8 +829,8 @@ const setHookEventDispatchers = (rdtHook: ReactDevToolsGlobalHook): void => {
774
829
  prevOnScheduleFiberRoot.call(rdtHook, rendererID, root, children);
775
830
  }
776
831
  if (hookDispatchers.get(rdtHook)?.onScheduleFiberRoot !== dispatchScheduleFiberRoot) return;
777
- for (const { options } of instrumentationSubscriptions) {
778
- if (options.onScheduleFiberRoot) {
832
+ for (const { options, target } of instrumentationSubscriptions) {
833
+ if (target === hookTargets.get(rdtHook) && options.onScheduleFiberRoot) {
779
834
  options.onScheduleFiberRoot(rendererID, root, children);
780
835
  }
781
836
  }
@@ -785,11 +840,23 @@ const setHookEventDispatchers = (rdtHook: ReactDevToolsGlobalHook): void => {
785
840
  }
786
841
  };
787
842
 
788
- const wireHookEventDispatchers = (rdtHook: ReactDevToolsGlobalHook): void => {
843
+ const handleHookReplacement = (
844
+ rdtHook: ReactDevToolsGlobalHook,
845
+ target: ReactDevToolsTarget,
846
+ ): void => {
847
+ hookTargets.set(rdtHook, target);
848
+ setHookEventDispatchers(rdtHook);
849
+ };
850
+
851
+ const wireHookEventDispatchers = (
852
+ rdtHook: ReactDevToolsGlobalHook,
853
+ target: ReactDevToolsTarget = globalThis,
854
+ ): void => {
789
855
  if (!didSubscribeToHookReplacements) {
790
- onRDTHookReplace(setHookEventDispatchers);
856
+ onRDTHookReplace(handleHookReplacement);
791
857
  didSubscribeToHookReplacements = true;
792
858
  }
859
+ hookTargets.set(rdtHook, target);
793
860
  setHookEventDispatchers(rdtHook);
794
861
  };
795
862
 
@@ -819,15 +886,16 @@ try {
819
886
  * unsubscribe();
820
887
  */
821
888
  export const instrument = (options: InstrumentationOptions): Unsubscribe => {
822
- const rdtHook = getRDTHook(options.onActive);
889
+ const target = options.target ?? globalThis;
890
+ const rdtHook = getRDTHook(options.onActive, target);
823
891
  rdtHook._instrumentationSource = options.name ?? BIPPY_INSTRUMENTATION_STRING;
824
892
 
825
- wireHookEventDispatchers(rdtHook);
826
- const subscription: InstrumentationSubscription = { options };
893
+ wireHookEventDispatchers(rdtHook, target);
894
+ const subscription: InstrumentationSubscription = { options, target };
827
895
  instrumentationSubscriptions.add(subscription);
828
896
 
829
897
  return createUnsubscribe(() => {
830
- if (options.onActive) _onActiveListeners.delete(options.onActive);
898
+ if (options.onActive) removeActiveListener(options.onActive, target);
831
899
  instrumentationSubscriptions.delete(subscription);
832
900
  });
833
901
  };
@@ -871,9 +939,12 @@ const getPublicHostInstance = (stateNode: unknown): unknown => {
871
939
  return typeof nativeTag === "number" ? nativeTag : stateNode;
872
940
  };
873
941
 
874
- export const getFiber = <T>(hostInstance: T): Fiber | null => {
875
- const rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
876
- if (rdtHook?.renderers) {
942
+ export const getFiber = <HostInstance>(
943
+ hostInstance: HostInstance,
944
+ target: ReactDevToolsTarget = globalThis,
945
+ ): Fiber | null => {
946
+ const rdtHook = target.__REACT_DEVTOOLS_GLOBAL_HOOK__;
947
+ if (rdtHook) {
877
948
  for (const renderer of rdtHook.renderers.values()) {
878
949
  try {
879
950
  const fiber = renderer.findFiberByHostInstance?.(hostInstance);
@@ -908,7 +979,18 @@ export const getFiber = <T>(hostInstance: T): Fiber | null => {
908
979
  hostInstance !== undefined &&
909
980
  (typeof hostInstance === "object" || typeof hostInstance === "number")
910
981
  ) {
982
+ const targetFiberRoots = new Set<FiberRoot>();
983
+ if (rdtHook?.getFiberRoots) {
984
+ for (const rendererId of rdtHook.renderers.keys()) {
985
+ for (const fiberRoot of rdtHook.getFiberRoots(rendererId)) {
986
+ targetFiberRoots.add(fiberRoot);
987
+ }
988
+ }
989
+ }
911
990
  for (const fiberRoot of _fiberRoots) {
991
+ if (rootHooks.get(fiberRoot) === rdtHook) targetFiberRoots.add(fiberRoot);
992
+ }
993
+ for (const fiberRoot of targetFiberRoots) {
912
994
  const fiber = traverseFiber(
913
995
  fiberRoot.current,
914
996
  (candidateFiber) =>
@@ -925,16 +1007,16 @@ export const getFiberFromHostInstance = getFiber;
925
1007
 
926
1008
  export {
927
1009
  BIPPY_INSTRUMENTATION_STRING,
928
- _onActiveListeners,
929
1010
  _renderers,
930
1011
  getRDTHook,
931
1012
  hasRDTHook,
932
1013
  installRDTHook,
1014
+ isFiberRootUnmounted,
933
1015
  isReactRefresh,
934
1016
  isRealReactDevtools,
935
1017
  onRendererInject,
936
1018
  patchRDTHook,
937
1019
  version,
938
1020
  } from "./rdt-hook.js";
939
- export type { Unsubscribe } from "./rdt-hook.js";
1021
+ export type { ReactDevToolsTarget, Unsubscribe } from "./rdt-hook.js";
940
1022
  export * from "./react-internals/index.js";