@the_library/public 2.0.0 → 2.0.1
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/{Book-K86JRm42.d.ts → Book-CYyj_y_4.d.ts} +22 -1
- package/dist/{bookSearchService-BmFHrvsv.d.ts → bookSearchService-YQskauJS.d.ts} +1 -1
- package/dist/downloader/dl2-sw.js +1 -1
- package/dist/downloader/index.d.ts +13 -1
- package/dist/downloader/index.js +1 -1
- package/dist/downloader/index.js.map +1 -1
- package/dist/global/public.global.js +17 -17
- package/dist/models/index.d.ts +3 -4
- package/dist/models/models.d.ts +2 -3
- package/dist/models/vue.d.ts +2 -3
- package/package.json +15 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var TheLibraryPublic=(()=>{var lA=Object.create;var Nd=Object.defineProperty;var pA=Object.getOwnPropertyDescriptor;var fA=Object.getOwnPropertyNames;var mA=Object.getPrototypeOf,gA=Object.prototype.hasOwnProperty;var C=(t,e)=>()=>(t&&(e=t(t=0)),e);var yA=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vt=(t,e)=>{for(var r in e)Nd(t,r,{get:e[r],enumerable:!0})},ix=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of fA(e))!gA.call(t,o)&&o!==r&&Nd(t,o,{get:()=>e[o],enumerable:!(n=pA(e,o))||n.enumerable});return t};var wo=(t,e,r)=>(r=t!=null?lA(mA(t)):{},ix(e||!t||!t.__esModule?Nd(r,"default",{value:t,enumerable:!0}):r,t)),hA=t=>ix(Nd({},"__esModule",{value:!0}),t);var Un=yA((
|
|
2
|
-
`);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),r.cause&&(this.cause=r.cause),this.details=n,this.docsPath=o,this.metaMessages=r.metaMessages,this.shortMessage=e}}});function Qt(t,e){return t.exec(e)?.groups}var Jy,Yy,Ll,pu=C(()=>{"use strict";Jy=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Yy=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Ll=/^\(.+?\).*?$/});function kl(t){let e=t.type;if(Vw.test(t.type)&&"components"in t){e="(";let r=t.components.length;for(let o=0;o<r;o++){let i=t.components[o];e+=kl(i),o<r-1&&(e+=", ")}let n=Qt(Vw,t.type);return e+=`)${n?.array||""}`,kl({...t,type:e})}return"indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}var Vw,qw=C(()=>{"use strict";pu();Vw=/^tuple(?<array>(\[(\d*)\])*)$/});function _n(t){let e="",r=t.length;for(let n=0;n<r;n++){let o=t[n];e+=kl(o),n!==r-1&&(e+=", ")}return e}var Xy=C(()=>{"use strict";qw()});function Si(t){return t.type==="function"?`function ${t.name}(${_n(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${t.outputs?.length?` returns (${_n(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${_n(t.inputs)})`:t.type==="error"?`error ${t.name}(${_n(t.inputs)})`:t.type==="constructor"?`constructor(${_n(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var Kw=C(()=>{"use strict";Xy()});function Zw(t){return Qw.test(t)}function Jw(t){return Qt(Qw,t)}function Xw(t){return Yw.test(t)}function e6(t){return Qt(Yw,t)}function r6(t){return t6.test(t)}function n6(t){return Qt(t6,t)}function Po(t){return o6.test(t)}function i6(t){return Qt(o6,t)}function a6(t){return s6.test(t)}function c6(t){return Qt(s6,t)}function d6(t){return u6.test(t)}function l6(t){return Qt(u6,t)}function p6(t){return WE.test(t)}var Qw,Yw,t6,o6,s6,u6,WE,eh,f6,Ml,ca=C(()=>{"use strict";pu();Qw=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;Yw=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;t6=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;o6=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;s6=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;u6=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;WE=/^receive\(\) external payable$/;eh=new Set(["memory","indexed","storage","calldata"]),f6=new Set(["indexed"]),Ml=new Set(["calldata","memory","storage"])});var Dl,Ol,Fl,jl=C(()=>{"use strict";aa();Dl=class extends Oe{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},Ol=class extends Oe{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},Fl=class extends Oe{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var Ul,_l,zl,$l,Hl,Wl,Gl=C(()=>{"use strict";aa();Ul=class extends Oe{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},_l=class extends Oe{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},zl=class extends Oe{constructor({param:e,name:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},$l=class extends Oe{constructor({param:e,type:r,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},Hl=class extends Oe{constructor({param:e,type:r,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${n}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},Wl=class extends Oe{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var Xr,Vl,ql,th=C(()=>{"use strict";aa();Xr=class extends Oe{constructor({signature:e,type:r}){super(`Invalid ${r} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},Vl=class extends Oe{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},ql=class extends Oe{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var Kl,m6=C(()=>{"use strict";aa();Kl=class extends Oe{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var Ql,g6=C(()=>{"use strict";aa();Ql=class extends Oe{constructor({current:e,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function y6(t,e,r){let n="";if(r)for(let o of Object.entries(r)){if(!o)continue;let i="";for(let s of o[1])i+=`[${s.type}${s.name?`:${s.name}`:""}]`;n+=`(${o[0]}{${i}})`}return e?`${e}:${t}${n}`:`${t}${n}`}var Zl,h6=C(()=>{"use strict";Zl=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]])});function fu(t,e={}){if(r6(t))return GE(t,e);if(Xw(t))return VE(t,e);if(Zw(t))return qE(t,e);if(a6(t))return KE(t,e);if(d6(t))return QE(t);if(p6(t))return{type:"receive",stateMutability:"payable"};throw new Vl({signature:t})}function GE(t,e={}){let r=n6(t);if(!r)throw new Xr({signature:t,type:"function"});let n=Ot(r.parameters),o=[],i=n.length;for(let a=0;a<i;a++)o.push(kr(n[a],{modifiers:Ml,structs:e,type:"function"}));let s=[];if(r.returns){let a=Ot(r.returns),c=a.length;for(let u=0;u<c;u++)s.push(kr(a[u],{modifiers:Ml,structs:e,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:o,outputs:s}}function VE(t,e={}){let r=e6(t);if(!r)throw new Xr({signature:t,type:"event"});let n=Ot(r.parameters),o=[],i=n.length;for(let s=0;s<i;s++)o.push(kr(n[s],{modifiers:f6,structs:e,type:"event"}));return{name:r.name,type:"event",inputs:o}}function qE(t,e={}){let r=Jw(t);if(!r)throw new Xr({signature:t,type:"error"});let n=Ot(r.parameters),o=[],i=n.length;for(let s=0;s<i;s++)o.push(kr(n[s],{structs:e,type:"error"}));return{name:r.name,type:"error",inputs:o}}function KE(t,e={}){let r=c6(t);if(!r)throw new Xr({signature:t,type:"constructor"});let n=Ot(r.parameters),o=[],i=n.length;for(let s=0;s<i;s++)o.push(kr(n[s],{structs:e,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:o}}function QE(t){let e=l6(t);if(!e)throw new Xr({signature:t,type:"fallback"});return{type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}function kr(t,e){let r=y6(t,e?.type,e?.structs);if(Zl.has(r))return Zl.get(r);let n=Ll.test(t),o=Qt(n?JE:ZE,t);if(!o)throw new _l({param:t});if(o.name&&eT(o.name))throw new zl({param:t,name:o.name});let i=o.name?{name:o.name}:{},s=o.modifier==="indexed"?{indexed:!0}:{},a=e?.structs??{},c,u={};if(n){c="tuple";let l=Ot(o.type),p=[],f=l.length;for(let g=0;g<f;g++)p.push(kr(l[g],{structs:a}));u={components:p}}else if(o.type in a)c="tuple",u={components:a[o.type]};else if(YE.test(o.type))c=`${o.type}256`;else if(o.type==="address payable")c="address";else if(c=o.type,e?.type!=="struct"&&!rh(c))throw new Fl({type:c});if(o.modifier){if(!e?.modifiers?.has?.(o.modifier))throw new $l({param:t,type:e?.type,modifier:o.modifier});if(Ml.has(o.modifier)&&!tT(c,!!o.array))throw new Hl({param:t,type:e?.type,modifier:o.modifier})}let d={type:`${c}${o.array??""}`,...i,...s,...u};return Zl.set(r,d),d}function Ot(t,e=[],r="",n=0){let o=t.trim().length;for(let i=0;i<o;i++){let s=t[i],a=t.slice(i+1);switch(s){case",":return n===0?Ot(a,[...e,r.trim()]):Ot(a,e,`${r}${s}`,n);case"(":return Ot(a,e,`${r}${s}`,n+1);case")":return Ot(a,e,`${r}${s}`,n-1);default:return Ot(a,e,`${r}${s}`,n)}}if(r==="")return e;if(n!==0)throw new Ql({current:r,depth:n});return e.push(r.trim()),e}function rh(t){return t==="address"||t==="bool"||t==="function"||t==="string"||Jy.test(t)||Yy.test(t)}function eT(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||Jy.test(t)||Yy.test(t)||XE.test(t)}function tT(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}var ZE,JE,YE,XE,ua=C(()=>{"use strict";pu();jl();Gl();th();g6();h6();ca();ZE=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,JE=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,YE=/^u?int$/;XE=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/});function da(t){let e={},r=t.length;for(let s=0;s<r;s++){let a=t[s];if(!Po(a))continue;let c=i6(a);if(!c)throw new Xr({signature:a,type:"struct"});let u=c.properties.split(";"),d=[],l=u.length;for(let p=0;p<l;p++){let g=u[p].trim();if(!g)continue;let m=kr(g,{type:"struct"});d.push(m)}if(!d.length)throw new ql({signature:a});e[c.name]=d}let n={},o=Object.entries(e),i=o.length;for(let s=0;s<i;s++){let[a,c]=o[s];n[a]=b6(c,e)}return n}function b6(t=[],e={},r=new Set){let n=[],o=t.length;for(let i=0;i<o;i++){let s=t[i];if(Ll.test(s.type))n.push(s);else{let c=Qt(rT,s.type);if(!c?.type)throw new Wl({abiParameter:s});let{array:u,type:d}=c;if(d in e){if(r.has(d))throw new Kl({type:d});n.push({...s,type:`tuple${u??""}`,components:b6(e[d],e,new Set([...r,d]))})}else if(rh(d))n.push(s);else throw new Ol({type:d})}}return n}var rT,Jl=C(()=>{"use strict";pu();jl();Gl();th();m6();ca();ua();rT=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function Yl(t){let e=da(t),r=[],n=t.length;for(let o=0;o<n;o++){let i=t[o];Po(i)||r.push(fu(i,e))}return r}var x6=C(()=>{"use strict";ca();Jl();ua()});function Xl(t){let e;if(typeof t=="string")e=fu(t);else{let r=da(t),n=t.length;for(let o=0;o<n;o++){let i=t[o];if(!Po(i)){e=fu(i,r);break}}}if(!e)throw new Dl({signature:t});return e}var w6=C(()=>{"use strict";jl();ca();Jl();ua()});function ep(t){let e=[];if(typeof t=="string"){let r=Ot(t),n=r.length;for(let o=0;o<n;o++)e.push(kr(r[o],{modifiers:eh}))}else{let r=da(t),n=t.length;for(let o=0;o<n;o++){let i=t[o];if(Po(i))continue;let s=Ot(i),a=s.length;for(let c=0;c<a;c++)e.push(kr(s[c],{modifiers:eh,structs:r}))}}if(e.length===0)throw new Ul({params:t});return e}var I6=C(()=>{"use strict";Gl();ca();Jl();ua();ua()});var mu=C(()=>{"use strict";Kw();Xy();x6();w6();I6()});function Ge(t,{includeName:e=!1}={}){if(t.type!=="function"&&t.type!=="event"&&t.type!=="error")throw new tp(t.type);return`${t.name}(${gu(t.inputs,{includeName:e})})`}function gu(t,{includeName:e=!1}={}){return t?t.map(r=>nT(r,{includeName:e})).join(e?", ":","):""}function nT(t,{includeName:e}){return t.type.startsWith("tuple")?`(${gu(t.components,{includeName:e})})${t.type.slice(5)}`:t.type+(e&&t.name?` ${t.name}`:"")}var zn=C(()=>{"use strict";Me()});function he(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}var Zt=C(()=>{"use strict"});function te(t){return he(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}var Jt=C(()=>{"use strict";Zt()});var nh,v6=C(()=>{"use strict";nh="2.48.11"});function A6(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?A6(t.cause,e):e?null:t}var oh,v,K=C(()=>{"use strict";v6();oh={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:r})=>e?`${t??"https://viem.sh"}${e}${r?`#${r}`:""}`:void 0,version:`viem@${nh}`},v=class t extends Error{constructor(e,r={}){let n=r.cause instanceof t?r.cause.details:r.cause?.message?r.cause.message:r.details,o=r.cause instanceof t&&r.cause.docsPath||r.docsPath,i=oh.getDocsUrl?.({...r,docsPath:o}),s=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...n?[`Details: ${n}`]:[],...oh.version?[`Version: ${oh.version}`]:[]].join(`
|
|
3
|
-
`);super(s,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=o,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=e,this.version=nh}walk(e){return A6(this,e)}}});var rp,yu,la,fr,np,op,pa,ip,hu,fa,sp,ap,bu,
|
|
1
|
+
"use strict";var TheLibraryPublic=(()=>{var lA=Object.create;var Nd=Object.defineProperty;var pA=Object.getOwnPropertyDescriptor;var fA=Object.getOwnPropertyNames;var mA=Object.getPrototypeOf,gA=Object.prototype.hasOwnProperty;var C=(t,e)=>()=>(t&&(e=t(t=0)),e);var yA=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vt=(t,e)=>{for(var r in e)Nd(t,r,{get:e[r],enumerable:!0})},ix=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of fA(e))!gA.call(t,o)&&o!==r&&Nd(t,o,{get:()=>e[o],enumerable:!(n=pA(e,o))||n.enumerable});return t};var wo=(t,e,r)=>(r=t!=null?lA(mA(t)):{},ix(e||!t||!t.__esModule?Nd(r,"default",{value:t,enumerable:!0}):r,t)),hA=t=>ix(Nd({},"__esModule",{value:!0}),t);var Un=yA((fD,Pw)=>{"use strict";Pw.exports=window.Vue});var Ww,Gw=C(()=>{"use strict";Ww="1.2.3"});var Oe,aa=C(()=>{"use strict";Gw();Oe=class t extends Error{constructor(e,r={}){let n=r.cause instanceof t?r.cause.details:r.cause?.message?r.cause.message:r.details,o=r.cause instanceof t&&r.cause.docsPath||r.docsPath,i=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...o?[`Docs: https://abitype.dev${o}`]:[],...n?[`Details: ${n}`]:[],`Version: abitype@${Ww}`].join(`
|
|
2
|
+
`);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),r.cause&&(this.cause=r.cause),this.details=n,this.docsPath=o,this.metaMessages=r.metaMessages,this.shortMessage=e}}});function Qt(t,e){return t.exec(e)?.groups}var Jy,Yy,Ll,pu=C(()=>{"use strict";Jy=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Yy=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Ll=/^\(.+?\).*?$/});function kl(t){let e=t.type;if(Vw.test(t.type)&&"components"in t){e="(";let r=t.components.length;for(let o=0;o<r;o++){let i=t.components[o];e+=kl(i),o<r-1&&(e+=", ")}let n=Qt(Vw,t.type);return e+=`)${n?.array||""}`,kl({...t,type:e})}return"indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}var Vw,qw=C(()=>{"use strict";pu();Vw=/^tuple(?<array>(\[(\d*)\])*)$/});function _n(t){let e="",r=t.length;for(let n=0;n<r;n++){let o=t[n];e+=kl(o),n!==r-1&&(e+=", ")}return e}var Xy=C(()=>{"use strict";qw()});function Si(t){return t.type==="function"?`function ${t.name}(${_n(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${t.outputs?.length?` returns (${_n(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${_n(t.inputs)})`:t.type==="error"?`error ${t.name}(${_n(t.inputs)})`:t.type==="constructor"?`constructor(${_n(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var Kw=C(()=>{"use strict";Xy()});function Zw(t){return Qw.test(t)}function Jw(t){return Qt(Qw,t)}function Xw(t){return Yw.test(t)}function e6(t){return Qt(Yw,t)}function r6(t){return t6.test(t)}function n6(t){return Qt(t6,t)}function Po(t){return o6.test(t)}function i6(t){return Qt(o6,t)}function a6(t){return s6.test(t)}function c6(t){return Qt(s6,t)}function d6(t){return u6.test(t)}function l6(t){return Qt(u6,t)}function p6(t){return WE.test(t)}var Qw,Yw,t6,o6,s6,u6,WE,eh,f6,Dl,ca=C(()=>{"use strict";pu();Qw=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;Yw=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;t6=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;o6=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;s6=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;u6=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;WE=/^receive\(\) external payable$/;eh=new Set(["memory","indexed","storage","calldata"]),f6=new Set(["indexed"]),Dl=new Set(["calldata","memory","storage"])});var Ml,Ol,Fl,jl=C(()=>{"use strict";aa();Ml=class extends Oe{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},Ol=class extends Oe{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},Fl=class extends Oe{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var Ul,_l,zl,$l,Hl,Wl,Gl=C(()=>{"use strict";aa();Ul=class extends Oe{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},_l=class extends Oe{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},zl=class extends Oe{constructor({param:e,name:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},$l=class extends Oe{constructor({param:e,type:r,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},Hl=class extends Oe{constructor({param:e,type:r,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${n}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},Wl=class extends Oe{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var Xr,Vl,ql,th=C(()=>{"use strict";aa();Xr=class extends Oe{constructor({signature:e,type:r}){super(`Invalid ${r} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},Vl=class extends Oe{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},ql=class extends Oe{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var Kl,m6=C(()=>{"use strict";aa();Kl=class extends Oe{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var Ql,g6=C(()=>{"use strict";aa();Ql=class extends Oe{constructor({current:e,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function y6(t,e,r){let n="";if(r)for(let o of Object.entries(r)){if(!o)continue;let i="";for(let s of o[1])i+=`[${s.type}${s.name?`:${s.name}`:""}]`;n+=`(${o[0]}{${i}})`}return e?`${e}:${t}${n}`:`${t}${n}`}var Zl,h6=C(()=>{"use strict";Zl=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]])});function fu(t,e={}){if(r6(t))return GE(t,e);if(Xw(t))return VE(t,e);if(Zw(t))return qE(t,e);if(a6(t))return KE(t,e);if(d6(t))return QE(t);if(p6(t))return{type:"receive",stateMutability:"payable"};throw new Vl({signature:t})}function GE(t,e={}){let r=n6(t);if(!r)throw new Xr({signature:t,type:"function"});let n=Ot(r.parameters),o=[],i=n.length;for(let a=0;a<i;a++)o.push(kr(n[a],{modifiers:Dl,structs:e,type:"function"}));let s=[];if(r.returns){let a=Ot(r.returns),c=a.length;for(let u=0;u<c;u++)s.push(kr(a[u],{modifiers:Dl,structs:e,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:o,outputs:s}}function VE(t,e={}){let r=e6(t);if(!r)throw new Xr({signature:t,type:"event"});let n=Ot(r.parameters),o=[],i=n.length;for(let s=0;s<i;s++)o.push(kr(n[s],{modifiers:f6,structs:e,type:"event"}));return{name:r.name,type:"event",inputs:o}}function qE(t,e={}){let r=Jw(t);if(!r)throw new Xr({signature:t,type:"error"});let n=Ot(r.parameters),o=[],i=n.length;for(let s=0;s<i;s++)o.push(kr(n[s],{structs:e,type:"error"}));return{name:r.name,type:"error",inputs:o}}function KE(t,e={}){let r=c6(t);if(!r)throw new Xr({signature:t,type:"constructor"});let n=Ot(r.parameters),o=[],i=n.length;for(let s=0;s<i;s++)o.push(kr(n[s],{structs:e,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:o}}function QE(t){let e=l6(t);if(!e)throw new Xr({signature:t,type:"fallback"});return{type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}function kr(t,e){let r=y6(t,e?.type,e?.structs);if(Zl.has(r))return Zl.get(r);let n=Ll.test(t),o=Qt(n?JE:ZE,t);if(!o)throw new _l({param:t});if(o.name&&eT(o.name))throw new zl({param:t,name:o.name});let i=o.name?{name:o.name}:{},s=o.modifier==="indexed"?{indexed:!0}:{},a=e?.structs??{},c,u={};if(n){c="tuple";let l=Ot(o.type),p=[],f=l.length;for(let g=0;g<f;g++)p.push(kr(l[g],{structs:a}));u={components:p}}else if(o.type in a)c="tuple",u={components:a[o.type]};else if(YE.test(o.type))c=`${o.type}256`;else if(o.type==="address payable")c="address";else if(c=o.type,e?.type!=="struct"&&!rh(c))throw new Fl({type:c});if(o.modifier){if(!e?.modifiers?.has?.(o.modifier))throw new $l({param:t,type:e?.type,modifier:o.modifier});if(Dl.has(o.modifier)&&!tT(c,!!o.array))throw new Hl({param:t,type:e?.type,modifier:o.modifier})}let d={type:`${c}${o.array??""}`,...i,...s,...u};return Zl.set(r,d),d}function Ot(t,e=[],r="",n=0){let o=t.trim().length;for(let i=0;i<o;i++){let s=t[i],a=t.slice(i+1);switch(s){case",":return n===0?Ot(a,[...e,r.trim()]):Ot(a,e,`${r}${s}`,n);case"(":return Ot(a,e,`${r}${s}`,n+1);case")":return Ot(a,e,`${r}${s}`,n-1);default:return Ot(a,e,`${r}${s}`,n)}}if(r==="")return e;if(n!==0)throw new Ql({current:r,depth:n});return e.push(r.trim()),e}function rh(t){return t==="address"||t==="bool"||t==="function"||t==="string"||Jy.test(t)||Yy.test(t)}function eT(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||Jy.test(t)||Yy.test(t)||XE.test(t)}function tT(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}var ZE,JE,YE,XE,ua=C(()=>{"use strict";pu();jl();Gl();th();g6();h6();ca();ZE=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,JE=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,YE=/^u?int$/;XE=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/});function da(t){let e={},r=t.length;for(let s=0;s<r;s++){let a=t[s];if(!Po(a))continue;let c=i6(a);if(!c)throw new Xr({signature:a,type:"struct"});let u=c.properties.split(";"),d=[],l=u.length;for(let p=0;p<l;p++){let g=u[p].trim();if(!g)continue;let m=kr(g,{type:"struct"});d.push(m)}if(!d.length)throw new ql({signature:a});e[c.name]=d}let n={},o=Object.entries(e),i=o.length;for(let s=0;s<i;s++){let[a,c]=o[s];n[a]=b6(c,e)}return n}function b6(t=[],e={},r=new Set){let n=[],o=t.length;for(let i=0;i<o;i++){let s=t[i];if(Ll.test(s.type))n.push(s);else{let c=Qt(rT,s.type);if(!c?.type)throw new Wl({abiParameter:s});let{array:u,type:d}=c;if(d in e){if(r.has(d))throw new Kl({type:d});n.push({...s,type:`tuple${u??""}`,components:b6(e[d],e,new Set([...r,d]))})}else if(rh(d))n.push(s);else throw new Ol({type:d})}}return n}var rT,Jl=C(()=>{"use strict";pu();jl();Gl();th();m6();ca();ua();rT=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function Yl(t){let e=da(t),r=[],n=t.length;for(let o=0;o<n;o++){let i=t[o];Po(i)||r.push(fu(i,e))}return r}var x6=C(()=>{"use strict";ca();Jl();ua()});function Xl(t){let e;if(typeof t=="string")e=fu(t);else{let r=da(t),n=t.length;for(let o=0;o<n;o++){let i=t[o];if(!Po(i)){e=fu(i,r);break}}}if(!e)throw new Ml({signature:t});return e}var w6=C(()=>{"use strict";jl();ca();Jl();ua()});function ep(t){let e=[];if(typeof t=="string"){let r=Ot(t),n=r.length;for(let o=0;o<n;o++)e.push(kr(r[o],{modifiers:eh}))}else{let r=da(t),n=t.length;for(let o=0;o<n;o++){let i=t[o];if(Po(i))continue;let s=Ot(i),a=s.length;for(let c=0;c<a;c++)e.push(kr(s[c],{modifiers:eh,structs:r}))}}if(e.length===0)throw new Ul({params:t});return e}var I6=C(()=>{"use strict";Gl();ca();Jl();ua();ua()});var mu=C(()=>{"use strict";Kw();Xy();x6();w6();I6()});function Ge(t,{includeName:e=!1}={}){if(t.type!=="function"&&t.type!=="event"&&t.type!=="error")throw new tp(t.type);return`${t.name}(${gu(t.inputs,{includeName:e})})`}function gu(t,{includeName:e=!1}={}){return t?t.map(r=>nT(r,{includeName:e})).join(e?", ":","):""}function nT(t,{includeName:e}){return t.type.startsWith("tuple")?`(${gu(t.components,{includeName:e})})${t.type.slice(5)}`:t.type+(e&&t.name?` ${t.name}`:"")}var zn=C(()=>{"use strict";De()});function he(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}var Zt=C(()=>{"use strict"});function te(t){return he(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}var Jt=C(()=>{"use strict";Zt()});var nh,v6=C(()=>{"use strict";nh="2.48.11"});function A6(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?A6(t.cause,e):e?null:t}var oh,v,K=C(()=>{"use strict";v6();oh={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:r})=>e?`${t??"https://viem.sh"}${e}${r?`#${r}`:""}`:void 0,version:`viem@${nh}`},v=class t extends Error{constructor(e,r={}){let n=r.cause instanceof t?r.cause.details:r.cause?.message?r.cause.message:r.details,o=r.cause instanceof t&&r.cause.docsPath||r.docsPath,i=oh.getDocsUrl?.({...r,docsPath:o}),s=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...n?[`Details: ${n}`]:[],...oh.version?[`Version: ${oh.version}`]:[]].join(`
|
|
3
|
+
`);super(s,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=o,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=e,this.version=nh}walk(e){return A6(this,e)}}});var rp,yu,la,fr,np,op,pa,ip,hu,fa,sp,ap,bu,Dr,ma,cp,up,ga,$n,Eo,dp,lp,ya,tp,pp,De=C(()=>{"use strict";zn();Jt();K();rp=class extends v{constructor({docsPath:e}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
|
|
4
4
|
`),{docsPath:e,name:"AbiConstructorNotFoundError"})}},yu=class extends v{constructor({docsPath:e}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
|
|
5
5
|
`),{docsPath:e,name:"AbiConstructorParamsNotFoundError"})}},la=class extends v{constructor({data:e,params:r,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`
|
|
6
6
|
`),{metaMessages:[`Params: (${gu(r,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=r,this.size=n}},fr=class extends v{constructor({cause:e}={}){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError",cause:e})}},np=class extends v{constructor({expectedLength:e,givenLength:r,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${r}`].join(`
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
`),{docsPath:r,name:"AbiErrorNotFoundError"})}},fa=class extends v{constructor(e,{docsPath:r,cause:n}){super([`Encoded error signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`
|
|
11
11
|
`),{docsPath:r,name:"AbiErrorSignatureNotFoundError",cause:n}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},sp=class extends v{constructor({docsPath:e}){super("Cannot extract event signature from empty topics.",{docsPath:e,name:"AbiEventSignatureEmptyTopicsError"})}},ap=class extends v{constructor(e,{docsPath:r}){super([`Encoded event signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`
|
|
12
12
|
`),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}},bu=class extends v{constructor(e,{docsPath:r}={}){super([`Event ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
|
|
13
|
-
`),{docsPath:r,name:"AbiEventNotFoundError"})}},
|
|
13
|
+
`),{docsPath:r,name:"AbiEventNotFoundError"})}},Dr=class extends v{constructor(e,{docsPath:r}={}){super([`Function ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
14
14
|
`),{docsPath:r,name:"AbiFunctionNotFoundError"})}},ma=class extends v{constructor(e,{docsPath:r}){super([`Function "${e}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
15
15
|
`),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}},cp=class extends v{constructor(e,{docsPath:r}){super([`Encoded function signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${e}.`].join(`
|
|
16
16
|
`),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}},up=class extends v{constructor(e,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${Ge(e.abiItem)}\`, and`,`\`${r.type}\` in \`${Ge(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},ga=class extends v{constructor({expectedSize:e,givenSize:r}){super(`Expected bytes${e}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},$n=class extends v{constructor({abiItem:e,data:r,params:n,size:o}){super([`Data size of ${o} bytes is too small for non-indexed event parameters.`].join(`
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
`),{docsPath:r,name:"InvalidAbiEncodingType"})}},lp=class extends v{constructor(e,{docsPath:r}){super([`Type "${e}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
|
|
20
20
|
`),{docsPath:r,name:"InvalidAbiDecodingType"})}},ya=class extends v{constructor(e){super([`Value "${e}" is not a valid array.`].join(`
|
|
21
21
|
`),{name:"InvalidArrayError"})}},tp=class extends v{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
22
|
-
`),{name:"InvalidDefinitionTypeError"})}},pp=class extends v{constructor(e){super(`Type "${e}" is not supported for packed encoding.`,{name:"UnsupportedPackedAbiType"})}}});var xu,wu,Iu,mp=C(()=>{"use strict";K();xu=class extends v{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},wu=class extends v{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}},Iu=class extends v{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${r} ${n} long, but is ${e} ${n} long.`,{name:"InvalidBytesLengthError"})}}});function mr(t,{dir:e,size:r=32}={}){return typeof t=="string"?Hn(t,{dir:e,size:r}):oT(t,{dir:e,size:r})}function Hn(t,{dir:e,size:r=32}={}){if(r===null)return t;let n=t.replace("0x","");if(n.length>r*2)throw new wu({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[e==="right"?"padEnd":"padStart"](r*2,"0")}`}function oT(t,{dir:e,size:r=32}={}){if(r===null)return t;if(t.length>r)throw new wu({size:t.length,targetSize:r,type:"bytes"});let n=new Uint8Array(r);for(let o=0;o<r;o++){let i=e==="right";n[i?o:r-o-1]=t[i?o:t.length-o-1]}return n}var Su=C(()=>{"use strict";mp()});var To,gp,yp,hp,vu=C(()=>{"use strict";K();To=class extends v{constructor({max:e,min:r,signed:n,size:o,value:i}){super(`Number "${i}" is not in safe ${o?`${o*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${e?`(${r} to ${e})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},gp=class extends v{constructor(e){super(`Bytes value "${e}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}},yp=class extends v{constructor(e){super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},hp=class extends v{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}});function Ve(t,{dir:e="left"}={}){let r=typeof t=="string"?t.replace("0x",""):t,n=0;for(let o=0;o<r.length-1&&r[e==="left"?o:r.length-o-1].toString()==="0";o++)n++;return r=e==="left"?r.slice(n):r.slice(0,r.length-n),typeof t=="string"?(r.length===1&&e==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}var vi=C(()=>{"use strict"});function Et(t,{size:e}){if(te(t)>e)throw new hp({givenSize:te(t),maxSize:e})}function Ce(t,e={}){let{signed:r}=e;e.size&&Et(t,{size:e.size});let n=BigInt(t);if(!r)return n;let o=(t.length-2)/2,i=(1n<<BigInt(o)*8n-1n)-1n;return n<=i?n:n-BigInt(`0x${"f".padStart(o*2,"f")}`)-1n}function bp(t,e={}){let r=t;if(e.size&&(Et(r,{size:e.size}),r=Ve(r)),Ve(r)==="0x00")return!1;if(Ve(r)==="0x01")return!0;throw new yp(r)}function ve(t,e={}){let r=Ce(t,e),n=Number(r);if(!Number.isSafeInteger(n))throw new To({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:e.signed,size:e.size,value:`${r}n`});return n}function xp(t,e={}){let r=De(t);return e.size&&(Et(r,{size:e.size}),r=Ve(r,{dir:"right"})),new TextDecoder().decode(r)}var qe=C(()=>{"use strict";vu();Jt();vi();ze()});function Ae(t,e={}){return typeof t=="number"||typeof t=="bigint"?E(t,e):typeof t=="string"?Yt(t,e):typeof t=="boolean"?ha(t,e):oe(t,e)}function ha(t,e={}){let r=`0x${Number(t)}`;return typeof e.size=="number"?(Et(r,{size:e.size}),mr(r,{size:e.size})):r}function oe(t,e={}){let r="";for(let o=0;o<t.length;o++)r+=iT[t[o]];let n=`0x${r}`;return typeof e.size=="number"?(Et(n,{size:e.size}),mr(n,{dir:"right",size:e.size})):n}function E(t,e={}){let{signed:r,size:n}=e,o=BigInt(t),i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let s=typeof i=="bigint"&&r?-i-1n:0;if(i&&o>i||o<s){let c=typeof t=="bigint"?"n":"";throw new To({max:i?`${i}${c}`:void 0,min:`${s}${c}`,signed:r,size:n,value:`${t}${c}`})}let a=`0x${(r&&o<0?(1n<<BigInt(n*8))+BigInt(o):o).toString(16)}`;return n?mr(a,{size:n}):a}function Yt(t,e={}){let r=sT.encode(t);return oe(r,e)}var iT,sT,H=C(()=>{"use strict";vu();Su();qe();iT=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));sT=new TextEncoder});function Xt(t,e={}){return typeof t=="number"||typeof t=="bigint"?T6(t,e):typeof t=="boolean"?E6(t,e):he(t)?De(t,e):Ft(t,e)}function E6(t,e={}){let r=new Uint8Array(1);return r[0]=Number(t),typeof e.size=="number"?(Et(r,{size:e.size}),mr(r,{size:e.size})):r}function P6(t){if(t>=Wn.zero&&t<=Wn.nine)return t-Wn.zero;if(t>=Wn.A&&t<=Wn.F)return t-(Wn.A-10);if(t>=Wn.a&&t<=Wn.f)return t-(Wn.a-10)}function De(t,e={}){let r=t;e.size&&(Et(r,{size:e.size}),r=mr(r,{dir:"right",size:e.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);let o=n.length/2,i=new Uint8Array(o);for(let s=0,a=0;s<o;s++){let c=P6(n.charCodeAt(a++)),u=P6(n.charCodeAt(a++));if(c===void 0||u===void 0)throw new v(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);i[s]=c*16+u}return i}function T6(t,e){let r=E(t,e);return De(r)}function Ft(t,e={}){let r=aT.encode(t);return typeof e.size=="number"?(Et(r,{size:e.size}),mr(r,{dir:"right",size:e.size})):r}var aT,Wn,ze=C(()=>{"use strict";K();Zt();Su();qe();H();aT=new TextEncoder;Wn={zero:48,nine:57,A:65,F:70,a:97,f:102}});function cT(t,e=!1){return e?{h:Number(t&wp),l:Number(t>>C6&wp)}:{h:Number(t>>C6&wp)|0,l:Number(t&wp)|0}}function R6(t,e=!1){let r=t.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=cT(t[i],e);[n[i],o[i]]=[s,a]}return[n,o]}var wp,C6,N6,B6,L6,k6,M6=C(()=>{"use strict";wp=BigInt(4294967295),C6=BigInt(32);N6=(t,e,r)=>t<<r|e>>>32-r,B6=(t,e,r)=>e<<r|t>>>32-r,L6=(t,e,r)=>e<<r-32|t>>>64-r,k6=(t,e,r)=>t<<r-32|e>>>64-r});var Ai,D6=C(()=>{"use strict";Ai=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});function uT(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Pi(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function en(t,...e){if(!uT(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function O6(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Pi(t.outputLen),Pi(t.blockLen)}function Gn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Ip(t,e){en(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function F6(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function tn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Sp(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Dr(t,e){return t<<32-e|t>>>e}function lT(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function pT(t){for(let e=0;e<t.length;e++)t[e]=lT(t[e]);return t}function fT(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Ei(t){return typeof t=="string"&&(t=fT(t)),en(t),t}function j6(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];en(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let i=t[n];r.set(i,o),o+=i.length}return r}function vp(t){let e=n=>t().update(Ei(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Ap(t=32){if(Ai&&typeof Ai.getRandomValues=="function")return Ai.getRandomValues(new Uint8Array(t));if(Ai&&typeof Ai.randomBytes=="function")return Uint8Array.from(Ai.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}var dT,ih,Co,Ro=C(()=>{"use strict";D6();dT=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;ih=dT?t=>t:pT;Co=class{}});function IT(t,e=24){let r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let s=0;s<10;s++)r[s]=t[s]^t[s+10]^t[s+20]^t[s+30]^t[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,c=(s+2)%10,u=r[c],d=r[c+1],l=U6(u,d,1)^r[a],p=_6(u,d,1)^r[a+1];for(let f=0;f<50;f+=10)t[s+f]^=l,t[s+f+1]^=p}let o=t[2],i=t[3];for(let s=0;s<24;s++){let a=$6[s],c=U6(o,i,a),u=_6(o,i,a),d=z6[s];o=t[d],i=t[d+1],t[d]=c,t[d+1]=u}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=t[s+a];for(let a=0;a<10;a++)t[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}t[0]^=xT[n],t[1]^=wT[n]}tn(r)}var mT,Au,gT,yT,hT,bT,z6,$6,H6,W6,xT,wT,U6,_6,sh,ST,Pp,ah=C(()=>{"use strict";M6();Ro();mT=BigInt(0),Au=BigInt(1),gT=BigInt(2),yT=BigInt(7),hT=BigInt(256),bT=BigInt(113),z6=[],$6=[],H6=[];for(let t=0,e=Au,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],z6.push(2*(5*n+r)),$6.push((t+1)*(t+2)/2%64);let o=mT;for(let i=0;i<7;i++)e=(e<<Au^(e>>yT)*bT)%hT,e&gT&&(o^=Au<<(Au<<BigInt(i))-Au);H6.push(o)}W6=R6(H6,!0),xT=W6[0],wT=W6[1],U6=(t,e,r)=>r>32?L6(t,e,r):N6(t,e,r),_6=(t,e,r)=>r>32?k6(t,e,r):B6(t,e,r);sh=class t extends Co{constructor(e,r,n,o=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=r,this.outputLen=n,this.enableXOF=o,this.rounds=i,Pi(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=F6(this.state)}clone(){return this._cloneInto()}keccak(){ih(this.state32),IT(this.state32,this.rounds),ih(this.state32),this.posOut=0,this.pos=0}update(e){Gn(this),e=Ei(e),en(e);let{blockLen:r,state:n}=this,o=e.length;for(let i=0;i<o;){let s=Math.min(r-this.pos,o-i);for(let a=0;a<s;a++)n[this.pos++]^=e[i++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:r,pos:n,blockLen:o}=this;e[n]^=r,(r&128)!==0&&n===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Gn(this,!1),en(e),this.finish();let r=this.state,{blockLen:n}=this;for(let o=0,i=e.length;o<i;){this.posOut>=n&&this.keccak();let s=Math.min(n-this.posOut,i-o);e.set(r.subarray(this.posOut,this.posOut+s),o),this.posOut+=s,o+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Pi(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Ip(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,tn(this.state)}_cloneInto(e){let{blockLen:r,suffix:n,outputLen:o,rounds:i,enableXOF:s}=this;return e||(e=new t(r,n,o,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=o,e.enableXOF=s,e.destroyed=this.destroyed,e}},ST=(t,e,r)=>vp(()=>new sh(e,t,r)),Pp=ST(1,136,256/8)});function ie(t,e){let r=e||"hex",n=Pp(he(t,{strict:!1})?Xt(t):t);return r==="bytes"?n:Ae(n)}var er=C(()=>{"use strict";ah();Zt();ze();H()});function G6(t){return vT(t)}var vT,V6=C(()=>{"use strict";ze();er();vT=t=>ie(Xt(t))});function q6(t){let e=!0,r="",n=0,o="",i=!1;for(let s=0;s<t.length;s++){let a=t[s];if(["(",")",","].includes(a)&&(e=!0),a==="("&&n++,a===")"&&n--,!!e){if(n===0){if(a===" "&&["event","function",""].includes(o))o="";else if(o+=a,a===")"){i=!0;break}continue}if(a===" "){t[s-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}o+=a,r+=a}}if(!i)throw new v("Unable to normalize signature.");return o}var K6=C(()=>{"use strict";K()});var Q6,Z6=C(()=>{"use strict";mu();K6();Q6=t=>{let e=typeof t=="string"?t:Si(t);return q6(e)}});function Ep(t){return G6(Q6(t))}var ch=C(()=>{"use strict";V6();Z6()});var No,Pu=C(()=>{"use strict";ch();No=Ep});var le,Or=C(()=>{"use strict";K();le=class extends v{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var jt,Ti=C(()=>{"use strict";jt=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let r=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,r)),r}set(e,r){if(super.has(e)&&super.delete(e),super.set(e,r),this.maxSize&&this.size>this.maxSize){let n=super.keys().next().value;n!==void 0&&super.delete(n)}return this}}});function rn(t,e){if(uh.has(`${t}.${e}`))return uh.get(`${t}.${e}`);let r=e?`${e}${t.toLowerCase()}`:t.substring(2).toLowerCase(),n=ie(Ft(r),"bytes"),o=(e?r.substring(`${e}0x`.length):r).split("");for(let s=0;s<40;s+=2)n[s>>1]>>4>=8&&o[s]&&(o[s]=o[s].toUpperCase()),(n[s>>1]&15)>=8&&o[s+1]&&(o[s+1]=o[s+1].toUpperCase());let i=`0x${o.join("")}`;return uh.set(`${t}.${e}`,i),i}function Re(t,e){if(!Z(t,{strict:!1}))throw new le({address:t});return rn(t,e)}var uh,nn=C(()=>{"use strict";Or();ze();er();Ti();Ut();uh=new jt(8192)});function Z(t,e){let{strict:r=!0}=e??{},n=`${t}.${r}`;if(dh.has(n))return dh.get(n);let o=AT.test(t)?t.toLowerCase()===t?!0:r?rn(t)===t:!0:!1;return dh.set(n,o),o}var AT,dh,Ut=C(()=>{"use strict";Ti();nn();AT=/^0x[a-fA-F0-9]{40}$/,dh=new jt(8192)});function be(t){return typeof t[0]=="string"?Ke(t):PT(t)}function PT(t){let e=0;for(let o of t)e+=o.length;let r=new Uint8Array(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}function Ke(t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}var ut=C(()=>{"use strict"});function _t(t,e,r,{strict:n}={}){return he(t,{strict:!1})?Tp(t,e,r,{strict:n}):lh(t,e,r,{strict:n})}function J6(t,e){if(typeof e=="number"&&e>0&&e>te(t)-1)throw new xu({offset:e,position:"start",size:te(t)})}function Y6(t,e,r){if(typeof e=="number"&&typeof r=="number"&&te(t)!==r-e)throw new xu({offset:r,position:"end",size:te(t)})}function lh(t,e,r,{strict:n}={}){J6(t,e);let o=t.slice(e,r);return n&&Y6(o,e,r),o}function Tp(t,e,r,{strict:n}={}){J6(t,e);let o=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return n&&Y6(o,e,r),o}var Vn=C(()=>{"use strict";mp();Zt();Jt()});var X6,Cp,ba,Rp=C(()=>{"use strict";X6=/^(.*)\[([0-9]*)\]$/,Cp=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ba=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function Tt(t,e){if(t.length!==e.length)throw new pa({expectedLength:t.length,givenLength:e.length});let r=ET({params:t,values:e}),n=fh(r);return n.length===0?"0x":n}function ET({params:t,values:e}){let r=[];for(let n=0;n<t.length;n++)r.push(ph({param:t[n],value:e[n]}));return r}function ph({param:t,value:e}){let r=Np(t.type);if(r){let[n,o]=r;return CT(e,{length:n,param:{...t,type:o}})}if(t.type==="tuple")return kT(e,{param:t});if(t.type==="address")return TT(e);if(t.type==="bool")return NT(e);if(t.type.startsWith("uint")||t.type.startsWith("int")){let n=t.type.startsWith("int"),[,,o="256"]=ba.exec(t.type)??[];return BT(e,{signed:n,size:Number(o)})}if(t.type.startsWith("bytes"))return RT(e,{param:t});if(t.type==="string")return LT(e);throw new dp(t.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function fh(t){let e=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?e+=32:e+=te(a)}let r=[],n=[],o=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?(r.push(E(e+o,{size:32})),n.push(a),o+=te(a)):r.push(a)}return be([...r,...n])}function TT(t){if(!Z(t))throw new le({address:t});return{dynamic:!1,encoded:Hn(t.toLowerCase())}}function CT(t,{length:e,param:r}){let n=e===null;if(!Array.isArray(t))throw new ya(t);if(!n&&t.length!==e)throw new np({expectedLength:e,givenLength:t.length,type:`${r.type}[${e}]`});let o=!1,i=[];for(let s=0;s<t.length;s++){let a=ph({param:r,value:t[s]});a.dynamic&&(o=!0),i.push(a)}if(n||o){let s=fh(i);if(n){let a=E(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?be([a,s]):a}}if(o)return{dynamic:!0,encoded:s}}return{dynamic:!1,encoded:be(i.map(({encoded:s})=>s))}}function RT(t,{param:e}){let[,r]=e.type.split("bytes"),n=te(t);if(!r){let o=t;return n%32!==0&&(o=Hn(o,{dir:"right",size:Math.ceil((t.length-2)/2/32)*32})),{dynamic:!0,encoded:be([Hn(E(n,{size:32})),o])}}if(n!==Number.parseInt(r,10))throw new op({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:Hn(t,{dir:"right"})}}function NT(t){if(typeof t!="boolean")throw new v(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Hn(ha(t))}}function BT(t,{signed:e,size:r=256}){if(typeof r=="number"){let n=2n**(BigInt(r)-(e?1n:0n))-1n,o=e?-n-1n:0n;if(t>n||t<o)throw new To({max:n.toString(),min:o.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:E(t,{size:32,signed:e})}}function LT(t){let e=Yt(t),r=Math.ceil(te(e)/32),n=[];for(let o=0;o<r;o++)n.push(Hn(_t(e,o*32,(o+1)*32),{dir:"right"}));return{dynamic:!0,encoded:be([Hn(E(te(e),{size:32})),...n])}}function kT(t,{param:e}){let r=!1,n=[];for(let o=0;o<e.components.length;o++){let i=e.components[o],s=Array.isArray(t)?o:i.name,a=ph({param:i,value:t[s]});n.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?fh(n):be(n.map(({encoded:o})=>o))}}function Np(t){let e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}var qn=C(()=>{"use strict";Me();Or();K();vu();Ut();ut();Su();Jt();Vn();H();Rp()});var on,xa=C(()=>{"use strict";Vn();ch();on=t=>_t(Ep(t),0,4)});function zt(t){let{abi:e,args:r=[],name:n}=t,o=he(n,{strict:!1}),i=e.filter(a=>o?a.type==="function"?on(a)===n:a.type==="event"?No(a)===n:!1:"name"in a&&a.name===n);if(i.length===0)return;if(i.length===1)return i[0];let s;for(let a of i){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((u,d)=>{let l="inputs"in a&&a.inputs[d];return l?mh(u,l):!1})){if(s&&"inputs"in s&&s.inputs){let u=e5(a.inputs,s.inputs,r);if(u)throw new up({abiItem:a,type:u[0]},{abiItem:s,type:u[1]})}s=a}}return s||i[0]}function mh(t,e){let r=typeof t,n=e.type;switch(n){case"address":return Z(t,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in e?Object.values(e.components).every((o,i)=>r==="object"&&mh(Object.values(t)[i],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(t)&&t.every(o=>mh(o,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function e5(t,e,r){for(let n in t){let o=t[n],i=e[n];if(o.type==="tuple"&&i.type==="tuple"&&"components"in o&&"components"in i)return e5(o.components,i.components,r[n]);let s=[o.type,i.type];if(s.includes("address")&&s.includes("bytes20")?!0:s.includes("address")&&s.includes("string")?Z(r[n],{strict:!1}):s.includes("address")&&s.includes("bytes")?Z(r[n],{strict:!1}):!1)return s}}var Bo=C(()=>{"use strict";Me();Zt();Ut();Pu();xa()});function q(t){return typeof t=="string"?{address:t,type:"json-rpc"}:t}var Ne=C(()=>{"use strict"});function o5(t){let{abi:e,args:r,functionName:n}=t,o=e[0];if(n){let i=zt({abi:e,args:r,name:n});if(!i)throw new Mr(n,{docsPath:n5});o=i}if(o.type!=="function")throw new Mr(void 0,{docsPath:n5});return{abi:[o],functionName:on(Ge(o))}}var n5,i5=C(()=>{"use strict";Me();xa();zn();Bo();n5="/docs/contract/encodeFunctionData"});function ue(t){let{args:e}=t,{abi:r,functionName:n}=t.abi.length===1&&t.functionName?.startsWith("0x")?t:o5(t),o=r[0],i=n,s="inputs"in o&&o.inputs?Tt(o.inputs,e??[]):void 0;return Ke([i,s??"0x"])}var Ct=C(()=>{"use strict";ut();qn();i5()});var s5,Lp,a5,kp=C(()=>{"use strict";s5={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},Lp={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},a5={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});var Eu,wa,Mp,gh=C(()=>{"use strict";K();Eu=class extends v{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}},wa=class extends v{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}},Mp=class extends v{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Ia(t,{recursiveReadLimit:e=8192}={}){let r=Object.create(MT);return r.bytes=t,r.dataView=new DataView(t.buffer??t,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}var MT,Dp=C(()=>{"use strict";gh();MT={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Mp({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new wa({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new Eu({offset:t});let e=this.position-t;this.assertPosition(e),this.position=e},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new Eu({offset:t});let e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){let r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){let e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){let e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){let e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();let r=this.inspectBytes(t);return this.position+=e??t,r},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}}});function c5(t,e={}){typeof e.size<"u"&&Et(t,{size:e.size});let r=oe(t,e);return Ce(r,e)}function u5(t,e={}){let r=t;if(typeof e.size<"u"&&(Et(r,{size:e.size}),r=Ve(r)),r.length>1||r[0]>1)throw new gp(r);return!!r[0]}function an(t,e={}){typeof e.size<"u"&&Et(t,{size:e.size});let r=oe(t,e);return ve(r,e)}function d5(t,e={}){let r=t;return typeof e.size<"u"&&(Et(r,{size:e.size}),r=Ve(r,{dir:"right"})),new TextDecoder().decode(r)}var l5=C(()=>{"use strict";vu();vi();qe();H()});function Kn(t,e){let r=typeof e=="string"?De(e):e,n=Ia(r);if(te(r)===0&&t.length>0)throw new fr;if(te(e)&&te(e)<32)throw new la({data:typeof e=="string"?e:oe(e),params:t,size:te(e)});let o=0,i=[];for(let s=0;s<t.length;++s){let a=t[s];n.setPosition(o);let[c,u]=Sa(n,a,{staticPosition:0});o+=u,i.push(c)}return i}function Sa(t,e,{staticPosition:r}){let n=Np(e.type);if(n){let[o,i]=n;return OT(t,{...e,type:i},{length:o,staticPosition:r})}if(e.type==="tuple")return _T(t,e,{staticPosition:r});if(e.type==="address")return DT(t);if(e.type==="bool")return FT(t);if(e.type.startsWith("bytes"))return jT(t,e,{staticPosition:r});if(e.type.startsWith("uint")||e.type.startsWith("int"))return UT(t,e);if(e.type==="string")return zT(t,{staticPosition:r});throw new lp(e.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function DT(t){let e=t.readBytes(32);return[rn(oe(lh(e,-20))),32]}function OT(t,e,{length:r,staticPosition:n}){if(!r){let s=an(t.readBytes(yh)),a=n+s,c=a+p5;t.setPosition(a);let u=an(t.readBytes(p5)),d=Tu(e),l=0,p=[];for(let f=0;f<u;++f){t.setPosition(c+(d?f*32:l));let[g,m]=Sa(t,e,{staticPosition:c});l+=m,p.push(g)}return t.setPosition(n+32),[p,32]}if(Tu(e)){let s=an(t.readBytes(yh)),a=n+s,c=[];for(let u=0;u<r;++u){t.setPosition(a+u*32);let[d]=Sa(t,e,{staticPosition:a});c.push(d)}return t.setPosition(n+32),[c,32]}let o=0,i=[];for(let s=0;s<r;++s){let[a,c]=Sa(t,e,{staticPosition:n+o});o+=c,i.push(a)}return[i,o]}function FT(t){return[u5(t.readBytes(32),{size:32}),32]}function jT(t,e,{staticPosition:r}){let[n,o]=e.type.split("bytes");if(!o){let s=an(t.readBytes(32));t.setPosition(r+s);let a=an(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];let c=t.readBytes(a);return t.setPosition(r+32),[oe(c),32]}return[oe(t.readBytes(Number.parseInt(o,10),32)),32]}function UT(t,e){let r=e.type.startsWith("int"),n=Number.parseInt(e.type.split("int")[1]||"256",10),o=t.readBytes(32);return[n>48?c5(o,{signed:r}):an(o,{signed:r}),32]}function _T(t,e,{staticPosition:r}){let n=e.components.length===0||e.components.some(({name:s})=>!s),o=n?[]:{},i=0;if(Tu(e)){let s=an(t.readBytes(yh)),a=r+s;for(let c=0;c<e.components.length;++c){let u=e.components[c];t.setPosition(a+i);let[d,l]=Sa(t,u,{staticPosition:a});i+=l,o[n?c:u?.name]=d}return t.setPosition(r+32),[o,32]}for(let s=0;s<e.components.length;++s){let a=e.components[s],[c,u]=Sa(t,a,{staticPosition:r});o[n?s:a?.name]=c,i+=u}return[o,i]}function zT(t,{staticPosition:e}){let r=an(t.readBytes(32)),n=e+r;t.setPosition(n);let o=an(t.readBytes(32));if(o===0)return t.setPosition(e+32),["",32];let i=t.readBytes(o,32),s=d5(Ve(i));return t.setPosition(e+32),[s,32]}function Tu(t){let{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return!0;if(e==="tuple")return t.components?.some(Tu);let r=Np(t.type);return!!(r&&Tu({...t,type:r[1]}))}var p5,yh,Cu=C(()=>{"use strict";Me();nn();Dp();Jt();Vn();vi();l5();ze();H();qn();p5=32,yh=32});function Op(t){let{abi:e,data:r,cause:n}=t,o=_t(r,0,4);if(o==="0x")throw new fr({cause:n});let s=[...e||[],Lp,a5].find(a=>a.type==="error"&&o===on(Ge(a)));if(!s)throw new fa(o,{docsPath:"/docs/contract/decodeErrorResult",cause:n});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Kn(s.inputs,_t(r,4)):void 0,errorName:s.name}}var hh=C(()=>{"use strict";kp();Me();Vn();xa();Cu();zn()});var re,yt=C(()=>{"use strict";re=(t,e,r)=>JSON.stringify(t,(n,o)=>{let i=typeof o=="bigint"?o.toString():o;return typeof e=="function"?e(n,i):i},r)});function bh({abiItem:t,args:e,includeFunctionName:r=!0,includeName:n=!1}){if("name"in t&&"inputs"in t&&t.inputs)return`${r?t.name:""}(${t.inputs.map((o,i)=>`${n&&o.name?`${o.name}: `:""}${typeof e[i]=="object"?re(e[i]):e[i]}`).join(", ")})`}var f5=C(()=>{"use strict";yt()});var Fp,m5,jp=C(()=>{"use strict";Fp={gwei:9,wei:18},m5={ether:-9,wei:9}});function Up(t,e){let r=t.toString(),n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(e,"0");let[o,i]=[r.slice(0,r.length-e),r.slice(r.length-e)];return i=i.replace(/(0+)$/,""),`${n?"-":""}${o||"0"}${i?`.${i}`:""}`}var xh=C(()=>{"use strict"});function Rt(t,e="wei"){return Up(t,Fp[e])}var Ru=C(()=>{"use strict";jp();xh()});function Qe(t,e="wei"){return Up(t,m5[e])}var va=C(()=>{"use strict";jp();xh()});function g5(t){return t.reduce((e,{slot:r,value:n})=>`${e} ${r}: ${n}
|
|
22
|
+
`),{name:"InvalidDefinitionTypeError"})}},pp=class extends v{constructor(e){super(`Type "${e}" is not supported for packed encoding.`,{name:"UnsupportedPackedAbiType"})}}});var xu,wu,Iu,mp=C(()=>{"use strict";K();xu=class extends v{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},wu=class extends v{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}},Iu=class extends v{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${r} ${n} long, but is ${e} ${n} long.`,{name:"InvalidBytesLengthError"})}}});function mr(t,{dir:e,size:r=32}={}){return typeof t=="string"?Hn(t,{dir:e,size:r}):oT(t,{dir:e,size:r})}function Hn(t,{dir:e,size:r=32}={}){if(r===null)return t;let n=t.replace("0x","");if(n.length>r*2)throw new wu({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[e==="right"?"padEnd":"padStart"](r*2,"0")}`}function oT(t,{dir:e,size:r=32}={}){if(r===null)return t;if(t.length>r)throw new wu({size:t.length,targetSize:r,type:"bytes"});let n=new Uint8Array(r);for(let o=0;o<r;o++){let i=e==="right";n[i?o:r-o-1]=t[i?o:t.length-o-1]}return n}var Su=C(()=>{"use strict";mp()});var To,gp,yp,hp,vu=C(()=>{"use strict";K();To=class extends v{constructor({max:e,min:r,signed:n,size:o,value:i}){super(`Number "${i}" is not in safe ${o?`${o*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${e?`(${r} to ${e})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},gp=class extends v{constructor(e){super(`Bytes value "${e}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}},yp=class extends v{constructor(e){super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},hp=class extends v{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}});function Ve(t,{dir:e="left"}={}){let r=typeof t=="string"?t.replace("0x",""):t,n=0;for(let o=0;o<r.length-1&&r[e==="left"?o:r.length-o-1].toString()==="0";o++)n++;return r=e==="left"?r.slice(n):r.slice(0,r.length-n),typeof t=="string"?(r.length===1&&e==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}var vi=C(()=>{"use strict"});function Et(t,{size:e}){if(te(t)>e)throw new hp({givenSize:te(t),maxSize:e})}function Ce(t,e={}){let{signed:r}=e;e.size&&Et(t,{size:e.size});let n=BigInt(t);if(!r)return n;let o=(t.length-2)/2,i=(1n<<BigInt(o)*8n-1n)-1n;return n<=i?n:n-BigInt(`0x${"f".padStart(o*2,"f")}`)-1n}function bp(t,e={}){let r=t;if(e.size&&(Et(r,{size:e.size}),r=Ve(r)),Ve(r)==="0x00")return!1;if(Ve(r)==="0x01")return!0;throw new yp(r)}function ve(t,e={}){let r=Ce(t,e),n=Number(r);if(!Number.isSafeInteger(n))throw new To({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:e.signed,size:e.size,value:`${r}n`});return n}function xp(t,e={}){let r=Me(t);return e.size&&(Et(r,{size:e.size}),r=Ve(r,{dir:"right"})),new TextDecoder().decode(r)}var qe=C(()=>{"use strict";vu();Jt();vi();ze()});function Ae(t,e={}){return typeof t=="number"||typeof t=="bigint"?E(t,e):typeof t=="string"?Yt(t,e):typeof t=="boolean"?ha(t,e):oe(t,e)}function ha(t,e={}){let r=`0x${Number(t)}`;return typeof e.size=="number"?(Et(r,{size:e.size}),mr(r,{size:e.size})):r}function oe(t,e={}){let r="";for(let o=0;o<t.length;o++)r+=iT[t[o]];let n=`0x${r}`;return typeof e.size=="number"?(Et(n,{size:e.size}),mr(n,{dir:"right",size:e.size})):n}function E(t,e={}){let{signed:r,size:n}=e,o=BigInt(t),i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let s=typeof i=="bigint"&&r?-i-1n:0;if(i&&o>i||o<s){let c=typeof t=="bigint"?"n":"";throw new To({max:i?`${i}${c}`:void 0,min:`${s}${c}`,signed:r,size:n,value:`${t}${c}`})}let a=`0x${(r&&o<0?(1n<<BigInt(n*8))+BigInt(o):o).toString(16)}`;return n?mr(a,{size:n}):a}function Yt(t,e={}){let r=sT.encode(t);return oe(r,e)}var iT,sT,H=C(()=>{"use strict";vu();Su();qe();iT=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));sT=new TextEncoder});function Xt(t,e={}){return typeof t=="number"||typeof t=="bigint"?T6(t,e):typeof t=="boolean"?E6(t,e):he(t)?Me(t,e):Ft(t,e)}function E6(t,e={}){let r=new Uint8Array(1);return r[0]=Number(t),typeof e.size=="number"?(Et(r,{size:e.size}),mr(r,{size:e.size})):r}function P6(t){if(t>=Wn.zero&&t<=Wn.nine)return t-Wn.zero;if(t>=Wn.A&&t<=Wn.F)return t-(Wn.A-10);if(t>=Wn.a&&t<=Wn.f)return t-(Wn.a-10)}function Me(t,e={}){let r=t;e.size&&(Et(r,{size:e.size}),r=mr(r,{dir:"right",size:e.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);let o=n.length/2,i=new Uint8Array(o);for(let s=0,a=0;s<o;s++){let c=P6(n.charCodeAt(a++)),u=P6(n.charCodeAt(a++));if(c===void 0||u===void 0)throw new v(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);i[s]=c*16+u}return i}function T6(t,e){let r=E(t,e);return Me(r)}function Ft(t,e={}){let r=aT.encode(t);return typeof e.size=="number"?(Et(r,{size:e.size}),mr(r,{dir:"right",size:e.size})):r}var aT,Wn,ze=C(()=>{"use strict";K();Zt();Su();qe();H();aT=new TextEncoder;Wn={zero:48,nine:57,A:65,F:70,a:97,f:102}});function cT(t,e=!1){return e?{h:Number(t&wp),l:Number(t>>C6&wp)}:{h:Number(t>>C6&wp)|0,l:Number(t&wp)|0}}function R6(t,e=!1){let r=t.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=cT(t[i],e);[n[i],o[i]]=[s,a]}return[n,o]}var wp,C6,N6,B6,L6,k6,D6=C(()=>{"use strict";wp=BigInt(4294967295),C6=BigInt(32);N6=(t,e,r)=>t<<r|e>>>32-r,B6=(t,e,r)=>e<<r|t>>>32-r,L6=(t,e,r)=>e<<r-32|t>>>64-r,k6=(t,e,r)=>t<<r-32|e>>>64-r});var Ai,M6=C(()=>{"use strict";Ai=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});function uT(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Pi(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function en(t,...e){if(!uT(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function O6(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Pi(t.outputLen),Pi(t.blockLen)}function Gn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Ip(t,e){en(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function F6(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function tn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function Sp(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Mr(t,e){return t<<32-e|t>>>e}function lT(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function pT(t){for(let e=0;e<t.length;e++)t[e]=lT(t[e]);return t}function fT(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Ei(t){return typeof t=="string"&&(t=fT(t)),en(t),t}function j6(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];en(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let i=t[n];r.set(i,o),o+=i.length}return r}function vp(t){let e=n=>t().update(Ei(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Ap(t=32){if(Ai&&typeof Ai.getRandomValues=="function")return Ai.getRandomValues(new Uint8Array(t));if(Ai&&typeof Ai.randomBytes=="function")return Uint8Array.from(Ai.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}var dT,ih,Co,Ro=C(()=>{"use strict";M6();dT=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;ih=dT?t=>t:pT;Co=class{}});function IT(t,e=24){let r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let s=0;s<10;s++)r[s]=t[s]^t[s+10]^t[s+20]^t[s+30]^t[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,c=(s+2)%10,u=r[c],d=r[c+1],l=U6(u,d,1)^r[a],p=_6(u,d,1)^r[a+1];for(let f=0;f<50;f+=10)t[s+f]^=l,t[s+f+1]^=p}let o=t[2],i=t[3];for(let s=0;s<24;s++){let a=$6[s],c=U6(o,i,a),u=_6(o,i,a),d=z6[s];o=t[d],i=t[d+1],t[d]=c,t[d+1]=u}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=t[s+a];for(let a=0;a<10;a++)t[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}t[0]^=xT[n],t[1]^=wT[n]}tn(r)}var mT,Au,gT,yT,hT,bT,z6,$6,H6,W6,xT,wT,U6,_6,sh,ST,Pp,ah=C(()=>{"use strict";D6();Ro();mT=BigInt(0),Au=BigInt(1),gT=BigInt(2),yT=BigInt(7),hT=BigInt(256),bT=BigInt(113),z6=[],$6=[],H6=[];for(let t=0,e=Au,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],z6.push(2*(5*n+r)),$6.push((t+1)*(t+2)/2%64);let o=mT;for(let i=0;i<7;i++)e=(e<<Au^(e>>yT)*bT)%hT,e&gT&&(o^=Au<<(Au<<BigInt(i))-Au);H6.push(o)}W6=R6(H6,!0),xT=W6[0],wT=W6[1],U6=(t,e,r)=>r>32?L6(t,e,r):N6(t,e,r),_6=(t,e,r)=>r>32?k6(t,e,r):B6(t,e,r);sh=class t extends Co{constructor(e,r,n,o=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=r,this.outputLen=n,this.enableXOF=o,this.rounds=i,Pi(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=F6(this.state)}clone(){return this._cloneInto()}keccak(){ih(this.state32),IT(this.state32,this.rounds),ih(this.state32),this.posOut=0,this.pos=0}update(e){Gn(this),e=Ei(e),en(e);let{blockLen:r,state:n}=this,o=e.length;for(let i=0;i<o;){let s=Math.min(r-this.pos,o-i);for(let a=0;a<s;a++)n[this.pos++]^=e[i++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:r,pos:n,blockLen:o}=this;e[n]^=r,(r&128)!==0&&n===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){Gn(this,!1),en(e),this.finish();let r=this.state,{blockLen:n}=this;for(let o=0,i=e.length;o<i;){this.posOut>=n&&this.keccak();let s=Math.min(n-this.posOut,i-o);e.set(r.subarray(this.posOut,this.posOut+s),o),this.posOut+=s,o+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Pi(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Ip(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,tn(this.state)}_cloneInto(e){let{blockLen:r,suffix:n,outputLen:o,rounds:i,enableXOF:s}=this;return e||(e=new t(r,n,o,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=o,e.enableXOF=s,e.destroyed=this.destroyed,e}},ST=(t,e,r)=>vp(()=>new sh(e,t,r)),Pp=ST(1,136,256/8)});function ie(t,e){let r=e||"hex",n=Pp(he(t,{strict:!1})?Xt(t):t);return r==="bytes"?n:Ae(n)}var er=C(()=>{"use strict";ah();Zt();ze();H()});function G6(t){return vT(t)}var vT,V6=C(()=>{"use strict";ze();er();vT=t=>ie(Xt(t))});function q6(t){let e=!0,r="",n=0,o="",i=!1;for(let s=0;s<t.length;s++){let a=t[s];if(["(",")",","].includes(a)&&(e=!0),a==="("&&n++,a===")"&&n--,!!e){if(n===0){if(a===" "&&["event","function",""].includes(o))o="";else if(o+=a,a===")"){i=!0;break}continue}if(a===" "){t[s-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}o+=a,r+=a}}if(!i)throw new v("Unable to normalize signature.");return o}var K6=C(()=>{"use strict";K()});var Q6,Z6=C(()=>{"use strict";mu();K6();Q6=t=>{let e=typeof t=="string"?t:Si(t);return q6(e)}});function Ep(t){return G6(Q6(t))}var ch=C(()=>{"use strict";V6();Z6()});var No,Pu=C(()=>{"use strict";ch();No=Ep});var le,Or=C(()=>{"use strict";K();le=class extends v{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var jt,Ti=C(()=>{"use strict";jt=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let r=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,r)),r}set(e,r){if(super.has(e)&&super.delete(e),super.set(e,r),this.maxSize&&this.size>this.maxSize){let n=super.keys().next().value;n!==void 0&&super.delete(n)}return this}}});function rn(t,e){if(uh.has(`${t}.${e}`))return uh.get(`${t}.${e}`);let r=e?`${e}${t.toLowerCase()}`:t.substring(2).toLowerCase(),n=ie(Ft(r),"bytes"),o=(e?r.substring(`${e}0x`.length):r).split("");for(let s=0;s<40;s+=2)n[s>>1]>>4>=8&&o[s]&&(o[s]=o[s].toUpperCase()),(n[s>>1]&15)>=8&&o[s+1]&&(o[s+1]=o[s+1].toUpperCase());let i=`0x${o.join("")}`;return uh.set(`${t}.${e}`,i),i}function Re(t,e){if(!Z(t,{strict:!1}))throw new le({address:t});return rn(t,e)}var uh,nn=C(()=>{"use strict";Or();ze();er();Ti();Ut();uh=new jt(8192)});function Z(t,e){let{strict:r=!0}=e??{},n=`${t}.${r}`;if(dh.has(n))return dh.get(n);let o=AT.test(t)?t.toLowerCase()===t?!0:r?rn(t)===t:!0:!1;return dh.set(n,o),o}var AT,dh,Ut=C(()=>{"use strict";Ti();nn();AT=/^0x[a-fA-F0-9]{40}$/,dh=new jt(8192)});function be(t){return typeof t[0]=="string"?Ke(t):PT(t)}function PT(t){let e=0;for(let o of t)e+=o.length;let r=new Uint8Array(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}function Ke(t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}var ut=C(()=>{"use strict"});function _t(t,e,r,{strict:n}={}){return he(t,{strict:!1})?Tp(t,e,r,{strict:n}):lh(t,e,r,{strict:n})}function J6(t,e){if(typeof e=="number"&&e>0&&e>te(t)-1)throw new xu({offset:e,position:"start",size:te(t)})}function Y6(t,e,r){if(typeof e=="number"&&typeof r=="number"&&te(t)!==r-e)throw new xu({offset:r,position:"end",size:te(t)})}function lh(t,e,r,{strict:n}={}){J6(t,e);let o=t.slice(e,r);return n&&Y6(o,e,r),o}function Tp(t,e,r,{strict:n}={}){J6(t,e);let o=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return n&&Y6(o,e,r),o}var Vn=C(()=>{"use strict";mp();Zt();Jt()});var X6,Cp,ba,Rp=C(()=>{"use strict";X6=/^(.*)\[([0-9]*)\]$/,Cp=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ba=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function Tt(t,e){if(t.length!==e.length)throw new pa({expectedLength:t.length,givenLength:e.length});let r=ET({params:t,values:e}),n=fh(r);return n.length===0?"0x":n}function ET({params:t,values:e}){let r=[];for(let n=0;n<t.length;n++)r.push(ph({param:t[n],value:e[n]}));return r}function ph({param:t,value:e}){let r=Np(t.type);if(r){let[n,o]=r;return CT(e,{length:n,param:{...t,type:o}})}if(t.type==="tuple")return kT(e,{param:t});if(t.type==="address")return TT(e);if(t.type==="bool")return NT(e);if(t.type.startsWith("uint")||t.type.startsWith("int")){let n=t.type.startsWith("int"),[,,o="256"]=ba.exec(t.type)??[];return BT(e,{signed:n,size:Number(o)})}if(t.type.startsWith("bytes"))return RT(e,{param:t});if(t.type==="string")return LT(e);throw new dp(t.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function fh(t){let e=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?e+=32:e+=te(a)}let r=[],n=[],o=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?(r.push(E(e+o,{size:32})),n.push(a),o+=te(a)):r.push(a)}return be([...r,...n])}function TT(t){if(!Z(t))throw new le({address:t});return{dynamic:!1,encoded:Hn(t.toLowerCase())}}function CT(t,{length:e,param:r}){let n=e===null;if(!Array.isArray(t))throw new ya(t);if(!n&&t.length!==e)throw new np({expectedLength:e,givenLength:t.length,type:`${r.type}[${e}]`});let o=!1,i=[];for(let s=0;s<t.length;s++){let a=ph({param:r,value:t[s]});a.dynamic&&(o=!0),i.push(a)}if(n||o){let s=fh(i);if(n){let a=E(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?be([a,s]):a}}if(o)return{dynamic:!0,encoded:s}}return{dynamic:!1,encoded:be(i.map(({encoded:s})=>s))}}function RT(t,{param:e}){let[,r]=e.type.split("bytes"),n=te(t);if(!r){let o=t;return n%32!==0&&(o=Hn(o,{dir:"right",size:Math.ceil((t.length-2)/2/32)*32})),{dynamic:!0,encoded:be([Hn(E(n,{size:32})),o])}}if(n!==Number.parseInt(r,10))throw new op({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:Hn(t,{dir:"right"})}}function NT(t){if(typeof t!="boolean")throw new v(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Hn(ha(t))}}function BT(t,{signed:e,size:r=256}){if(typeof r=="number"){let n=2n**(BigInt(r)-(e?1n:0n))-1n,o=e?-n-1n:0n;if(t>n||t<o)throw new To({max:n.toString(),min:o.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:E(t,{size:32,signed:e})}}function LT(t){let e=Yt(t),r=Math.ceil(te(e)/32),n=[];for(let o=0;o<r;o++)n.push(Hn(_t(e,o*32,(o+1)*32),{dir:"right"}));return{dynamic:!0,encoded:be([Hn(E(te(e),{size:32})),...n])}}function kT(t,{param:e}){let r=!1,n=[];for(let o=0;o<e.components.length;o++){let i=e.components[o],s=Array.isArray(t)?o:i.name,a=ph({param:i,value:t[s]});n.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?fh(n):be(n.map(({encoded:o})=>o))}}function Np(t){let e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}var qn=C(()=>{"use strict";De();Or();K();vu();Ut();ut();Su();Jt();Vn();H();Rp()});var on,xa=C(()=>{"use strict";Vn();ch();on=t=>_t(Ep(t),0,4)});function zt(t){let{abi:e,args:r=[],name:n}=t,o=he(n,{strict:!1}),i=e.filter(a=>o?a.type==="function"?on(a)===n:a.type==="event"?No(a)===n:!1:"name"in a&&a.name===n);if(i.length===0)return;if(i.length===1)return i[0];let s;for(let a of i){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((u,d)=>{let l="inputs"in a&&a.inputs[d];return l?mh(u,l):!1})){if(s&&"inputs"in s&&s.inputs){let u=e5(a.inputs,s.inputs,r);if(u)throw new up({abiItem:a,type:u[0]},{abiItem:s,type:u[1]})}s=a}}return s||i[0]}function mh(t,e){let r=typeof t,n=e.type;switch(n){case"address":return Z(t,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in e?Object.values(e.components).every((o,i)=>r==="object"&&mh(Object.values(t)[i],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(t)&&t.every(o=>mh(o,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function e5(t,e,r){for(let n in t){let o=t[n],i=e[n];if(o.type==="tuple"&&i.type==="tuple"&&"components"in o&&"components"in i)return e5(o.components,i.components,r[n]);let s=[o.type,i.type];if(s.includes("address")&&s.includes("bytes20")?!0:s.includes("address")&&s.includes("string")?Z(r[n],{strict:!1}):s.includes("address")&&s.includes("bytes")?Z(r[n],{strict:!1}):!1)return s}}var Bo=C(()=>{"use strict";De();Zt();Ut();Pu();xa()});function q(t){return typeof t=="string"?{address:t,type:"json-rpc"}:t}var Ne=C(()=>{"use strict"});function o5(t){let{abi:e,args:r,functionName:n}=t,o=e[0];if(n){let i=zt({abi:e,args:r,name:n});if(!i)throw new Dr(n,{docsPath:n5});o=i}if(o.type!=="function")throw new Dr(void 0,{docsPath:n5});return{abi:[o],functionName:on(Ge(o))}}var n5,i5=C(()=>{"use strict";De();xa();zn();Bo();n5="/docs/contract/encodeFunctionData"});function ue(t){let{args:e}=t,{abi:r,functionName:n}=t.abi.length===1&&t.functionName?.startsWith("0x")?t:o5(t),o=r[0],i=n,s="inputs"in o&&o.inputs?Tt(o.inputs,e??[]):void 0;return Ke([i,s??"0x"])}var Ct=C(()=>{"use strict";ut();qn();i5()});var s5,Lp,a5,kp=C(()=>{"use strict";s5={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},Lp={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},a5={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});var Eu,wa,Dp,gh=C(()=>{"use strict";K();Eu=class extends v{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}},wa=class extends v{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}},Dp=class extends v{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Ia(t,{recursiveReadLimit:e=8192}={}){let r=Object.create(DT);return r.bytes=t,r.dataView=new DataView(t.buffer??t,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}var DT,Mp=C(()=>{"use strict";gh();DT={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Dp({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new wa({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new Eu({offset:t});let e=this.position-t;this.assertPosition(e),this.position=e},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new Eu({offset:t});let e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){let r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){let e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){let e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){let e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();let r=this.inspectBytes(t);return this.position+=e??t,r},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}}});function c5(t,e={}){typeof e.size<"u"&&Et(t,{size:e.size});let r=oe(t,e);return Ce(r,e)}function u5(t,e={}){let r=t;if(typeof e.size<"u"&&(Et(r,{size:e.size}),r=Ve(r)),r.length>1||r[0]>1)throw new gp(r);return!!r[0]}function an(t,e={}){typeof e.size<"u"&&Et(t,{size:e.size});let r=oe(t,e);return ve(r,e)}function d5(t,e={}){let r=t;return typeof e.size<"u"&&(Et(r,{size:e.size}),r=Ve(r,{dir:"right"})),new TextDecoder().decode(r)}var l5=C(()=>{"use strict";vu();vi();qe();H()});function Kn(t,e){let r=typeof e=="string"?Me(e):e,n=Ia(r);if(te(r)===0&&t.length>0)throw new fr;if(te(e)&&te(e)<32)throw new la({data:typeof e=="string"?e:oe(e),params:t,size:te(e)});let o=0,i=[];for(let s=0;s<t.length;++s){let a=t[s];n.setPosition(o);let[c,u]=Sa(n,a,{staticPosition:0});o+=u,i.push(c)}return i}function Sa(t,e,{staticPosition:r}){let n=Np(e.type);if(n){let[o,i]=n;return OT(t,{...e,type:i},{length:o,staticPosition:r})}if(e.type==="tuple")return _T(t,e,{staticPosition:r});if(e.type==="address")return MT(t);if(e.type==="bool")return FT(t);if(e.type.startsWith("bytes"))return jT(t,e,{staticPosition:r});if(e.type.startsWith("uint")||e.type.startsWith("int"))return UT(t,e);if(e.type==="string")return zT(t,{staticPosition:r});throw new lp(e.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function MT(t){let e=t.readBytes(32);return[rn(oe(lh(e,-20))),32]}function OT(t,e,{length:r,staticPosition:n}){if(!r){let s=an(t.readBytes(yh)),a=n+s,c=a+p5;t.setPosition(a);let u=an(t.readBytes(p5)),d=Tu(e),l=0,p=[];for(let f=0;f<u;++f){t.setPosition(c+(d?f*32:l));let[g,m]=Sa(t,e,{staticPosition:c});l+=m,p.push(g)}return t.setPosition(n+32),[p,32]}if(Tu(e)){let s=an(t.readBytes(yh)),a=n+s,c=[];for(let u=0;u<r;++u){t.setPosition(a+u*32);let[d]=Sa(t,e,{staticPosition:a});c.push(d)}return t.setPosition(n+32),[c,32]}let o=0,i=[];for(let s=0;s<r;++s){let[a,c]=Sa(t,e,{staticPosition:n+o});o+=c,i.push(a)}return[i,o]}function FT(t){return[u5(t.readBytes(32),{size:32}),32]}function jT(t,e,{staticPosition:r}){let[n,o]=e.type.split("bytes");if(!o){let s=an(t.readBytes(32));t.setPosition(r+s);let a=an(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];let c=t.readBytes(a);return t.setPosition(r+32),[oe(c),32]}return[oe(t.readBytes(Number.parseInt(o,10),32)),32]}function UT(t,e){let r=e.type.startsWith("int"),n=Number.parseInt(e.type.split("int")[1]||"256",10),o=t.readBytes(32);return[n>48?c5(o,{signed:r}):an(o,{signed:r}),32]}function _T(t,e,{staticPosition:r}){let n=e.components.length===0||e.components.some(({name:s})=>!s),o=n?[]:{},i=0;if(Tu(e)){let s=an(t.readBytes(yh)),a=r+s;for(let c=0;c<e.components.length;++c){let u=e.components[c];t.setPosition(a+i);let[d,l]=Sa(t,u,{staticPosition:a});i+=l,o[n?c:u?.name]=d}return t.setPosition(r+32),[o,32]}for(let s=0;s<e.components.length;++s){let a=e.components[s],[c,u]=Sa(t,a,{staticPosition:r});o[n?s:a?.name]=c,i+=u}return[o,i]}function zT(t,{staticPosition:e}){let r=an(t.readBytes(32)),n=e+r;t.setPosition(n);let o=an(t.readBytes(32));if(o===0)return t.setPosition(e+32),["",32];let i=t.readBytes(o,32),s=d5(Ve(i));return t.setPosition(e+32),[s,32]}function Tu(t){let{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return!0;if(e==="tuple")return t.components?.some(Tu);let r=Np(t.type);return!!(r&&Tu({...t,type:r[1]}))}var p5,yh,Cu=C(()=>{"use strict";De();nn();Mp();Jt();Vn();vi();l5();ze();H();qn();p5=32,yh=32});function Op(t){let{abi:e,data:r,cause:n}=t,o=_t(r,0,4);if(o==="0x")throw new fr({cause:n});let s=[...e||[],Lp,a5].find(a=>a.type==="error"&&o===on(Ge(a)));if(!s)throw new fa(o,{docsPath:"/docs/contract/decodeErrorResult",cause:n});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Kn(s.inputs,_t(r,4)):void 0,errorName:s.name}}var hh=C(()=>{"use strict";kp();De();Vn();xa();Cu();zn()});var re,yt=C(()=>{"use strict";re=(t,e,r)=>JSON.stringify(t,(n,o)=>{let i=typeof o=="bigint"?o.toString():o;return typeof e=="function"?e(n,i):i},r)});function bh({abiItem:t,args:e,includeFunctionName:r=!0,includeName:n=!1}){if("name"in t&&"inputs"in t&&t.inputs)return`${r?t.name:""}(${t.inputs.map((o,i)=>`${n&&o.name?`${o.name}: `:""}${typeof e[i]=="object"?re(e[i]):e[i]}`).join(", ")})`}var f5=C(()=>{"use strict";yt()});var Fp,m5,jp=C(()=>{"use strict";Fp={gwei:9,wei:18},m5={ether:-9,wei:9}});function Up(t,e){let r=t.toString(),n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(e,"0");let[o,i]=[r.slice(0,r.length-e),r.slice(r.length-e)];return i=i.replace(/(0+)$/,""),`${n?"-":""}${o||"0"}${i?`.${i}`:""}`}var xh=C(()=>{"use strict"});function Rt(t,e="wei"){return Up(t,Fp[e])}var Ru=C(()=>{"use strict";jp();xh()});function Qe(t,e="wei"){return Up(t,m5[e])}var va=C(()=>{"use strict";jp();xh()});function g5(t){return t.reduce((e,{slot:r,value:n})=>`${e} ${r}: ${n}
|
|
23
23
|
`,"")}function y5(t){return t.reduce((e,{address:r,...n})=>{let o=`${e} ${r}:
|
|
24
24
|
`;return n.nonce&&(o+=` nonce: ${n.nonce}
|
|
25
25
|
`),n.balance&&(o+=` balance: ${n.balance}
|
|
@@ -28,20 +28,20 @@
|
|
|
28
28
|
`,o+=g5(n.state)),n.stateDiff&&(o+=` stateDiff:
|
|
29
29
|
`,o+=g5(n.stateDiff)),o},` State Override:
|
|
30
30
|
`).slice(0,-1)}var _p,zp,wh=C(()=>{"use strict";K();_p=class extends v{constructor({address:e}){super(`State for account "${e}" is set multiple times.`,{name:"AccountStateConflictError"})}},zp=class extends v{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});function Ci(t){let e=Object.entries(t).map(([n,o])=>o===void 0||o===!1?null:[n,o]).filter(Boolean),r=e.reduce((n,[o])=>Math.max(n,o.length),0);return e.map(([n,o])=>` ${`${n}:`.padEnd(r+1)} ${o}`).join(`
|
|
31
|
-
`)}var $p,Hp,Wp,Gp,Aa,Pa,Ea,Vp,gr=C(()=>{"use strict";Ru();va();K();$p=class extends v{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},Hp=class extends v{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Ci(e),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}},Wp=class extends v{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}},Gp=class extends v{constructor(e,{account:r,docsPath:n,chain:o,data:i,gas:s,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:p}){let f=Ci({chain:o&&`${o?.name} (id: ${o?.id})`,from:r?.address,to:l,value:typeof p<"u"&&`${Rt(p)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:i,gas:s,gasPrice:typeof a<"u"&&`${Qe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Qe(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Qe(u)} gwei`,nonce:d});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Request Arguments:",f].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Aa=class extends v{constructor({blockHash:e,blockNumber:r,blockTag:n,hash:o,index:i}){let s="Transaction";n&&i!==void 0&&(s=`Transaction at block time "${n}" at index "${i}"`),e&&i!==void 0&&(s=`Transaction at block hash "${e}" at index "${i}"`),r&&i!==void 0&&(s=`Transaction at block number "${r}" at index "${i}"`),o&&(s=`Transaction with hash "${o}"`),super(`${s} could not be found.`,{name:"TransactionNotFoundError"})}},Pa=class extends v{constructor({hash:e}){super(`Transaction receipt with hash "${e}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}},Ea=class extends v{constructor({receipt:e}){super(`Transaction with hash "${e.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},Vp=class extends v{constructor({hash:e}){super(`Timed out while waiting for transaction with hash "${e}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});var h5,Ri,qp=C(()=>{"use strict";h5=t=>t,Ri=t=>{try{let e=new URL(t);return!e.username&&!e.password?t:(e.username="",e.password="",e.toString())}catch{return t}}});var Ni,Bi,Fr,Nu,Bu,jr,Qn=C(()=>{"use strict";Ne();kp();hh();zn();f5();Bo();Ru();va();
|
|
31
|
+
`)}var $p,Hp,Wp,Gp,Aa,Pa,Ea,Vp,gr=C(()=>{"use strict";Ru();va();K();$p=class extends v{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},Hp=class extends v{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Ci(e),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}},Wp=class extends v{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}},Gp=class extends v{constructor(e,{account:r,docsPath:n,chain:o,data:i,gas:s,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:p}){let f=Ci({chain:o&&`${o?.name} (id: ${o?.id})`,from:r?.address,to:l,value:typeof p<"u"&&`${Rt(p)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:i,gas:s,gasPrice:typeof a<"u"&&`${Qe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Qe(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Qe(u)} gwei`,nonce:d});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Request Arguments:",f].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Aa=class extends v{constructor({blockHash:e,blockNumber:r,blockTag:n,hash:o,index:i}){let s="Transaction";n&&i!==void 0&&(s=`Transaction at block time "${n}" at index "${i}"`),e&&i!==void 0&&(s=`Transaction at block hash "${e}" at index "${i}"`),r&&i!==void 0&&(s=`Transaction at block number "${r}" at index "${i}"`),o&&(s=`Transaction with hash "${o}"`),super(`${s} could not be found.`,{name:"TransactionNotFoundError"})}},Pa=class extends v{constructor({hash:e}){super(`Transaction receipt with hash "${e}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}},Ea=class extends v{constructor({receipt:e}){super(`Transaction with hash "${e.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},Vp=class extends v{constructor({hash:e}){super(`Timed out while waiting for transaction with hash "${e}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});var h5,Ri,qp=C(()=>{"use strict";h5=t=>t,Ri=t=>{try{let e=new URL(t);return!e.username&&!e.password?t:(e.username="",e.password="",e.toString())}catch{return t}}});var Ni,Bi,Fr,Nu,Bu,jr,Qn=C(()=>{"use strict";Ne();kp();hh();zn();f5();Bo();Ru();va();De();K();wh();gr();qp();Ni=class extends v{constructor(e,{account:r,docsPath:n,chain:o,data:i,gas:s,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:p,stateOverride:f}){let g=r?q(r):void 0,m=Ci({from:g?.address,to:l,value:typeof p<"u"&&`${Rt(p)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:i,gas:s,gasPrice:typeof a<"u"&&`${Qe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Qe(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Qe(u)} gwei`,nonce:d});f&&(m+=`
|
|
32
32
|
${y5(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",m].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Bi=class extends v{constructor(e,{abi:r,args:n,contractAddress:o,docsPath:i,functionName:s,sender:a}){let c=zt({abi:r,args:n,name:s}),u=c?bh({abiItem:c,args:n,includeFunctionName:!1,includeName:!1}):void 0,d=c?Ge(c,{includeName:!0}):void 0,l=Ci({address:o&&h5(o),function:d,args:u&&u!=="()"&&`${[...Array(s?.length??0).keys()].map(()=>" ").join("")}${u}`,sender:a});super(e.shortMessage||`An unknown error occurred while executing the contract function "${s}".`,{cause:e,docsPath:i,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],l&&"Contract Call:",l].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=n,this.cause=e,this.contractAddress=o,this.functionName=s,this.sender=a}},Fr=class extends v{constructor({abi:e,data:r,functionName:n,message:o,cause:i}){let s,a,c,u;if(r&&r!=="0x")try{a=Op({abi:e,data:r,cause:i});let{abiItem:l,errorName:p,args:f}=a;if(p==="Error")u=f[0];else if(p==="Panic"){let[g]=f;u=s5[g]}else{let g=l?Ge(l,{includeName:!0}):void 0,m=l&&f?bh({abiItem:l,args:f,includeFunctionName:!1,includeName:!1}):void 0;c=[g?`Error: ${g}`:"",m&&m!=="()"?` ${[...Array(p?.length??0).keys()].map(()=>" ").join("")}${m}`:""]}}catch(l){s=l}else o&&(u=o);let d;s instanceof fa&&(d=s.signature,c=[`Unable to decode signature "${d}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${d}.`]),super(u&&u!=="execution reverted"||d?[`The contract function "${n}" reverted with the following ${d?"signature":"reason"}:`,u||d].join(`
|
|
33
|
-
`):`The contract function "${n}" reverted.`,{cause:s??i,metaMessages:c,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=a,this.raw=r,this.reason=u,this.signature=d}},Nu=class extends v{constructor({functionName:e,cause:r}){super(`The contract function "${e}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${e}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError",cause:r})}},Bu=class extends v{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory "${e}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}},jr=class extends v{constructor({data:e,message:r}){super(r||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}});var tr,Zn,Jn,ko=C(()=>{"use strict";yt();K();qp();tr=class extends v{constructor({body:e,cause:r,details:n,headers:o,status:i,url:s}){super("HTTP request failed.",{cause:r,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Ri(s)}`,e&&`Request body: ${re(e)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=o,this.status=i,this.url=s}},Zn=class extends v{constructor({body:e,error:r,url:n}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Ri(n)}`,`Request body: ${re(e)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data,this.url=n}},Jn=class extends v{constructor({body:e,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Ri(r)}`,`Request body: ${re(e)}`],name:"TimeoutError"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=r}}});var $T,dt,lt,Li,ki,Mi,
|
|
34
|
-
`)})}};Object.defineProperty(
|
|
35
|
-
`)})}};Object.defineProperty(rr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});Oi=class t extends dt{constructor(e){super(e,{code:t.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Fi=class t extends dt{constructor(e){super(e,{code:t.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Fi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});ji=class t extends dt{constructor(e){super(e,{code:t.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(ji,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});Yn=class t extends dt{constructor(e,{method:r}={}){super(e,{code:t.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(Yn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});Mo=class t extends dt{constructor(e){super(e,{code:t.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});Ui=class t extends dt{constructor(e){super(e,{code:t.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(Ui,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});Ur=class t extends lt{constructor(e){super(e,{code:t.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(Ur,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});_i=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(_i,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});zi=class t extends lt{constructor(e,{method:r}={}){super(e,{code:t.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(zi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});$i=class t extends lt{constructor(e){super(e,{code:t.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty($i,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Hi=class t extends lt{constructor(e){super(e,{code:t.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(Hi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Wi=class t extends lt{constructor(e){super(e,{code:t.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});Xn=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(Xn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Gi=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(Gi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});Vi=class t extends lt{constructor(e){super(e,{code:t.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(Vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});qi=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(qi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Ki=class t extends lt{constructor(e){super(e,{code:t.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Qi=class t extends lt{constructor(e){super(e,{code:t.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Qi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});eo=class t extends lt{constructor(e){super(e,{code:t.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(eo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});Ta=class t extends lt{constructor(e){super(e,{code:t.code,name:"WalletConnectSessionSettlementError",shortMessage:"WalletConnect session settlement failed."})}};Object.defineProperty(Ta,"code",{enumerable:!0,configurable:!0,writable:!0,value:7e3});Lu=class extends dt{constructor(e){super(e,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function WT(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}function b5(t,e,r){return t&e^~t&r}function x5(t,e,r){return t&e^t&r^e&r}var Qp,to,w5=C(()=>{"use strict";Ro();Qp=class extends Co{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=Sp(this.buffer)}update(e){Gn(this),e=Ei(e),en(e);let{view:r,buffer:n,blockLen:o}=this,i=e.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=Sp(e);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Gn(this),Ip(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,tn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)r[l]=0;WT(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Sp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,d[l],i)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return e.destroyed=s,e.finished=i,e.length=o,e.pos=a,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}},to=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225])});var GT,Do,Zp,Ji,Ih=C(()=>{"use strict";w5();Ro();GT=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Do=new Uint32Array(64),Zp=class extends Qp{constructor(e=32){super(64,e,8,!1),this.A=to[0]|0,this.B=to[1]|0,this.C=to[2]|0,this.D=to[3]|0,this.E=to[4]|0,this.F=to[5]|0,this.G=to[6]|0,this.H=to[7]|0}get(){let{A:e,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[e,r,n,o,i,s,a,c]}set(e,r,n,o,i,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)Do[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let p=Do[l-15],f=Do[l-2],g=Dr(p,7)^Dr(p,18)^p>>>3,m=Dr(f,17)^Dr(f,19)^f>>>10;Do[l]=m+Do[l-7]+g+Do[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:d}=this;for(let l=0;l<64;l++){let p=Dr(a,6)^Dr(a,11)^Dr(a,25),f=d+p+b5(a,c,u)+GT[l]+Do[l]|0,m=(Dr(n,2)^Dr(n,13)^Dr(n,22))+x5(n,o,i)|0;d=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(n,o,i,s,a,c,u,d)}roundClean(){tn(Do)}destroy(){this.set(0,0,0,0,0,0,0,0),tn(this.buffer)}},Ji=vp(()=>new Zp)});var Jp,Sh,I5=C(()=>{"use strict";Ro();Jp=class extends Co{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,O6(e);let n=Ei(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?e.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=e.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),tn(i)}update(e){return Gn(this),this.iHash.update(e),this}digestInto(e){Gn(this),en(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=i,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Sh=(t,e,r)=>new Jp(t,e).update(r).digest();Sh.create=(t,e)=>new Jp(t,e)});function Ca(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function no(t){if(!Ca(t))throw new Error("Uint8Array expected")}function Ra(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function ku(t){let e=t.toString(16);return e.length&1?"0"+e:e}function A5(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Eh:BigInt("0x"+t)}function Na(t){if(no(t),P5)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=VT[t[r]];return e}function S5(t){if(t>=ro._0&&t<=ro._9)return t-ro._0;if(t>=ro.A&&t<=ro.F)return t-(ro.A-10);if(t>=ro.a&&t<=ro.f)return t-(ro.a-10)}function Mu(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(P5)return Uint8Array.fromHex(t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=S5(t.charCodeAt(i)),a=S5(t.charCodeAt(i+1));if(s===void 0||a===void 0){let c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $t(t){return A5(Na(t))}function Th(t){return no(t),A5(Na(Uint8Array.from(t).reverse()))}function un(t,e){return Mu(t.toString(16).padStart(e*2,"0"))}function Ch(t,e){return un(t,e).reverse()}function $e(t,e,r){let n;if(typeof e=="string")try{n=Mu(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Ca(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(t+" of length "+r+" expected, got "+o);return n}function Nt(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];no(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let i=t[n];r.set(i,o),o+=i.length}return r}function Yp(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Yi(t,e,r){return vh(t)&&vh(e)&&vh(r)&&e<=t&&t<r}function oo(t,e,r,n){if(!Yi(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function E5(t){let e;for(e=0;t>Eh;t>>=Ph,e+=1);return e}function T5(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Ah(t),o=Ah(t),i=0,s=()=>{n.fill(1),o.fill(0),i=0},a=(...l)=>r(o,n,...l),c=(l=Ah(0))=>{o=a(v5([0]),l),n=a(),l.length!==0&&(o=a(v5([1]),l),n=a())},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,p=[];for(;l<e;){n=a();let f=n.slice();p.push(f),l+=n.length}return Nt(...p)};return(l,p)=>{s(),c(l);let f;for(;!(f=p(u()));)c();return s(),f}}function io(t,e,r={}){let n=(o,i,s)=>{let a=qT[i];if(typeof a!="function")throw new Error("invalid validator function");let c=t[o];if(!(s&&c===void 0)&&!a(c,t))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+c)};for(let[o,i]of Object.entries(e))n(o,i,!1);for(let[o,i]of Object.entries(r))n(o,i,!0);return t}function Rh(t){let e=new WeakMap;return(r,...n)=>{let o=e.get(r);if(o!==void 0)return o;let i=t(r,...n);return e.set(r,i),i}}var Eh,Ph,P5,VT,ro,vh,Xi,Ah,v5,qT,Ba=C(()=>{"use strict";Eh=BigInt(0),Ph=BigInt(1);P5=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",VT=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));ro={_0:48,_9:57,A:65,F:70,a:97,f:102};vh=t=>typeof t=="bigint"&&Eh<=t;Xi=t=>(Ph<<BigInt(t))-Ph,Ah=t=>new Uint8Array(t),v5=t=>Uint8Array.from(t);qT={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Ca(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)}});function Fe(t,e){let r=t%e;return r>=Bt?r:e+r}function or(t,e,r){let n=t;for(;e-- >Bt;)n*=n,n%=r;return n}function Xp(t,e){if(t===Bt)throw new Error("invert: expected non-zero number");if(e<=Bt)throw new Error("invert: expected positive modulus, got "+e);let r=Fe(t,e),n=e,o=Bt,i=ht,s=ht,a=Bt;for(;r!==Bt;){let u=n/r,d=n%r,l=o-s*u,p=i-a*u;n=r,r=d,o=s,i=a,s=l,a=p}if(n!==ht)throw new Error("invert: does not exist");return Fe(o,e)}function L5(t,e){let r=(t.ORDER+ht)/R5,n=t.pow(e,r);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function QT(t,e){let r=(t.ORDER-N5)/B5,n=t.mul(e,es),o=t.pow(n,r),i=t.mul(e,o),s=t.mul(t.mul(i,es),o),a=t.mul(i,t.sub(s,t.ONE));if(!t.eql(t.sqr(a),e))throw new Error("Cannot find square root");return a}function ZT(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-ht,r=0;for(;e%es===Bt;)e/=es,r++;let n=es,o=Du(t);for(;C5(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return L5;let i=o.pow(n,e),s=(e+ht)/es;return function(c,u){if(c.is0(u))return u;if(C5(c,u)!==1)throw new Error("Cannot find square root");let d=r,l=c.mul(c.ONE,i),p=c.pow(u,e),f=c.pow(u,s);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let g=1,m=c.sqr(p);for(;!c.eql(m,c.ONE);)if(g++,m=c.sqr(m),g===d)throw new Error("Cannot find square root");let h=ht<<BigInt(d-g-1),b=c.pow(l,h);d=g,l=c.sqr(b),p=c.mul(p,l),f=c.mul(f,b)}return f}}function JT(t){return t%R5===KT?L5:t%B5===N5?QT:ZT(t)}function ef(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=YT.reduce((n,o)=>(n[o]="function",n),e);return io(t,r)}function XT(t,e,r){if(r<Bt)throw new Error("invalid exponent, negatives unsupported");if(r===Bt)return t.ONE;if(r===ht)return e;let n=t.ONE,o=e;for(;r>Bt;)r&ht&&(n=t.mul(n,o)),o=t.sqr(o),r>>=ht;return n}function La(t,e,r=!1){let n=new Array(e.length).fill(r?t.ZERO:void 0),o=e.reduce((s,a,c)=>t.is0(a)?s:(n[c]=s,t.mul(s,a)),t.ONE),i=t.inv(o);return e.reduceRight((s,a,c)=>t.is0(a)?s:(n[c]=t.mul(s,n[c]),t.mul(s,a)),i),n}function C5(t,e){let r=(t.ORDER-ht)/es,n=t.pow(e,r),o=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),s=t.eql(n,t.neg(t.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Nh(t,e){e!==void 0&&Pi(e);let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Du(t,e,r=!1,n={}){if(t<=Bt)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:o,nByteLength:i}=Nh(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:t,isLE:r,BITS:o,BYTES:i,MASK:Xi(o),ZERO:Bt,ONE:ht,create:c=>Fe(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Bt<=c&&c<t},is0:c=>c===Bt,isOdd:c=>(c&ht)===ht,neg:c=>Fe(-c,t),eql:(c,u)=>c===u,sqr:c=>Fe(c*c,t),add:(c,u)=>Fe(c+u,t),sub:(c,u)=>Fe(c-u,t),mul:(c,u)=>Fe(c*u,t),pow:(c,u)=>XT(a,c,u),div:(c,u)=>Fe(c*Xp(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Xp(c,t),sqrt:n.sqrt||(c=>(s||(s=JT(t)),s(a,c))),toBytes:c=>r?Ch(c,i):un(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?Th(c):$t(c)},invertBatch:c=>La(a,c),cmov:(c,u,d)=>d?u:c});return Object.freeze(a)}function k5(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Bh(t){let e=k5(t);return e+Math.ceil(e/2)}function M5(t,e,r=!1){let n=t.length,o=k5(e),i=Bh(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Th(t):$t(t),a=Fe(s,e-ht)+ht;return r?Ch(a,o):un(a,o)}var Bt,ht,es,KT,R5,N5,B5,YT,Ou=C(()=>{"use strict";Ro();Ba();Bt=BigInt(0),ht=BigInt(1),es=BigInt(2),KT=BigInt(3),R5=BigInt(4),N5=BigInt(5),B5=BigInt(8);YT=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"]});function Lh(t,e){let r=e.negate();return t?r:e}function F5(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function kh(t,e){F5(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1),o=2**t,i=Xi(t),s=BigInt(t);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function O5(t,e,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(t&o),c=t>>s;a>n&&(a-=i,c+=Oh);let u=e*n,d=u+Math.abs(a)-1,l=a===0,p=a<0,f=e%2!==0;return{nextN:c,offset:d,isZero:l,isNeg:p,isNegF:f,offsetF:u}}function e8(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function t8(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}function Dh(t){return j5.get(t)||1}function U5(t,e){return{constTimeNegate:Lh,hasPrecomputes(r){return Dh(r)!==1},unsafeLadder(r,n,o=t.ZERO){let i=r;for(;n>D5;)n&Oh&&(o=o.add(i)),i=i.double(),n>>=Oh;return o},precomputeWindow(r,n){let{windows:o,windowSize:i}=kh(n,e),s=[],a=r,c=a;for(let u=0;u<o;u++){c=a,s.push(c);for(let d=1;d<i;d++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(r,n,o){let i=t.ZERO,s=t.BASE,a=kh(r,e);for(let c=0;c<a.windows;c++){let{nextN:u,offset:d,isZero:l,isNeg:p,isNegF:f,offsetF:g}=O5(o,c,a);o=u,l?s=s.add(Lh(f,n[g])):i=i.add(Lh(p,n[d]))}return{p:i,f:s}},wNAFUnsafe(r,n,o,i=t.ZERO){let s=kh(r,e);for(let a=0;a<s.windows&&o!==D5;a++){let{nextN:c,offset:u,isZero:d,isNeg:l}=O5(o,a,s);if(o=c,!d){let p=n[u];i=i.add(l?p.negate():p)}}return i},getPrecomputes(r,n,o){let i=Mh.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&Mh.set(n,o(i))),i},wNAFCached(r,n,o){let i=Dh(r);return this.wNAF(i,this.getPrecomputes(i,r,o),n)},wNAFCachedUnsafe(r,n,o,i){let s=Dh(r);return s===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,r,o),n,i)},setWindowSize(r,n){F5(n,e),j5.set(r,n),Mh.delete(r)}}}function _5(t,e,r,n){e8(r,t),t8(n,e);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=t.ZERO,a=E5(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Xi(c),d=new Array(Number(u)+1).fill(s),l=Math.floor((e.BITS-1)/c)*c,p=s;for(let f=l;f>=0;f-=c){d.fill(s);for(let m=0;m<i;m++){let h=n[m],b=Number(h>>BigInt(f)&u);d[b]=d[b].add(r[m])}let g=s;for(let m=d.length-1,h=s;m>0;m--)h=h.add(d[m]),g=g.add(h);if(p=p.add(g),f!==0)for(let m=0;m<c;m++)p=p.double()}return p}function Fh(t){return ef(t.Fp),io(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Nh(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var D5,Oh,Mh,j5,z5=C(()=>{"use strict";Ou();Ba();D5=BigInt(0),Oh=BigInt(1);Mh=new WeakMap,j5=new WeakMap});function $5(t){t.lowS!==void 0&&Ra("lowS",t.lowS),t.prehash!==void 0&&Ra("prehash",t.prehash)}function r8(t){let e=Fh(t);io(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:r,Fp:n,a:o}=e;if(r){if(!n.eql(o,n.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}function jh(t,e){return Na(un(t,e))}function n8(t){let e=r8(t),{Fp:r}=e,n=Du(e.n,e.nBitLength),o=e.toBytes||((x,y,I)=>{let S=y.toAffine();return Nt(Uint8Array.from([4]),r.toBytes(S.x),r.toBytes(S.y))}),i=e.fromBytes||(x=>{let y=x.subarray(1),I=r.fromBytes(y.subarray(0,r.BYTES)),S=r.fromBytes(y.subarray(r.BYTES,2*r.BYTES));return{x:I,y:S}});function s(x){let{a:y,b:I}=e,S=r.sqr(x),A=r.mul(S,x);return r.add(r.add(A,r.mul(x,y)),I)}function a(x,y){let I=r.sqr(y),S=s(x);return r.eql(I,S)}if(!a(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=r.mul(r.pow(e.a,Fu),_h),u=r.mul(r.sqr(e.b),BigInt(27));if(r.is0(r.add(c,u)))throw new Error("bad curve params: a or b");function d(x){return Yi(x,pe,e.n)}function l(x){let{allowedPrivateKeyLengths:y,nByteLength:I,wrapPrivateKey:S,n:A}=e;if(y&&typeof x!="bigint"){if(Ca(x)&&(x=Na(x)),typeof x!="string"||!y.includes(x.length))throw new Error("invalid private key");x=x.padStart(I*2,"0")}let P;try{P=typeof x=="bigint"?x:$t($e("private key",x,I))}catch{throw new Error("invalid private key, expected hex or "+I+" bytes, got "+typeof x)}return S&&(P=Fe(P,A)),oo("private key",P,pe,A),P}function p(x){if(!(x instanceof m))throw new Error("ProjectivePoint expected")}let f=Rh((x,y)=>{let{px:I,py:S,pz:A}=x;if(r.eql(A,r.ONE))return{x:I,y:S};let P=x.is0();y==null&&(y=P?r.ONE:r.inv(A));let N=r.mul(I,y),T=r.mul(S,y),M=r.mul(A,y);if(P)return{x:r.ZERO,y:r.ZERO};if(!r.eql(M,r.ONE))throw new Error("invZ was invalid");return{x:N,y:T}}),g=Rh(x=>{if(x.is0()){if(e.allowInfinityPoint&&!r.is0(x.py))return;throw new Error("bad point: ZERO")}let{x:y,y:I}=x.toAffine();if(!r.isValid(y)||!r.isValid(I))throw new Error("bad point: x or y not FE");if(!a(y,I))throw new Error("bad point: equation left != right");if(!x.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class m{constructor(y,I,S){if(y==null||!r.isValid(y))throw new Error("x required");if(I==null||!r.isValid(I)||r.is0(I))throw new Error("y required");if(S==null||!r.isValid(S))throw new Error("z required");this.px=y,this.py=I,this.pz=S,Object.freeze(this)}static fromAffine(y){let{x:I,y:S}=y||{};if(!y||!r.isValid(I)||!r.isValid(S))throw new Error("invalid affine point");if(y instanceof m)throw new Error("projective point not allowed");let A=P=>r.eql(P,r.ZERO);return A(I)&&A(S)?m.ZERO:new m(I,S,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(y){let I=La(r,y.map(S=>S.pz));return y.map((S,A)=>S.toAffine(I[A])).map(m.fromAffine)}static fromHex(y){let I=m.fromAffine(i($e("pointHex",y)));return I.assertValidity(),I}static fromPrivateKey(y){return m.BASE.multiply(l(y))}static msm(y,I){return _5(m,n,y,I)}_setWindowSize(y){w.setWindowSize(this,y)}assertValidity(){g(this)}hasEvenY(){let{y}=this.toAffine();if(r.isOdd)return!r.isOdd(y);throw new Error("Field doesn't support isOdd")}equals(y){p(y);let{px:I,py:S,pz:A}=this,{px:P,py:N,pz:T}=y,M=r.eql(r.mul(I,T),r.mul(P,A)),O=r.eql(r.mul(S,T),r.mul(N,A));return M&&O}negate(){return new m(this.px,r.neg(this.py),this.pz)}double(){let{a:y,b:I}=e,S=r.mul(I,Fu),{px:A,py:P,pz:N}=this,T=r.ZERO,M=r.ZERO,O=r.ZERO,F=r.mul(A,A),z=r.mul(P,P),B=r.mul(N,N),L=r.mul(A,P);return L=r.add(L,L),O=r.mul(A,N),O=r.add(O,O),T=r.mul(y,O),M=r.mul(S,B),M=r.add(T,M),T=r.sub(z,M),M=r.add(z,M),M=r.mul(T,M),T=r.mul(L,T),O=r.mul(S,O),B=r.mul(y,B),L=r.sub(F,B),L=r.mul(y,L),L=r.add(L,O),O=r.add(F,F),F=r.add(O,F),F=r.add(F,B),F=r.mul(F,L),M=r.add(M,F),B=r.mul(P,N),B=r.add(B,B),F=r.mul(B,L),T=r.sub(T,F),O=r.mul(B,z),O=r.add(O,O),O=r.add(O,O),new m(T,M,O)}add(y){p(y);let{px:I,py:S,pz:A}=this,{px:P,py:N,pz:T}=y,M=r.ZERO,O=r.ZERO,F=r.ZERO,z=e.a,B=r.mul(e.b,Fu),L=r.mul(I,P),j=r.mul(S,N),D=r.mul(A,T),U=r.add(I,S),V=r.add(P,N);U=r.mul(U,V),V=r.add(L,j),U=r.sub(U,V),V=r.add(I,A);let se=r.add(P,T);return V=r.mul(V,se),se=r.add(L,D),V=r.sub(V,se),se=r.add(S,A),M=r.add(N,T),se=r.mul(se,M),M=r.add(j,D),se=r.sub(se,M),F=r.mul(z,V),M=r.mul(B,D),F=r.add(M,F),M=r.sub(j,F),F=r.add(j,F),O=r.mul(M,F),j=r.add(L,L),j=r.add(j,L),D=r.mul(z,D),V=r.mul(B,V),j=r.add(j,D),D=r.sub(L,D),D=r.mul(z,D),V=r.add(V,D),L=r.mul(j,V),O=r.add(O,L),L=r.mul(se,V),M=r.mul(U,M),M=r.sub(M,L),L=r.mul(U,j),F=r.mul(se,F),F=r.add(F,L),new m(M,O,F)}subtract(y){return this.add(y.negate())}is0(){return this.equals(m.ZERO)}wNAF(y){return w.wNAFCached(this,y,m.normalizeZ)}multiplyUnsafe(y){let{endo:I,n:S}=e;oo("scalar",y,_r,S);let A=m.ZERO;if(y===_r)return A;if(this.is0()||y===pe)return this;if(!I||w.hasPrecomputes(this))return w.wNAFCachedUnsafe(this,y,m.normalizeZ);let{k1neg:P,k1:N,k2neg:T,k2:M}=I.splitScalar(y),O=A,F=A,z=this;for(;N>_r||M>_r;)N&pe&&(O=O.add(z)),M&pe&&(F=F.add(z)),z=z.double(),N>>=pe,M>>=pe;return P&&(O=O.negate()),T&&(F=F.negate()),F=new m(r.mul(F.px,I.beta),F.py,F.pz),O.add(F)}multiply(y){let{endo:I,n:S}=e;oo("scalar",y,pe,S);let A,P;if(I){let{k1neg:N,k1:T,k2neg:M,k2:O}=I.splitScalar(y),{p:F,f:z}=this.wNAF(T),{p:B,f:L}=this.wNAF(O);F=w.constTimeNegate(N,F),B=w.constTimeNegate(M,B),B=new m(r.mul(B.px,I.beta),B.py,B.pz),A=F.add(B),P=z.add(L)}else{let{p:N,f:T}=this.wNAF(y);A=N,P=T}return m.normalizeZ([A,P])[0]}multiplyAndAddUnsafe(y,I,S){let A=m.BASE,P=(T,M)=>M===_r||M===pe||!T.equals(A)?T.multiplyUnsafe(M):T.multiply(M),N=P(this,I).add(P(y,S));return N.is0()?void 0:N}toAffine(y){return f(this,y)}isTorsionFree(){let{h:y,isTorsionFree:I}=e;if(y===pe)return!0;if(I)return I(m,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:y,clearCofactor:I}=e;return y===pe?this:I?I(m,this):this.multiplyUnsafe(e.h)}toRawBytes(y=!0){return Ra("isCompressed",y),this.assertValidity(),o(m,this,y)}toHex(y=!0){return Ra("isCompressed",y),Na(this.toRawBytes(y))}}m.BASE=new m(e.Gx,e.Gy,r.ONE),m.ZERO=new m(r.ZERO,r.ONE,r.ZERO);let{endo:h,nBitLength:b}=e,w=U5(m,h?Math.ceil(b/2):b);return{CURVE:e,ProjectivePoint:m,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:d}}function o8(t){let e=Fh(t);return io(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function H5(t){let e=o8(t),{Fp:r,n,nByteLength:o,nBitLength:i}=e,s=r.BYTES+1,a=2*r.BYTES+1;function c(B){return Fe(B,n)}function u(B){return Xp(B,n)}let{ProjectivePoint:d,normPrivateKeyToScalar:l,weierstrassEquation:p,isWithinCurveOrder:f}=n8({...e,toBytes(B,L,j){let D=L.toAffine(),U=r.toBytes(D.x),V=Nt;return Ra("isCompressed",j),j?V(Uint8Array.from([L.hasEvenY()?2:3]),U):V(Uint8Array.from([4]),U,r.toBytes(D.y))},fromBytes(B){let L=B.length,j=B[0],D=B.subarray(1);if(L===s&&(j===2||j===3)){let U=$t(D);if(!Yi(U,pe,r.ORDER))throw new Error("Point is not on curve");let V=p(U),se;try{se=r.sqrt(V)}catch(Lt){let ft=Lt instanceof Error?": "+Lt.message:"";throw new Error("Point is not on curve"+ft)}let fe=(se&pe)===pe;return(j&1)===1!==fe&&(se=r.neg(se)),{x:U,y:se}}else if(L===a&&j===4){let U=r.fromBytes(D.subarray(0,r.BYTES)),V=r.fromBytes(D.subarray(r.BYTES,2*r.BYTES));return{x:U,y:V}}else{let U=s,V=a;throw new Error("invalid Point, expected length of "+U+", or uncompressed "+V+", got "+L)}}});function g(B){let L=n>>pe;return B>L}function m(B){return g(B)?c(-B):B}let h=(B,L,j)=>$t(B.slice(L,j));class b{constructor(L,j,D){oo("r",L,pe,n),oo("s",j,pe,n),this.r=L,this.s=j,D!=null&&(this.recovery=D),Object.freeze(this)}static fromCompact(L){let j=o;return L=$e("compactSignature",L,j*2),new b(h(L,0,j),h(L,j,2*j))}static fromDER(L){let{r:j,s:D}=so.toSig($e("DER",L));return new b(j,D)}assertValidity(){}addRecoveryBit(L){return new b(this.r,this.s,L)}recoverPublicKey(L){let{r:j,s:D,recovery:U}=this,V=A($e("msgHash",L));if(U==null||![0,1,2,3].includes(U))throw new Error("recovery id invalid");let se=U===2||U===3?j+e.n:j;if(se>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let fe=(U&1)===0?"02":"03",Ar=d.fromHex(fe+jh(se,r.BYTES)),Lt=u(se),ft=c(-V*Lt),Rs=c(D*Lt),xo=d.BASE.multiplyAndAddUnsafe(Ar,ft,Rs);if(!xo)throw new Error("point at infinify");return xo.assertValidity(),xo}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Mu(this.toDERHex())}toDERHex(){return so.hexFromSig(this)}toCompactRawBytes(){return Mu(this.toCompactHex())}toCompactHex(){let L=o;return jh(this.r,L)+jh(this.s,L)}}let w={isValidPrivateKey(B){try{return l(B),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let B=Bh(e.n);return M5(e.randomBytes(B),e.n)},precompute(B=8,L=d.BASE){return L._setWindowSize(B),L.multiply(BigInt(3)),L}};function x(B,L=!0){return d.fromPrivateKey(B).toRawBytes(L)}function y(B){if(typeof B=="bigint")return!1;if(B instanceof d)return!0;let j=$e("key",B).length,D=r.BYTES,U=D+1,V=2*D+1;if(!(e.allowedPrivateKeyLengths||o===U))return j===U||j===V}function I(B,L,j=!0){if(y(B)===!0)throw new Error("first arg must be private key");if(y(L)===!1)throw new Error("second arg must be public key");return d.fromHex(L).multiply(l(B)).toRawBytes(j)}let S=e.bits2int||function(B){if(B.length>8192)throw new Error("input is too large");let L=$t(B),j=B.length*8-i;return j>0?L>>BigInt(j):L},A=e.bits2int_modN||function(B){return c(S(B))},P=Xi(i);function N(B){return oo("num < 2^"+i,B,_r,P),un(B,o)}function T(B,L,j=M){if(["recovered","canonical"].some(si=>si in j))throw new Error("sign() legacy options not supported");let{hash:D,randomBytes:U}=e,{lowS:V,prehash:se,extraEntropy:fe}=j;V==null&&(V=!0),B=$e("msgHash",B),$5(j),se&&(B=$e("prehashed msgHash",D(B)));let Ar=A(B),Lt=l(L),ft=[N(Lt),N(Ar)];if(fe!=null&&fe!==!1){let si=fe===!0?U(r.BYTES):fe;ft.push($e("extraEntropy",si))}let Rs=Nt(...ft),xo=Ar;function ug(si){let Ns=S(si);if(!f(Ns))return;let dg=u(Ns),Pc=d.BASE.multiply(Ns).toAffine(),ai=c(Pc.x);if(ai===_r)return;let Ec=c(dg*c(xo+ai*Lt));if(Ec===_r)return;let Bs=(Pc.x===ai?0:2)|Number(Pc.y&pe),ox=Ec;return V&&g(Ec)&&(ox=m(Ec),Bs^=1),new b(ai,ox,Bs)}return{seed:Rs,k2sig:ug}}let M={lowS:e.lowS,prehash:!1},O={lowS:e.lowS,prehash:!1};function F(B,L,j=M){let{seed:D,k2sig:U}=T(B,L,j),V=e;return T5(V.hash.outputLen,V.nByteLength,V.hmac)(D,U)}d.BASE._setWindowSize(8);function z(B,L,j,D=O){let U=B;L=$e("msgHash",L),j=$e("publicKey",j);let{lowS:V,prehash:se,format:fe}=D;if($5(D),"strict"in D)throw new Error("options.strict was renamed to lowS");if(fe!==void 0&&fe!=="compact"&&fe!=="der")throw new Error("format must be compact or der");let Ar=typeof U=="string"||Ca(U),Lt=!Ar&&!fe&&typeof U=="object"&&U!==null&&typeof U.r=="bigint"&&typeof U.s=="bigint";if(!Ar&&!Lt)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ft,Rs;try{if(Lt&&(ft=new b(U.r,U.s)),Ar){try{fe!=="compact"&&(ft=b.fromDER(U))}catch(Bs){if(!(Bs instanceof so.Err))throw Bs}!ft&&fe!=="der"&&(ft=b.fromCompact(U))}Rs=d.fromHex(j)}catch{return!1}if(!ft||V&&ft.hasHighS())return!1;se&&(L=e.hash(L));let{r:xo,s:ug}=ft,si=A(L),Ns=u(ug),dg=c(si*Ns),Pc=c(xo*Ns),ai=d.BASE.multiplyAndAddUnsafe(Rs,dg,Pc)?.toAffine();return ai?c(ai.x)===xo:!1}return{CURVE:e,getPublicKey:x,getSharedSecret:I,sign:F,verify:z,ProjectivePoint:d,Signature:b,utils:w}}function i8(t,e){let r=t.ORDER,n=_r;for(let g=r-pe;g%Oo===_r;g/=Oo)n+=pe;let o=n,i=Oo<<o-pe-pe,s=i*Oo,a=(r-pe)/s,c=(a-pe)/Oo,u=s-pe,d=i,l=t.pow(e,a),p=t.pow(e,(a+pe)/Oo),f=(g,m)=>{let h=l,b=t.pow(m,u),w=t.sqr(b);w=t.mul(w,m);let x=t.mul(g,w);x=t.pow(x,c),x=t.mul(x,b),b=t.mul(x,m),w=t.mul(x,g);let y=t.mul(w,b);x=t.pow(y,d);let I=t.eql(x,t.ONE);b=t.mul(w,p),x=t.mul(y,h),w=t.cmov(b,w,I),y=t.cmov(x,y,I);for(let S=o;S>pe;S--){let A=S-Oo;A=Oo<<A-pe;let P=t.pow(y,A),N=t.eql(P,t.ONE);b=t.mul(w,h),h=t.mul(h,h),P=t.mul(y,h),w=t.cmov(b,w,N),y=t.cmov(P,y,N)}return{isValid:I,value:w}};if(t.ORDER%_h===Fu){let g=(t.ORDER-Fu)/_h,m=t.sqrt(t.neg(e));f=(h,b)=>{let w=t.sqr(b),x=t.mul(h,b);w=t.mul(w,x);let y=t.pow(w,g);y=t.mul(y,x);let I=t.mul(y,m),S=t.mul(t.sqr(y),b),A=t.eql(S,h),P=t.cmov(I,y,A);return{isValid:A,value:P}}}return f}function W5(t,e){if(ef(t),!t.isValid(e.A)||!t.isValid(e.B)||!t.isValid(e.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");let r=i8(t,e.Z);if(!t.isOdd)throw new Error("Fp.isOdd is not implemented!");return n=>{let o,i,s,a,c,u,d,l;o=t.sqr(n),o=t.mul(o,e.Z),i=t.sqr(o),i=t.add(i,o),s=t.add(i,t.ONE),s=t.mul(s,e.B),a=t.cmov(e.Z,t.neg(i),!t.eql(i,t.ZERO)),a=t.mul(a,e.A),i=t.sqr(s),u=t.sqr(a),c=t.mul(u,e.A),i=t.add(i,c),i=t.mul(i,s),u=t.mul(u,a),c=t.mul(u,e.B),i=t.add(i,c),d=t.mul(o,s);let{isValid:p,value:f}=r(i,u);l=t.mul(o,n),l=t.mul(l,f),d=t.cmov(d,s,p),l=t.cmov(l,f,p);let g=t.isOdd(n)===t.isOdd(l);l=t.cmov(t.neg(l),l,g);let m=La(t,[a],!0)[0];return d=t.mul(d,m),{x:d,y:l}}}var Uh,so,_r,pe,Oo,Fu,_h,zh=C(()=>{"use strict";z5();Ou();Ba();Uh=class extends Error{constructor(e=""){super(e)}},so={Err:Uh,_tlv:{encode:(t,e)=>{let{Err:r}=so;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");let n=e.length/2,o=ku(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let i=n>127?ku(o.length/2|128):"";return ku(t)+i+o+e},decode(t,e){let{Err:r}=so,n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");let o=e[n++],i=!!(o&128),s=0;if(!i)s=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=e.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+s)}}},_int:{encode(t){let{Err:e}=so;if(t<_r)throw new e("integer: negative integers are not allowed");let r=ku(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){let{Err:e}=so;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return $t(t)}},toSig(t){let{Err:e,_int:r,_tlv:n}=so,o=$e("signature",t),{v:i,l:s}=n.decode(48,o);if(s.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:u,l:d}=n.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(t){let{_tlv:e,_int:r}=so,n=e.encode(2,r.encode(t.r)),o=e.encode(2,r.encode(t.s)),i=n+o;return e.encode(48,i)}};_r=BigInt(0),pe=BigInt(1),Oo=BigInt(2),Fu=BigInt(3),_h=BigInt(4)});function s8(t){return{hash:t,hmac:(e,...r)=>Sh(t,e,j6(...r)),randomBytes:Ap}}function G5(t,e){let r=n=>H5({...t,...s8(n)});return{...r(e),create:r}}var V5=C(()=>{"use strict";I5();Ro();zh();});function Fo(t,e){if(ju(t),ju(e),t<0||t>=1<<8*e)throw new Error("invalid I2OSP input: "+t);let r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=t&255,t>>>=8;return new Uint8Array(r)}function c8(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function ju(t){if(!Number.isSafeInteger(t))throw new Error("number expected")}function u8(t,e,r,n){no(t),no(e),ju(r),e.length>255&&(e=n(Nt(Yp("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=Nt(e,Fo(e.length,1)),c=Fo(0,i),u=Fo(r,2),d=new Array(s),l=n(Nt(c,t,u,Fo(0,1),a));d[0]=n(Nt(l,Fo(1,1),a));for(let f=1;f<=s;f++){let g=[c8(l,d[f-1]),Fo(f+1,1),a];d[f]=n(Nt(...g))}return Nt(...d).slice(0,r)}function d8(t,e,r,n,o){if(no(t),no(e),ju(r),e.length>255){let i=Math.ceil(2*n/8);e=o.create({dkLen:i}).update(Yp("H2C-OVERSIZE-DST-")).update(e).digest()}if(r>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(t).update(Fo(r,2)).update(e).update(Fo(e.length,1)).digest()}function q5(t,e,r){io(r,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;no(t),ju(e);let u=typeof c=="string"?Yp(c):c,d=n.toString(2).length,l=Math.ceil((d+o)/8),p=e*i*l,f;if(a==="xmd")f=u8(t,u,p,s);else if(a==="xof")f=d8(t,u,p,o,s);else if(a==="_internal_pass")f=t;else throw new Error('expand must be "xmd" or "xof"');let g=new Array(e);for(let m=0;m<e;m++){let h=new Array(i);for(let b=0;b<i;b++){let w=l*(b+m*i),x=f.subarray(w,w+l);h[b]=Fe(a8(x),n)}g[m]=h}return g}function K5(t,e){let r=e.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(l=>l.reduce((p,f)=>t.add(t.mul(p,n),f))),[u,d]=La(t,[s,c],!0);return n=t.mul(i,u),o=t.mul(o,t.mul(a,d)),{x:n,y:o}}}function Q5(t,e,r){if(typeof e!="function")throw new Error("mapToCurve() must be defined");function n(i){return t.fromAffine(e(i))}function o(i){let s=i.clearCofactor();return s.equals(t.ZERO)?t.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=q5(i,2,{...r,DST:r.DST,...s}),c=n(a[0]),u=n(a[1]);return o(c.add(u))},encodeToCurve(i,s){let a=q5(i,1,{...r,DST:r.encodeDST,...s});return o(n(a[0]))},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))}}}var a8,Z5=C(()=>{"use strict";Ou();Ba();a8=$t});var n2={};vt(n2,{encodeToCurve:()=>b8,hashToCurve:()=>h8,schnorr:()=>m8,secp256k1:()=>ir,secp256k1_hasher:()=>Kh});function X5(t){let e=zu,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,d=u*u*t%e,l=or(d,r,e)*d%e,p=or(l,r,e)*d%e,f=or(p,rf,e)*u%e,g=or(f,o,e)*f%e,m=or(g,i,e)*g%e,h=or(m,a,e)*m%e,b=or(h,c,e)*h%e,w=or(b,a,e)*m%e,x=or(w,r,e)*d%e,y=or(x,s,e)*g%e,I=or(y,n,e)*u%e,S=or(I,rf,e);if(!jo.eql(jo.sqr(S),t))throw new Error("Cannot find square root");return S}function nf(t,...e){let r=Y5[t];if(r===void 0){let n=Ji(Uint8Array.from(t,o=>o.charCodeAt(0)));r=Nt(n,n),Y5[t]=r}return Ji(Nt(r,...e))}function Wh(t){let e=ir.utils.normPrivateKeyToScalar(t),r=qh.fromPrivateKey(e);return{scalar:r.hasEvenY()?e:_u(-e),bytes:Vh(r)}}function e2(t){oo("x",t,Uu,zu);let e=$h(t*t),r=$h(e*t+BigInt(7)),n=X5(r);n%rf!==Gh&&(n=$h(-n));let o=new qh(t,n,Uu);return o.assertValidity(),o}function t2(...t){return _u(ka(nf("BIP0340/challenge",...t)))}function p8(t){return Wh(t).bytes}function f8(t,e,r=Ap(32)){let n=$e("message",t),{bytes:o,scalar:i}=Wh(e),s=$e("auxRand",r,32),a=Hh(i^ka(nf("BIP0340/aux",s))),c=nf("BIP0340/nonce",a,o,n),u=_u(ka(c));if(u===Gh)throw new Error("sign failed: k is zero");let{bytes:d,scalar:l}=Wh(u),p=t2(d,o,n),f=new Uint8Array(64);if(f.set(d,0),f.set(Hh(_u(l+p*i)),32),!r2(f,n,o))throw new Error("sign: Invalid signature produced");return f}function r2(t,e,r){let n=$e("signature",t,64),o=$e("message",e),i=$e("publicKey",r,32);try{let s=e2(ka(i)),a=ka(n.subarray(0,32));if(!Yi(a,Uu,zu))return!1;let c=ka(n.subarray(32,64));if(!Yi(c,Uu,tf))return!1;let u=t2(Hh(a),Vh(s),o),d=l8(s,c,_u(-u));return!(!d||!d.hasEvenY()||d.toAffine().x!==a)}catch{return!1}}var zu,tf,Gh,Uu,rf,J5,jo,ir,Y5,Vh,Hh,$h,_u,qh,l8,ka,m8,g8,y8,Kh,h8,b8,Ma=C(()=>{"use strict";Ih();Ro();V5();Z5();Ou();Ba();zh();zu=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),tf=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Gh=BigInt(0),Uu=BigInt(1),rf=BigInt(2),J5=(t,e)=>(t+e/rf)/e;jo=Du(zu,void 0,void 0,{sqrt:X5}),ir=G5({a:Gh,b:BigInt(7),Fp:jo,n:tf,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=tf,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Uu*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,s=BigInt("0x100000000000000000000000000000000"),a=J5(i*t,e),c=J5(-n*t,e),u=Fe(t-a*r-c*o,e),d=Fe(-a*n-c*i,e),l=u>s,p=d>s;if(l&&(u=e-u),p&&(d=e-d),u>s||d>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:p,k2:d}}}},Ji),Y5={};Vh=t=>t.toRawBytes(!0).slice(1),Hh=t=>un(t,32),$h=t=>Fe(t,zu),_u=t=>Fe(t,tf),qh=ir.ProjectivePoint,l8=(t,e,r)=>qh.BASE.multiplyAndAddUnsafe(t,e,r);ka=$t;m8={getPublicKey:p8,sign:f8,verify:r2,utils:{randomPrivateKey:ir.utils.randomPrivateKey,lift_x:e2,pointToBytes:Vh,numberToBytesBE:un,bytesToNumberBE:$t,taggedHash:nf,mod:Fe}},g8=K5(jo,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(t=>t.map(e=>BigInt(e)))),y8=W5(jo,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:jo.create(BigInt("-11"))}),Kh=Q5(ir.ProjectivePoint,t=>{let{x:e,y:r}=y8(jo.create(t[0]));return g8(e,r)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:jo.ORDER,m:1,k:128,expand:"xmd",hash:Ji}),h8=Kh.hashToCurve,b8=Kh.encodeToCurve});var dn,sr,rs,ns,ln,os,pn,is,ss,as,zr,ar,co=C(()=>{"use strict";va();K();dn=class extends v{constructor({cause:e,message:r}={}){let n=r?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}};Object.defineProperty(dn,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(dn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});sr=class extends v{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Qe(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}};Object.defineProperty(sr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});rs=class extends v{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Qe(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}};Object.defineProperty(rs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});ns=class extends v{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}};Object.defineProperty(ns,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});ln=class extends v{constructor({cause:e,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
33
|
+
`):`The contract function "${n}" reverted.`,{cause:s??i,metaMessages:c,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=a,this.raw=r,this.reason=u,this.signature=d}},Nu=class extends v{constructor({functionName:e,cause:r}){super(`The contract function "${e}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${e}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError",cause:r})}},Bu=class extends v{constructor({factory:e}){super(`Deployment for counterfactual contract call failed${e?` for factory "${e}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}},jr=class extends v{constructor({data:e,message:r}){super(r||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}});var tr,Zn,Jn,ko=C(()=>{"use strict";yt();K();qp();tr=class extends v{constructor({body:e,cause:r,details:n,headers:o,status:i,url:s}){super("HTTP request failed.",{cause:r,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Ri(s)}`,e&&`Request body: ${re(e)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=o,this.status=i,this.url=s}},Zn=class extends v{constructor({body:e,error:r,url:n}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Ri(n)}`,`Request body: ${re(e)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data,this.url=n}},Jn=class extends v{constructor({body:e,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Ri(r)}`,`Request body: ${re(e)}`],name:"TimeoutError"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=r}}});var $T,dt,lt,Li,ki,Di,Mi,cn,rr,Oi,Fi,ji,Yn,Do,Ui,Ur,_i,zi,$i,Hi,Wi,Xn,Gi,Vi,qi,Ki,Qi,eo,Ta,Lu,Zi=C(()=>{"use strict";K();ko();$T=-1,dt=class extends v{constructor(e,{code:r,docsPath:n,metaMessages:o,name:i,shortMessage:s}){super(s,{cause:e,docsPath:n,metaMessages:o||e?.metaMessages,name:i||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Zn?e.code:r??$T}},lt=class extends dt{constructor(e,r){super(e,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},Li=class t extends dt{constructor(e){super(e,{code:t.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(Li,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});ki=class t extends dt{constructor(e){super(e,{code:t.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});Di=class t extends dt{constructor(e,{method:r}={}){super(e,{code:t.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}};Object.defineProperty(Di,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Mi=class t extends dt{constructor(e){super(e,{code:t.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
34
|
+
`)})}};Object.defineProperty(Mi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});cn=class t extends dt{constructor(e){super(e,{code:t.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(cn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});rr=class t extends dt{constructor(e){super(e,{code:t.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
35
|
+
`)})}};Object.defineProperty(rr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});Oi=class t extends dt{constructor(e){super(e,{code:t.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(Oi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Fi=class t extends dt{constructor(e){super(e,{code:t.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Fi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});ji=class t extends dt{constructor(e){super(e,{code:t.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(ji,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});Yn=class t extends dt{constructor(e,{method:r}={}){super(e,{code:t.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(Yn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});Do=class t extends dt{constructor(e){super(e,{code:t.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});Ui=class t extends dt{constructor(e){super(e,{code:t.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(Ui,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});Ur=class t extends lt{constructor(e){super(e,{code:t.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(Ur,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});_i=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(_i,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});zi=class t extends lt{constructor(e,{method:r}={}){super(e,{code:t.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(zi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});$i=class t extends lt{constructor(e){super(e,{code:t.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty($i,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Hi=class t extends lt{constructor(e){super(e,{code:t.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(Hi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Wi=class t extends lt{constructor(e){super(e,{code:t.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Wi,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});Xn=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(Xn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Gi=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(Gi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});Vi=class t extends lt{constructor(e){super(e,{code:t.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(Vi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});qi=class t extends lt{constructor(e){super(e,{code:t.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(qi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Ki=class t extends lt{constructor(e){super(e,{code:t.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Qi=class t extends lt{constructor(e){super(e,{code:t.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Qi,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});eo=class t extends lt{constructor(e){super(e,{code:t.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(eo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});Ta=class t extends lt{constructor(e){super(e,{code:t.code,name:"WalletConnectSessionSettlementError",shortMessage:"WalletConnect session settlement failed."})}};Object.defineProperty(Ta,"code",{enumerable:!0,configurable:!0,writable:!0,value:7e3});Lu=class extends dt{constructor(e){super(e,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function WT(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}function b5(t,e,r){return t&e^~t&r}function x5(t,e,r){return t&e^t&r^e&r}var Qp,to,w5=C(()=>{"use strict";Ro();Qp=class extends Co{constructor(e,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(e),this.view=Sp(this.buffer)}update(e){Gn(this),e=Ei(e),en(e);let{view:r,buffer:n,blockLen:o}=this,i=e.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=Sp(e);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Gn(this),Ip(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,tn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)r[l]=0;WT(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Sp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,d[l],i)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return e.destroyed=s,e.finished=i,e.length=o,e.pos=a,o%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}},to=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225])});var GT,Mo,Zp,Ji,Ih=C(()=>{"use strict";w5();Ro();GT=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Mo=new Uint32Array(64),Zp=class extends Qp{constructor(e=32){super(64,e,8,!1),this.A=to[0]|0,this.B=to[1]|0,this.C=to[2]|0,this.D=to[3]|0,this.E=to[4]|0,this.F=to[5]|0,this.G=to[6]|0,this.H=to[7]|0}get(){let{A:e,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[e,r,n,o,i,s,a,c]}set(e,r,n,o,i,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)Mo[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let p=Mo[l-15],f=Mo[l-2],g=Mr(p,7)^Mr(p,18)^p>>>3,m=Mr(f,17)^Mr(f,19)^f>>>10;Mo[l]=m+Mo[l-7]+g+Mo[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:d}=this;for(let l=0;l<64;l++){let p=Mr(a,6)^Mr(a,11)^Mr(a,25),f=d+p+b5(a,c,u)+GT[l]+Mo[l]|0,m=(Mr(n,2)^Mr(n,13)^Mr(n,22))+x5(n,o,i)|0;d=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+m|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(n,o,i,s,a,c,u,d)}roundClean(){tn(Mo)}destroy(){this.set(0,0,0,0,0,0,0,0),tn(this.buffer)}},Ji=vp(()=>new Zp)});var Jp,Sh,I5=C(()=>{"use strict";Ro();Jp=class extends Co{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,O6(e);let n=Ei(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?e.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=e.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),tn(i)}update(e){return Gn(this),this.iHash.update(e),this}digestInto(e){Gn(this),en(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=i,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Sh=(t,e,r)=>new Jp(t,e).update(r).digest();Sh.create=(t,e)=>new Jp(t,e)});function Ca(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function no(t){if(!Ca(t))throw new Error("Uint8Array expected")}function Ra(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function ku(t){let e=t.toString(16);return e.length&1?"0"+e:e}function A5(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Eh:BigInt("0x"+t)}function Na(t){if(no(t),P5)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=VT[t[r]];return e}function S5(t){if(t>=ro._0&&t<=ro._9)return t-ro._0;if(t>=ro.A&&t<=ro.F)return t-(ro.A-10);if(t>=ro.a&&t<=ro.f)return t-(ro.a-10)}function Du(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(P5)return Uint8Array.fromHex(t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=S5(t.charCodeAt(i)),a=S5(t.charCodeAt(i+1));if(s===void 0||a===void 0){let c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $t(t){return A5(Na(t))}function Th(t){return no(t),A5(Na(Uint8Array.from(t).reverse()))}function un(t,e){return Du(t.toString(16).padStart(e*2,"0"))}function Ch(t,e){return un(t,e).reverse()}function $e(t,e,r){let n;if(typeof e=="string")try{n=Du(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Ca(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(t+" of length "+r+" expected, got "+o);return n}function Nt(...t){let e=0;for(let n=0;n<t.length;n++){let o=t[n];no(o),e+=o.length}let r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let i=t[n];r.set(i,o),o+=i.length}return r}function Yp(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Yi(t,e,r){return vh(t)&&vh(e)&&vh(r)&&e<=t&&t<r}function oo(t,e,r,n){if(!Yi(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function E5(t){let e;for(e=0;t>Eh;t>>=Ph,e+=1);return e}function T5(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Ah(t),o=Ah(t),i=0,s=()=>{n.fill(1),o.fill(0),i=0},a=(...l)=>r(o,n,...l),c=(l=Ah(0))=>{o=a(v5([0]),l),n=a(),l.length!==0&&(o=a(v5([1]),l),n=a())},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,p=[];for(;l<e;){n=a();let f=n.slice();p.push(f),l+=n.length}return Nt(...p)};return(l,p)=>{s(),c(l);let f;for(;!(f=p(u()));)c();return s(),f}}function io(t,e,r={}){let n=(o,i,s)=>{let a=qT[i];if(typeof a!="function")throw new Error("invalid validator function");let c=t[o];if(!(s&&c===void 0)&&!a(c,t))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+c)};for(let[o,i]of Object.entries(e))n(o,i,!1);for(let[o,i]of Object.entries(r))n(o,i,!0);return t}function Rh(t){let e=new WeakMap;return(r,...n)=>{let o=e.get(r);if(o!==void 0)return o;let i=t(r,...n);return e.set(r,i),i}}var Eh,Ph,P5,VT,ro,vh,Xi,Ah,v5,qT,Ba=C(()=>{"use strict";Eh=BigInt(0),Ph=BigInt(1);P5=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",VT=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));ro={_0:48,_9:57,A:65,F:70,a:97,f:102};vh=t=>typeof t=="bigint"&&Eh<=t;Xi=t=>(Ph<<BigInt(t))-Ph,Ah=t=>new Uint8Array(t),v5=t=>Uint8Array.from(t);qT={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Ca(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)}});function Fe(t,e){let r=t%e;return r>=Bt?r:e+r}function or(t,e,r){let n=t;for(;e-- >Bt;)n*=n,n%=r;return n}function Xp(t,e){if(t===Bt)throw new Error("invert: expected non-zero number");if(e<=Bt)throw new Error("invert: expected positive modulus, got "+e);let r=Fe(t,e),n=e,o=Bt,i=ht,s=ht,a=Bt;for(;r!==Bt;){let u=n/r,d=n%r,l=o-s*u,p=i-a*u;n=r,r=d,o=s,i=a,s=l,a=p}if(n!==ht)throw new Error("invert: does not exist");return Fe(o,e)}function L5(t,e){let r=(t.ORDER+ht)/R5,n=t.pow(e,r);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function QT(t,e){let r=(t.ORDER-N5)/B5,n=t.mul(e,es),o=t.pow(n,r),i=t.mul(e,o),s=t.mul(t.mul(i,es),o),a=t.mul(i,t.sub(s,t.ONE));if(!t.eql(t.sqr(a),e))throw new Error("Cannot find square root");return a}function ZT(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-ht,r=0;for(;e%es===Bt;)e/=es,r++;let n=es,o=Mu(t);for(;C5(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return L5;let i=o.pow(n,e),s=(e+ht)/es;return function(c,u){if(c.is0(u))return u;if(C5(c,u)!==1)throw new Error("Cannot find square root");let d=r,l=c.mul(c.ONE,i),p=c.pow(u,e),f=c.pow(u,s);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let g=1,m=c.sqr(p);for(;!c.eql(m,c.ONE);)if(g++,m=c.sqr(m),g===d)throw new Error("Cannot find square root");let h=ht<<BigInt(d-g-1),b=c.pow(l,h);d=g,l=c.sqr(b),p=c.mul(p,l),f=c.mul(f,b)}return f}}function JT(t){return t%R5===KT?L5:t%B5===N5?QT:ZT(t)}function ef(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=YT.reduce((n,o)=>(n[o]="function",n),e);return io(t,r)}function XT(t,e,r){if(r<Bt)throw new Error("invalid exponent, negatives unsupported");if(r===Bt)return t.ONE;if(r===ht)return e;let n=t.ONE,o=e;for(;r>Bt;)r&ht&&(n=t.mul(n,o)),o=t.sqr(o),r>>=ht;return n}function La(t,e,r=!1){let n=new Array(e.length).fill(r?t.ZERO:void 0),o=e.reduce((s,a,c)=>t.is0(a)?s:(n[c]=s,t.mul(s,a)),t.ONE),i=t.inv(o);return e.reduceRight((s,a,c)=>t.is0(a)?s:(n[c]=t.mul(s,n[c]),t.mul(s,a)),i),n}function C5(t,e){let r=(t.ORDER-ht)/es,n=t.pow(e,r),o=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),s=t.eql(n,t.neg(t.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Nh(t,e){e!==void 0&&Pi(e);let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Mu(t,e,r=!1,n={}){if(t<=Bt)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:o,nByteLength:i}=Nh(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:t,isLE:r,BITS:o,BYTES:i,MASK:Xi(o),ZERO:Bt,ONE:ht,create:c=>Fe(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Bt<=c&&c<t},is0:c=>c===Bt,isOdd:c=>(c&ht)===ht,neg:c=>Fe(-c,t),eql:(c,u)=>c===u,sqr:c=>Fe(c*c,t),add:(c,u)=>Fe(c+u,t),sub:(c,u)=>Fe(c-u,t),mul:(c,u)=>Fe(c*u,t),pow:(c,u)=>XT(a,c,u),div:(c,u)=>Fe(c*Xp(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Xp(c,t),sqrt:n.sqrt||(c=>(s||(s=JT(t)),s(a,c))),toBytes:c=>r?Ch(c,i):un(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?Th(c):$t(c)},invertBatch:c=>La(a,c),cmov:(c,u,d)=>d?u:c});return Object.freeze(a)}function k5(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Bh(t){let e=k5(t);return e+Math.ceil(e/2)}function D5(t,e,r=!1){let n=t.length,o=k5(e),i=Bh(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Th(t):$t(t),a=Fe(s,e-ht)+ht;return r?Ch(a,o):un(a,o)}var Bt,ht,es,KT,R5,N5,B5,YT,Ou=C(()=>{"use strict";Ro();Ba();Bt=BigInt(0),ht=BigInt(1),es=BigInt(2),KT=BigInt(3),R5=BigInt(4),N5=BigInt(5),B5=BigInt(8);YT=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"]});function Lh(t,e){let r=e.negate();return t?r:e}function F5(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function kh(t,e){F5(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1),o=2**t,i=Xi(t),s=BigInt(t);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function O5(t,e,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(t&o),c=t>>s;a>n&&(a-=i,c+=Oh);let u=e*n,d=u+Math.abs(a)-1,l=a===0,p=a<0,f=e%2!==0;return{nextN:c,offset:d,isZero:l,isNeg:p,isNegF:f,offsetF:u}}function e8(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function t8(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}function Mh(t){return j5.get(t)||1}function U5(t,e){return{constTimeNegate:Lh,hasPrecomputes(r){return Mh(r)!==1},unsafeLadder(r,n,o=t.ZERO){let i=r;for(;n>M5;)n&Oh&&(o=o.add(i)),i=i.double(),n>>=Oh;return o},precomputeWindow(r,n){let{windows:o,windowSize:i}=kh(n,e),s=[],a=r,c=a;for(let u=0;u<o;u++){c=a,s.push(c);for(let d=1;d<i;d++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(r,n,o){let i=t.ZERO,s=t.BASE,a=kh(r,e);for(let c=0;c<a.windows;c++){let{nextN:u,offset:d,isZero:l,isNeg:p,isNegF:f,offsetF:g}=O5(o,c,a);o=u,l?s=s.add(Lh(f,n[g])):i=i.add(Lh(p,n[d]))}return{p:i,f:s}},wNAFUnsafe(r,n,o,i=t.ZERO){let s=kh(r,e);for(let a=0;a<s.windows&&o!==M5;a++){let{nextN:c,offset:u,isZero:d,isNeg:l}=O5(o,a,s);if(o=c,!d){let p=n[u];i=i.add(l?p.negate():p)}}return i},getPrecomputes(r,n,o){let i=Dh.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&Dh.set(n,o(i))),i},wNAFCached(r,n,o){let i=Mh(r);return this.wNAF(i,this.getPrecomputes(i,r,o),n)},wNAFCachedUnsafe(r,n,o,i){let s=Mh(r);return s===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,r,o),n,i)},setWindowSize(r,n){F5(n,e),j5.set(r,n),Dh.delete(r)}}}function _5(t,e,r,n){e8(r,t),t8(n,e);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=t.ZERO,a=E5(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Xi(c),d=new Array(Number(u)+1).fill(s),l=Math.floor((e.BITS-1)/c)*c,p=s;for(let f=l;f>=0;f-=c){d.fill(s);for(let m=0;m<i;m++){let h=n[m],b=Number(h>>BigInt(f)&u);d[b]=d[b].add(r[m])}let g=s;for(let m=d.length-1,h=s;m>0;m--)h=h.add(d[m]),g=g.add(h);if(p=p.add(g),f!==0)for(let m=0;m<c;m++)p=p.double()}return p}function Fh(t){return ef(t.Fp),io(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Nh(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var M5,Oh,Dh,j5,z5=C(()=>{"use strict";Ou();Ba();M5=BigInt(0),Oh=BigInt(1);Dh=new WeakMap,j5=new WeakMap});function $5(t){t.lowS!==void 0&&Ra("lowS",t.lowS),t.prehash!==void 0&&Ra("prehash",t.prehash)}function r8(t){let e=Fh(t);io(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:r,Fp:n,a:o}=e;if(r){if(!n.eql(o,n.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}function jh(t,e){return Na(un(t,e))}function n8(t){let e=r8(t),{Fp:r}=e,n=Mu(e.n,e.nBitLength),o=e.toBytes||((x,y,I)=>{let S=y.toAffine();return Nt(Uint8Array.from([4]),r.toBytes(S.x),r.toBytes(S.y))}),i=e.fromBytes||(x=>{let y=x.subarray(1),I=r.fromBytes(y.subarray(0,r.BYTES)),S=r.fromBytes(y.subarray(r.BYTES,2*r.BYTES));return{x:I,y:S}});function s(x){let{a:y,b:I}=e,S=r.sqr(x),A=r.mul(S,x);return r.add(r.add(A,r.mul(x,y)),I)}function a(x,y){let I=r.sqr(y),S=s(x);return r.eql(I,S)}if(!a(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=r.mul(r.pow(e.a,Fu),_h),u=r.mul(r.sqr(e.b),BigInt(27));if(r.is0(r.add(c,u)))throw new Error("bad curve params: a or b");function d(x){return Yi(x,pe,e.n)}function l(x){let{allowedPrivateKeyLengths:y,nByteLength:I,wrapPrivateKey:S,n:A}=e;if(y&&typeof x!="bigint"){if(Ca(x)&&(x=Na(x)),typeof x!="string"||!y.includes(x.length))throw new Error("invalid private key");x=x.padStart(I*2,"0")}let P;try{P=typeof x=="bigint"?x:$t($e("private key",x,I))}catch{throw new Error("invalid private key, expected hex or "+I+" bytes, got "+typeof x)}return S&&(P=Fe(P,A)),oo("private key",P,pe,A),P}function p(x){if(!(x instanceof m))throw new Error("ProjectivePoint expected")}let f=Rh((x,y)=>{let{px:I,py:S,pz:A}=x;if(r.eql(A,r.ONE))return{x:I,y:S};let P=x.is0();y==null&&(y=P?r.ONE:r.inv(A));let N=r.mul(I,y),T=r.mul(S,y),D=r.mul(A,y);if(P)return{x:r.ZERO,y:r.ZERO};if(!r.eql(D,r.ONE))throw new Error("invZ was invalid");return{x:N,y:T}}),g=Rh(x=>{if(x.is0()){if(e.allowInfinityPoint&&!r.is0(x.py))return;throw new Error("bad point: ZERO")}let{x:y,y:I}=x.toAffine();if(!r.isValid(y)||!r.isValid(I))throw new Error("bad point: x or y not FE");if(!a(y,I))throw new Error("bad point: equation left != right");if(!x.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class m{constructor(y,I,S){if(y==null||!r.isValid(y))throw new Error("x required");if(I==null||!r.isValid(I)||r.is0(I))throw new Error("y required");if(S==null||!r.isValid(S))throw new Error("z required");this.px=y,this.py=I,this.pz=S,Object.freeze(this)}static fromAffine(y){let{x:I,y:S}=y||{};if(!y||!r.isValid(I)||!r.isValid(S))throw new Error("invalid affine point");if(y instanceof m)throw new Error("projective point not allowed");let A=P=>r.eql(P,r.ZERO);return A(I)&&A(S)?m.ZERO:new m(I,S,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(y){let I=La(r,y.map(S=>S.pz));return y.map((S,A)=>S.toAffine(I[A])).map(m.fromAffine)}static fromHex(y){let I=m.fromAffine(i($e("pointHex",y)));return I.assertValidity(),I}static fromPrivateKey(y){return m.BASE.multiply(l(y))}static msm(y,I){return _5(m,n,y,I)}_setWindowSize(y){w.setWindowSize(this,y)}assertValidity(){g(this)}hasEvenY(){let{y}=this.toAffine();if(r.isOdd)return!r.isOdd(y);throw new Error("Field doesn't support isOdd")}equals(y){p(y);let{px:I,py:S,pz:A}=this,{px:P,py:N,pz:T}=y,D=r.eql(r.mul(I,T),r.mul(P,A)),O=r.eql(r.mul(S,T),r.mul(N,A));return D&&O}negate(){return new m(this.px,r.neg(this.py),this.pz)}double(){let{a:y,b:I}=e,S=r.mul(I,Fu),{px:A,py:P,pz:N}=this,T=r.ZERO,D=r.ZERO,O=r.ZERO,F=r.mul(A,A),z=r.mul(P,P),B=r.mul(N,N),L=r.mul(A,P);return L=r.add(L,L),O=r.mul(A,N),O=r.add(O,O),T=r.mul(y,O),D=r.mul(S,B),D=r.add(T,D),T=r.sub(z,D),D=r.add(z,D),D=r.mul(T,D),T=r.mul(L,T),O=r.mul(S,O),B=r.mul(y,B),L=r.sub(F,B),L=r.mul(y,L),L=r.add(L,O),O=r.add(F,F),F=r.add(O,F),F=r.add(F,B),F=r.mul(F,L),D=r.add(D,F),B=r.mul(P,N),B=r.add(B,B),F=r.mul(B,L),T=r.sub(T,F),O=r.mul(B,z),O=r.add(O,O),O=r.add(O,O),new m(T,D,O)}add(y){p(y);let{px:I,py:S,pz:A}=this,{px:P,py:N,pz:T}=y,D=r.ZERO,O=r.ZERO,F=r.ZERO,z=e.a,B=r.mul(e.b,Fu),L=r.mul(I,P),j=r.mul(S,N),M=r.mul(A,T),U=r.add(I,S),V=r.add(P,N);U=r.mul(U,V),V=r.add(L,j),U=r.sub(U,V),V=r.add(I,A);let se=r.add(P,T);return V=r.mul(V,se),se=r.add(L,M),V=r.sub(V,se),se=r.add(S,A),D=r.add(N,T),se=r.mul(se,D),D=r.add(j,M),se=r.sub(se,D),F=r.mul(z,V),D=r.mul(B,M),F=r.add(D,F),D=r.sub(j,F),F=r.add(j,F),O=r.mul(D,F),j=r.add(L,L),j=r.add(j,L),M=r.mul(z,M),V=r.mul(B,V),j=r.add(j,M),M=r.sub(L,M),M=r.mul(z,M),V=r.add(V,M),L=r.mul(j,V),O=r.add(O,L),L=r.mul(se,V),D=r.mul(U,D),D=r.sub(D,L),L=r.mul(U,j),F=r.mul(se,F),F=r.add(F,L),new m(D,O,F)}subtract(y){return this.add(y.negate())}is0(){return this.equals(m.ZERO)}wNAF(y){return w.wNAFCached(this,y,m.normalizeZ)}multiplyUnsafe(y){let{endo:I,n:S}=e;oo("scalar",y,_r,S);let A=m.ZERO;if(y===_r)return A;if(this.is0()||y===pe)return this;if(!I||w.hasPrecomputes(this))return w.wNAFCachedUnsafe(this,y,m.normalizeZ);let{k1neg:P,k1:N,k2neg:T,k2:D}=I.splitScalar(y),O=A,F=A,z=this;for(;N>_r||D>_r;)N&pe&&(O=O.add(z)),D&pe&&(F=F.add(z)),z=z.double(),N>>=pe,D>>=pe;return P&&(O=O.negate()),T&&(F=F.negate()),F=new m(r.mul(F.px,I.beta),F.py,F.pz),O.add(F)}multiply(y){let{endo:I,n:S}=e;oo("scalar",y,pe,S);let A,P;if(I){let{k1neg:N,k1:T,k2neg:D,k2:O}=I.splitScalar(y),{p:F,f:z}=this.wNAF(T),{p:B,f:L}=this.wNAF(O);F=w.constTimeNegate(N,F),B=w.constTimeNegate(D,B),B=new m(r.mul(B.px,I.beta),B.py,B.pz),A=F.add(B),P=z.add(L)}else{let{p:N,f:T}=this.wNAF(y);A=N,P=T}return m.normalizeZ([A,P])[0]}multiplyAndAddUnsafe(y,I,S){let A=m.BASE,P=(T,D)=>D===_r||D===pe||!T.equals(A)?T.multiplyUnsafe(D):T.multiply(D),N=P(this,I).add(P(y,S));return N.is0()?void 0:N}toAffine(y){return f(this,y)}isTorsionFree(){let{h:y,isTorsionFree:I}=e;if(y===pe)return!0;if(I)return I(m,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:y,clearCofactor:I}=e;return y===pe?this:I?I(m,this):this.multiplyUnsafe(e.h)}toRawBytes(y=!0){return Ra("isCompressed",y),this.assertValidity(),o(m,this,y)}toHex(y=!0){return Ra("isCompressed",y),Na(this.toRawBytes(y))}}m.BASE=new m(e.Gx,e.Gy,r.ONE),m.ZERO=new m(r.ZERO,r.ONE,r.ZERO);let{endo:h,nBitLength:b}=e,w=U5(m,h?Math.ceil(b/2):b);return{CURVE:e,ProjectivePoint:m,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:d}}function o8(t){let e=Fh(t);return io(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function H5(t){let e=o8(t),{Fp:r,n,nByteLength:o,nBitLength:i}=e,s=r.BYTES+1,a=2*r.BYTES+1;function c(B){return Fe(B,n)}function u(B){return Xp(B,n)}let{ProjectivePoint:d,normPrivateKeyToScalar:l,weierstrassEquation:p,isWithinCurveOrder:f}=n8({...e,toBytes(B,L,j){let M=L.toAffine(),U=r.toBytes(M.x),V=Nt;return Ra("isCompressed",j),j?V(Uint8Array.from([L.hasEvenY()?2:3]),U):V(Uint8Array.from([4]),U,r.toBytes(M.y))},fromBytes(B){let L=B.length,j=B[0],M=B.subarray(1);if(L===s&&(j===2||j===3)){let U=$t(M);if(!Yi(U,pe,r.ORDER))throw new Error("Point is not on curve");let V=p(U),se;try{se=r.sqrt(V)}catch(Lt){let ft=Lt instanceof Error?": "+Lt.message:"";throw new Error("Point is not on curve"+ft)}let fe=(se&pe)===pe;return(j&1)===1!==fe&&(se=r.neg(se)),{x:U,y:se}}else if(L===a&&j===4){let U=r.fromBytes(M.subarray(0,r.BYTES)),V=r.fromBytes(M.subarray(r.BYTES,2*r.BYTES));return{x:U,y:V}}else{let U=s,V=a;throw new Error("invalid Point, expected length of "+U+", or uncompressed "+V+", got "+L)}}});function g(B){let L=n>>pe;return B>L}function m(B){return g(B)?c(-B):B}let h=(B,L,j)=>$t(B.slice(L,j));class b{constructor(L,j,M){oo("r",L,pe,n),oo("s",j,pe,n),this.r=L,this.s=j,M!=null&&(this.recovery=M),Object.freeze(this)}static fromCompact(L){let j=o;return L=$e("compactSignature",L,j*2),new b(h(L,0,j),h(L,j,2*j))}static fromDER(L){let{r:j,s:M}=so.toSig($e("DER",L));return new b(j,M)}assertValidity(){}addRecoveryBit(L){return new b(this.r,this.s,L)}recoverPublicKey(L){let{r:j,s:M,recovery:U}=this,V=A($e("msgHash",L));if(U==null||![0,1,2,3].includes(U))throw new Error("recovery id invalid");let se=U===2||U===3?j+e.n:j;if(se>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let fe=(U&1)===0?"02":"03",Ar=d.fromHex(fe+jh(se,r.BYTES)),Lt=u(se),ft=c(-V*Lt),Rs=c(M*Lt),xo=d.BASE.multiplyAndAddUnsafe(Ar,ft,Rs);if(!xo)throw new Error("point at infinify");return xo.assertValidity(),xo}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Du(this.toDERHex())}toDERHex(){return so.hexFromSig(this)}toCompactRawBytes(){return Du(this.toCompactHex())}toCompactHex(){let L=o;return jh(this.r,L)+jh(this.s,L)}}let w={isValidPrivateKey(B){try{return l(B),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let B=Bh(e.n);return D5(e.randomBytes(B),e.n)},precompute(B=8,L=d.BASE){return L._setWindowSize(B),L.multiply(BigInt(3)),L}};function x(B,L=!0){return d.fromPrivateKey(B).toRawBytes(L)}function y(B){if(typeof B=="bigint")return!1;if(B instanceof d)return!0;let j=$e("key",B).length,M=r.BYTES,U=M+1,V=2*M+1;if(!(e.allowedPrivateKeyLengths||o===U))return j===U||j===V}function I(B,L,j=!0){if(y(B)===!0)throw new Error("first arg must be private key");if(y(L)===!1)throw new Error("second arg must be public key");return d.fromHex(L).multiply(l(B)).toRawBytes(j)}let S=e.bits2int||function(B){if(B.length>8192)throw new Error("input is too large");let L=$t(B),j=B.length*8-i;return j>0?L>>BigInt(j):L},A=e.bits2int_modN||function(B){return c(S(B))},P=Xi(i);function N(B){return oo("num < 2^"+i,B,_r,P),un(B,o)}function T(B,L,j=D){if(["recovered","canonical"].some(si=>si in j))throw new Error("sign() legacy options not supported");let{hash:M,randomBytes:U}=e,{lowS:V,prehash:se,extraEntropy:fe}=j;V==null&&(V=!0),B=$e("msgHash",B),$5(j),se&&(B=$e("prehashed msgHash",M(B)));let Ar=A(B),Lt=l(L),ft=[N(Lt),N(Ar)];if(fe!=null&&fe!==!1){let si=fe===!0?U(r.BYTES):fe;ft.push($e("extraEntropy",si))}let Rs=Nt(...ft),xo=Ar;function ug(si){let Ns=S(si);if(!f(Ns))return;let dg=u(Ns),Pc=d.BASE.multiply(Ns).toAffine(),ai=c(Pc.x);if(ai===_r)return;let Ec=c(dg*c(xo+ai*Lt));if(Ec===_r)return;let Bs=(Pc.x===ai?0:2)|Number(Pc.y&pe),ox=Ec;return V&&g(Ec)&&(ox=m(Ec),Bs^=1),new b(ai,ox,Bs)}return{seed:Rs,k2sig:ug}}let D={lowS:e.lowS,prehash:!1},O={lowS:e.lowS,prehash:!1};function F(B,L,j=D){let{seed:M,k2sig:U}=T(B,L,j),V=e;return T5(V.hash.outputLen,V.nByteLength,V.hmac)(M,U)}d.BASE._setWindowSize(8);function z(B,L,j,M=O){let U=B;L=$e("msgHash",L),j=$e("publicKey",j);let{lowS:V,prehash:se,format:fe}=M;if($5(M),"strict"in M)throw new Error("options.strict was renamed to lowS");if(fe!==void 0&&fe!=="compact"&&fe!=="der")throw new Error("format must be compact or der");let Ar=typeof U=="string"||Ca(U),Lt=!Ar&&!fe&&typeof U=="object"&&U!==null&&typeof U.r=="bigint"&&typeof U.s=="bigint";if(!Ar&&!Lt)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ft,Rs;try{if(Lt&&(ft=new b(U.r,U.s)),Ar){try{fe!=="compact"&&(ft=b.fromDER(U))}catch(Bs){if(!(Bs instanceof so.Err))throw Bs}!ft&&fe!=="der"&&(ft=b.fromCompact(U))}Rs=d.fromHex(j)}catch{return!1}if(!ft||V&&ft.hasHighS())return!1;se&&(L=e.hash(L));let{r:xo,s:ug}=ft,si=A(L),Ns=u(ug),dg=c(si*Ns),Pc=c(xo*Ns),ai=d.BASE.multiplyAndAddUnsafe(Rs,dg,Pc)?.toAffine();return ai?c(ai.x)===xo:!1}return{CURVE:e,getPublicKey:x,getSharedSecret:I,sign:F,verify:z,ProjectivePoint:d,Signature:b,utils:w}}function i8(t,e){let r=t.ORDER,n=_r;for(let g=r-pe;g%Oo===_r;g/=Oo)n+=pe;let o=n,i=Oo<<o-pe-pe,s=i*Oo,a=(r-pe)/s,c=(a-pe)/Oo,u=s-pe,d=i,l=t.pow(e,a),p=t.pow(e,(a+pe)/Oo),f=(g,m)=>{let h=l,b=t.pow(m,u),w=t.sqr(b);w=t.mul(w,m);let x=t.mul(g,w);x=t.pow(x,c),x=t.mul(x,b),b=t.mul(x,m),w=t.mul(x,g);let y=t.mul(w,b);x=t.pow(y,d);let I=t.eql(x,t.ONE);b=t.mul(w,p),x=t.mul(y,h),w=t.cmov(b,w,I),y=t.cmov(x,y,I);for(let S=o;S>pe;S--){let A=S-Oo;A=Oo<<A-pe;let P=t.pow(y,A),N=t.eql(P,t.ONE);b=t.mul(w,h),h=t.mul(h,h),P=t.mul(y,h),w=t.cmov(b,w,N),y=t.cmov(P,y,N)}return{isValid:I,value:w}};if(t.ORDER%_h===Fu){let g=(t.ORDER-Fu)/_h,m=t.sqrt(t.neg(e));f=(h,b)=>{let w=t.sqr(b),x=t.mul(h,b);w=t.mul(w,x);let y=t.pow(w,g);y=t.mul(y,x);let I=t.mul(y,m),S=t.mul(t.sqr(y),b),A=t.eql(S,h),P=t.cmov(I,y,A);return{isValid:A,value:P}}}return f}function W5(t,e){if(ef(t),!t.isValid(e.A)||!t.isValid(e.B)||!t.isValid(e.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");let r=i8(t,e.Z);if(!t.isOdd)throw new Error("Fp.isOdd is not implemented!");return n=>{let o,i,s,a,c,u,d,l;o=t.sqr(n),o=t.mul(o,e.Z),i=t.sqr(o),i=t.add(i,o),s=t.add(i,t.ONE),s=t.mul(s,e.B),a=t.cmov(e.Z,t.neg(i),!t.eql(i,t.ZERO)),a=t.mul(a,e.A),i=t.sqr(s),u=t.sqr(a),c=t.mul(u,e.A),i=t.add(i,c),i=t.mul(i,s),u=t.mul(u,a),c=t.mul(u,e.B),i=t.add(i,c),d=t.mul(o,s);let{isValid:p,value:f}=r(i,u);l=t.mul(o,n),l=t.mul(l,f),d=t.cmov(d,s,p),l=t.cmov(l,f,p);let g=t.isOdd(n)===t.isOdd(l);l=t.cmov(t.neg(l),l,g);let m=La(t,[a],!0)[0];return d=t.mul(d,m),{x:d,y:l}}}var Uh,so,_r,pe,Oo,Fu,_h,zh=C(()=>{"use strict";z5();Ou();Ba();Uh=class extends Error{constructor(e=""){super(e)}},so={Err:Uh,_tlv:{encode:(t,e)=>{let{Err:r}=so;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");let n=e.length/2,o=ku(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let i=n>127?ku(o.length/2|128):"";return ku(t)+i+o+e},decode(t,e){let{Err:r}=so,n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");let o=e[n++],i=!!(o&128),s=0;if(!i)s=o;else{let c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=e.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+s)}}},_int:{encode(t){let{Err:e}=so;if(t<_r)throw new e("integer: negative integers are not allowed");let r=ku(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){let{Err:e}=so;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return $t(t)}},toSig(t){let{Err:e,_int:r,_tlv:n}=so,o=$e("signature",t),{v:i,l:s}=n.decode(48,o);if(s.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:u,l:d}=n.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(t){let{_tlv:e,_int:r}=so,n=e.encode(2,r.encode(t.r)),o=e.encode(2,r.encode(t.s)),i=n+o;return e.encode(48,i)}};_r=BigInt(0),pe=BigInt(1),Oo=BigInt(2),Fu=BigInt(3),_h=BigInt(4)});function s8(t){return{hash:t,hmac:(e,...r)=>Sh(t,e,j6(...r)),randomBytes:Ap}}function G5(t,e){let r=n=>H5({...t,...s8(n)});return{...r(e),create:r}}var V5=C(()=>{"use strict";I5();Ro();zh();});function Fo(t,e){if(ju(t),ju(e),t<0||t>=1<<8*e)throw new Error("invalid I2OSP input: "+t);let r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=t&255,t>>>=8;return new Uint8Array(r)}function c8(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return r}function ju(t){if(!Number.isSafeInteger(t))throw new Error("number expected")}function u8(t,e,r,n){no(t),no(e),ju(r),e.length>255&&(e=n(Nt(Yp("H2C-OVERSIZE-DST-"),e)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=Nt(e,Fo(e.length,1)),c=Fo(0,i),u=Fo(r,2),d=new Array(s),l=n(Nt(c,t,u,Fo(0,1),a));d[0]=n(Nt(l,Fo(1,1),a));for(let f=1;f<=s;f++){let g=[c8(l,d[f-1]),Fo(f+1,1),a];d[f]=n(Nt(...g))}return Nt(...d).slice(0,r)}function d8(t,e,r,n,o){if(no(t),no(e),ju(r),e.length>255){let i=Math.ceil(2*n/8);e=o.create({dkLen:i}).update(Yp("H2C-OVERSIZE-DST-")).update(e).digest()}if(r>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(t).update(Fo(r,2)).update(e).update(Fo(e.length,1)).digest()}function q5(t,e,r){io(r,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;no(t),ju(e);let u=typeof c=="string"?Yp(c):c,d=n.toString(2).length,l=Math.ceil((d+o)/8),p=e*i*l,f;if(a==="xmd")f=u8(t,u,p,s);else if(a==="xof")f=d8(t,u,p,o,s);else if(a==="_internal_pass")f=t;else throw new Error('expand must be "xmd" or "xof"');let g=new Array(e);for(let m=0;m<e;m++){let h=new Array(i);for(let b=0;b<i;b++){let w=l*(b+m*i),x=f.subarray(w,w+l);h[b]=Fe(a8(x),n)}g[m]=h}return g}function K5(t,e){let r=e.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(l=>l.reduce((p,f)=>t.add(t.mul(p,n),f))),[u,d]=La(t,[s,c],!0);return n=t.mul(i,u),o=t.mul(o,t.mul(a,d)),{x:n,y:o}}}function Q5(t,e,r){if(typeof e!="function")throw new Error("mapToCurve() must be defined");function n(i){return t.fromAffine(e(i))}function o(i){let s=i.clearCofactor();return s.equals(t.ZERO)?t.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=q5(i,2,{...r,DST:r.DST,...s}),c=n(a[0]),u=n(a[1]);return o(c.add(u))},encodeToCurve(i,s){let a=q5(i,1,{...r,DST:r.encodeDST,...s});return o(n(a[0]))},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))}}}var a8,Z5=C(()=>{"use strict";Ou();Ba();a8=$t});var n2={};vt(n2,{encodeToCurve:()=>b8,hashToCurve:()=>h8,schnorr:()=>m8,secp256k1:()=>ir,secp256k1_hasher:()=>Kh});function X5(t){let e=zu,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,d=u*u*t%e,l=or(d,r,e)*d%e,p=or(l,r,e)*d%e,f=or(p,rf,e)*u%e,g=or(f,o,e)*f%e,m=or(g,i,e)*g%e,h=or(m,a,e)*m%e,b=or(h,c,e)*h%e,w=or(b,a,e)*m%e,x=or(w,r,e)*d%e,y=or(x,s,e)*g%e,I=or(y,n,e)*u%e,S=or(I,rf,e);if(!jo.eql(jo.sqr(S),t))throw new Error("Cannot find square root");return S}function nf(t,...e){let r=Y5[t];if(r===void 0){let n=Ji(Uint8Array.from(t,o=>o.charCodeAt(0)));r=Nt(n,n),Y5[t]=r}return Ji(Nt(r,...e))}function Wh(t){let e=ir.utils.normPrivateKeyToScalar(t),r=qh.fromPrivateKey(e);return{scalar:r.hasEvenY()?e:_u(-e),bytes:Vh(r)}}function e2(t){oo("x",t,Uu,zu);let e=$h(t*t),r=$h(e*t+BigInt(7)),n=X5(r);n%rf!==Gh&&(n=$h(-n));let o=new qh(t,n,Uu);return o.assertValidity(),o}function t2(...t){return _u(ka(nf("BIP0340/challenge",...t)))}function p8(t){return Wh(t).bytes}function f8(t,e,r=Ap(32)){let n=$e("message",t),{bytes:o,scalar:i}=Wh(e),s=$e("auxRand",r,32),a=Hh(i^ka(nf("BIP0340/aux",s))),c=nf("BIP0340/nonce",a,o,n),u=_u(ka(c));if(u===Gh)throw new Error("sign failed: k is zero");let{bytes:d,scalar:l}=Wh(u),p=t2(d,o,n),f=new Uint8Array(64);if(f.set(d,0),f.set(Hh(_u(l+p*i)),32),!r2(f,n,o))throw new Error("sign: Invalid signature produced");return f}function r2(t,e,r){let n=$e("signature",t,64),o=$e("message",e),i=$e("publicKey",r,32);try{let s=e2(ka(i)),a=ka(n.subarray(0,32));if(!Yi(a,Uu,zu))return!1;let c=ka(n.subarray(32,64));if(!Yi(c,Uu,tf))return!1;let u=t2(Hh(a),Vh(s),o),d=l8(s,c,_u(-u));return!(!d||!d.hasEvenY()||d.toAffine().x!==a)}catch{return!1}}var zu,tf,Gh,Uu,rf,J5,jo,ir,Y5,Vh,Hh,$h,_u,qh,l8,ka,m8,g8,y8,Kh,h8,b8,Da=C(()=>{"use strict";Ih();Ro();V5();Z5();Ou();Ba();zh();zu=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),tf=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Gh=BigInt(0),Uu=BigInt(1),rf=BigInt(2),J5=(t,e)=>(t+e/rf)/e;jo=Mu(zu,void 0,void 0,{sqrt:X5}),ir=G5({a:Gh,b:BigInt(7),Fp:jo,n:tf,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=tf,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Uu*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,s=BigInt("0x100000000000000000000000000000000"),a=J5(i*t,e),c=J5(-n*t,e),u=Fe(t-a*r-c*o,e),d=Fe(-a*n-c*i,e),l=u>s,p=d>s;if(l&&(u=e-u),p&&(d=e-d),u>s||d>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:p,k2:d}}}},Ji),Y5={};Vh=t=>t.toRawBytes(!0).slice(1),Hh=t=>un(t,32),$h=t=>Fe(t,zu),_u=t=>Fe(t,tf),qh=ir.ProjectivePoint,l8=(t,e,r)=>qh.BASE.multiplyAndAddUnsafe(t,e,r);ka=$t;m8={getPublicKey:p8,sign:f8,verify:r2,utils:{randomPrivateKey:ir.utils.randomPrivateKey,lift_x:e2,pointToBytes:Vh,numberToBytesBE:un,bytesToNumberBE:$t,taggedHash:nf,mod:Fe}},g8=K5(jo,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(t=>t.map(e=>BigInt(e)))),y8=W5(jo,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:jo.create(BigInt("-11"))}),Kh=Q5(ir.ProjectivePoint,t=>{let{x:e,y:r}=y8(jo.create(t[0]));return g8(e,r)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:jo.ORDER,m:1,k:128,expand:"xmd",hash:Ji}),h8=Kh.hashToCurve,b8=Kh.encodeToCurve});var dn,sr,rs,ns,ln,os,pn,is,ss,as,zr,ar,co=C(()=>{"use strict";va();K();dn=class extends v{constructor({cause:e,message:r}={}){let n=r?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}};Object.defineProperty(dn,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(dn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});sr=class extends v{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Qe(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}};Object.defineProperty(sr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});rs=class extends v{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Qe(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}};Object.defineProperty(rs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});ns=class extends v{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}};Object.defineProperty(ns,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});ln=class extends v{constructor({cause:e,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
36
36
|
`),{cause:e,name:"NonceTooLowError"})}};Object.defineProperty(ln,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});os=class extends v{constructor({cause:e,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}};Object.defineProperty(os,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});pn=class extends v{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
37
37
|
`),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}};Object.defineProperty(pn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});is=class extends v{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}};Object.defineProperty(is,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});ss=class extends v{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}};Object.defineProperty(ss,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});as=class extends v{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(as,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});zr=class extends v{constructor({cause:e,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Qe(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${Qe(n)} gwei`:""}).`].join(`
|
|
38
|
-
`),{cause:e,name:"TipAboveFeeCapError"})}};Object.defineProperty(zr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});ar=class extends v{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}});function _o(t,e){let r=(t.details||"").toLowerCase(),n=t instanceof v?t.walk(o=>o?.code===dn.code):t;return n instanceof v?new dn({cause:t,message:n.details}):dn.nodeMessage.test(r)?new dn({cause:t,message:t.details}):sr.nodeMessage.test(r)?new sr({cause:t,maxFeePerGas:e?.maxFeePerGas}):rs.nodeMessage.test(r)?new rs({cause:t,maxFeePerGas:e?.maxFeePerGas}):ns.nodeMessage.test(r)?new ns({cause:t,nonce:e?.nonce}):ln.nodeMessage.test(r)?new ln({cause:t,nonce:e?.nonce}):os.nodeMessage.test(r)?new os({cause:t,nonce:e?.nonce}):pn.nodeMessage.test(r)?new pn({cause:t}):is.nodeMessage.test(r)?new is({cause:t,gas:e?.gas}):ss.nodeMessage.test(r)?new ss({cause:t,gas:e?.gas}):as.nodeMessage.test(r)?new as({cause:t}):zr.nodeMessage.test(r)?new zr({cause:t,maxFeePerGas:e?.maxFeePerGas,maxPriorityFeePerGas:e?.maxPriorityFeePerGas}):new ar({cause:t})}var $u=C(()=>{"use strict";K();co()});function yr(t,{format:e}){if(!e)return{};let r={};function n(i){let s=Object.keys(i);for(let a of s)a in t&&(r[a]=t[a]),i[a]&&typeof i[a]=="object"&&!Array.isArray(i[a])&&n(i[a])}let o=e(t||{});return n(o),r}var cs=C(()=>{"use strict"});function bt(t,e){let r={};return typeof t.authorizationList<"u"&&(r.authorizationList=S8(t.authorizationList)),typeof t.accessList<"u"&&(r.accessList=t.accessList),typeof t.blobVersionedHashes<"u"&&(r.blobVersionedHashes=t.blobVersionedHashes),typeof t.blobs<"u"&&(typeof t.blobs[0]!="string"?r.blobs=t.blobs.map(n=>oe(n)):r.blobs=t.blobs),typeof t.data<"u"&&(r.data=t.data),t.account&&(r.from=t.account.address),typeof t.from<"u"&&(r.from=t.from),typeof t.gas<"u"&&(r.gas=E(t.gas)),typeof t.gasPrice<"u"&&(r.gasPrice=E(t.gasPrice)),typeof t.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=E(t.maxFeePerBlobGas)),typeof t.maxFeePerGas<"u"&&(r.maxFeePerGas=E(t.maxFeePerGas)),typeof t.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=E(t.maxPriorityFeePerGas)),typeof t.nonce<"u"&&(r.nonce=E(t.nonce)),typeof t.to<"u"&&(r.to=t.to),typeof t.type<"u"&&(r.type=I8[t.type]),typeof t.value<"u"&&(r.value=E(t.value)),r}function S8(t){return t.map(e=>({address:e.address,r:e.r?E(BigInt(e.r)):e.r,s:e.s?E(BigInt(e.s)):e.s,chainId:E(e.chainId),nonce:E(e.nonce),...typeof e.yParity<"u"?{yParity:E(e.yParity)}:{},...typeof e.v<"u"&&typeof e.yParity>"u"?{v:E(e.v)}:{}}))}var I8,uo=C(()=>{"use strict";H();I8={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});function u2(t){if(!(!t||t.length===0))return t.reduce((e,{slot:r,value:n})=>{if(r.length!==66)throw new Iu({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new Iu({size:n.length,targetSize:66,type:"hex"});return e[r]=n,e},{})}function v8(t){let{balance:e,nonce:r,state:n,stateDiff:o,code:i}=t,s={};if(i!==void 0&&(s.code=i),e!==void 0&&(s.balance=E(e)),r!==void 0&&(s.nonce=E(r)),n!==void 0&&(s.state=u2(n)),o!==void 0){if(s.state)throw new zp;s.stateDiff=u2(o)}return s}function
|
|
39
|
-
`);super(u,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=r.cause,this.details=n,this.docs=s,this.docsOrigin=i,this.docsPath=o,this.shortMessage=e,this.showVersion=a,this.version=c}walk(e){return v2(this,e)}};Object.defineProperty(_,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${I2()}`}});_.setStaticOptions(_.defaultStaticOptions)});function Qa(t,e){if(hr(t)>e)throw new bf({givenSize:hr(t),maxSize:e})}function A2(t,e){if(typeof e=="number"&&e>0&&e>hr(t)-1)throw new Wu({offset:e,position:"start",size:hr(t)})}function P2(t,e,r){if(typeof e=="number"&&typeof r=="number"&&hr(t)!==r-e)throw new Wu({offset:r,position:"end",size:hr(t)})}function e0(t){if(t>=po.zero&&t<=po.nine)return t-po.zero;if(t>=po.A&&t<=po.F)return t-(po.A-10);if(t>=po.a&&t<=po.f)return t-(po.a-10)}function E2(t,e={}){let{dir:r,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new xf({size:t.length,targetSize:n,type:"Bytes"});let o=new Uint8Array(n);for(let i=0;i<n;i++){let s=r==="right";o[s?i:n-i-1]=t[s?i:t.length-i-1]}return o}function t0(t,e={}){let{dir:r="left"}=e,n=t,o=0;for(let i=0;i<n.length-1&&n[r==="left"?i:n.length-i-1].toString()==="0";i++)o++;return n=r==="left"?n.slice(o):n.slice(0,n.length-o),n}var po,T2=C(()=>{"use strict";Ho();po={zero:48,nine:57,A:65,F:70,a:97,f:102}});function Za(t,e){if(Pe(t)>e)throw new wf({givenSize:Pe(t),maxSize:e})}function C2(t,e){if(typeof e=="number"&&e>0&&e>Pe(t)-1)throw new Gu({offset:e,position:"start",size:Pe(t)})}function R2(t,e,r){if(typeof e=="number"&&typeof r=="number"&&Pe(t)!==r-e)throw new Gu({offset:r,position:"end",size:Pe(t)})}function r0(t,e={}){let{dir:r,size:n=32}=e;if(n===0)return t;let o=t.replace("0x","");if(o.length>n*2)throw new If({size:Math.ceil(o.length/2),targetSize:n,type:"Hex"});return`0x${o[r==="right"?"padEnd":"padStart"](n*2,"0")}`}function N2(t,e={}){let{dir:r="left"}=e,n=t.replace("0x",""),o=0;for(let i=0;i<n.length-1&&n[r==="left"?i:n.length-i-1].toString()==="0";i++)o++;return n=r==="left"?n.slice(o):n.slice(0,n.length-o),n==="0"?"0x":r==="right"&&n.length%2===1?`0x${n}0`:`0x${n}`}var n0=C(()=>{"use strict";nt()});function Wo(t,e,r){return JSON.stringify(t,(n,o)=>typeof e=="function"?e(n,o):typeof o=="bigint"?o.toString()+N8:o,r)}var N8,Vu=C(()=>{"use strict";N8="#__bigint"});function k8(t){if(!(t instanceof Uint8Array)){if(!t)throw new Ja(t);if(typeof t!="object")throw new Ja(t);if(!("BYTES_PER_ELEMENT"in t))throw new Ja(t);if(t.BYTES_PER_ELEMENT!==1||t.constructor.name!=="Uint8Array")throw new Ja(t)}}function L2(t){return t instanceof Uint8Array?t:typeof t=="string"?Ya(t):M8(t)}function M8(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Ya(t,e={}){let{size:r}=e,n=t;r&&(Za(t,r),n=yn(t,r));let o=n.slice(2);o.length%2&&(o=`0${o}`);let i=o.length/2,s=new Uint8Array(i);for(let a=0,c=0;a<i;a++){let u=e0(o.charCodeAt(c++)),d=e0(o.charCodeAt(c++));if(u===void 0||d===void 0)throw new _(`Invalid byte sequence ("${o[c-2]}${o[c-1]}" in "${o}").`);s[a]=u<<4|d}return s}function k2(t,e={}){let{size:r}=e,n=L8.encode(t);return typeof r=="number"?(Qa(n,r),D8(n,r)):n}function D8(t,e){return E2(t,{dir:"right",size:e})}function hr(t){return t.length}function M2(t,e,r,n={}){let{strict:o}=n;A2(t,e);let i=t.slice(e,r);return o&&P2(i,e,r),i}function D2(t,e={}){let{size:r}=e;typeof r<"u"&&Qa(t,r);let n=je(t,e);return s0(n,e)}function O2(t,e={}){let{size:r}=e,n=t;if(typeof r<"u"&&(Qa(n,r),n=i0(n)),n.length>1||n[0]>1)throw new o0(n);return!!n[0]}function gn(t,e={}){let{size:r}=e;typeof r<"u"&&Qa(t,r);let n=je(t,e);return vf(n,e)}function F2(t,e={}){let{size:r}=e,n=t;return typeof r<"u"&&(Qa(n,r),n=O8(n)),B8.decode(n)}function i0(t){return t0(t,{dir:"left"})}function O8(t){return t0(t,{dir:"right"})}function j2(t){try{return k8(t),!0}catch{return!1}}var B8,L8,o0,Ja,bf,Wu,xf,Ho=C(()=>{"use strict";Ht();nt();T2();n0();Vu();B8=new TextDecoder,L8=new TextEncoder;o0=class extends _{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}},Ja=class extends _{constructor(e){super(`Value \`${typeof e=="object"?Wo(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}},bf=class extends _{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},Wu=class extends _{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}},xf=class extends _{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});function U8(t,e={}){let{strict:r=!1}=e;if(!t)throw new Af(t);if(typeof t!="string")throw new Af(t);if(r&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Pf(t);if(!t.startsWith("0x"))throw new Pf(t)}function Be(...t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function Xa(t){return t instanceof Uint8Array?je(t):Array.isArray(t)?je(new Uint8Array(t)):t}function Ef(t,e={}){let r=`0x${Number(t)}`;return typeof e.size=="number"?(Za(r,e.size),fo(r,e.size)):r}function je(t,e={}){let r="";for(let o=0;o<t.length;o++)r+=j8[t[o]];let n=`0x${r}`;return typeof e.size=="number"?(Za(n,e.size),yn(n,e.size)):n}function ce(t,e={}){let{signed:r,size:n}=e,o=BigInt(t),i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let s=typeof i=="bigint"&&r?-i-1n:0;if(i&&o>i||o<s){let u=typeof t=="bigint"?"n":"";throw new qu({max:i?`${i}${u}`:void 0,min:`${s}${u}`,signed:r,size:n,value:`${t}${u}`})}let c=`0x${(r&&o<0?BigInt.asUintN(n*8,BigInt(o)):o).toString(16)}`;return n?fo(c,n):c}function ec(t,e={}){return je(F8.encode(t),e)}function fo(t,e){return r0(t,{dir:"left",size:e})}function yn(t,e){return r0(t,{dir:"right",size:e})}function Ee(t,e,r,n={}){let{strict:o}=n;C2(t,e);let i=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return o&&R2(i,e,r),i}function Pe(t){return Math.ceil((t.length-2)/2)}function a0(t){return N2(t,{dir:"left"})}function s0(t,e={}){let{signed:r}=e;e.size&&Za(t,e.size);let n=BigInt(t);if(!r)return n;let o=(t.length-2)/2,i=(1n<<BigInt(o)*8n)-1n,s=i>>1n;return n<=s?n:n-i-1n}function vf(t,e={}){let{signed:r,size:n}=e;return Number(!r&&!n?t:s0(t,e))}function Ku(t,e={}){let{strict:r=!1}=e;try{return U8(t,{strict:r}),!0}catch{return!1}}var F8,j8,qu,Af,Pf,wf,Gu,If,nt=C(()=>{"use strict";Ht();n0();Vu();F8=new TextEncoder,j8=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));qu=class extends _{constructor({max:e,min:r,signed:n,size:o,value:i}){super(`Number \`${i}\` is not in safe${o?` ${o*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${r}\` to \`${e}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}},Af=class extends _{constructor(e){super(`Value \`${typeof e=="object"?Wo(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}},Pf=class extends _{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}},wf=class extends _{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}},Gu=class extends _{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}},If=class extends _{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}});function U2(t){return{address:t.address,amount:ce(t.amount),index:ce(t.index),validatorIndex:ce(t.validatorIndex)}}var _2=C(()=>{"use strict";nt()});function Tf(t){return{...typeof t.baseFeePerGas=="bigint"&&{baseFeePerGas:ce(t.baseFeePerGas)},...typeof t.blobBaseFee=="bigint"&&{blobBaseFee:ce(t.blobBaseFee)},...typeof t.feeRecipient=="string"&&{feeRecipient:t.feeRecipient},...typeof t.gasLimit=="bigint"&&{gasLimit:ce(t.gasLimit)},...typeof t.number=="bigint"&&{number:ce(t.number)},...typeof t.prevRandao=="bigint"&&{prevRandao:ce(t.prevRandao)},...typeof t.time=="bigint"&&{time:ce(t.time)},...t.withdrawals&&{withdrawals:t.withdrawals.map(U2)}}}var c0=C(()=>{"use strict";nt();_2()});var hn,Cf,$2,Rf,H2,u0,d0,l0,p0,mo=C(()=>{"use strict";hn=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],Cf=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],$2=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],Rf=[...$2,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],H2=[...$2,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],u0=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],d0=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],l0=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],p0=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}]});var W2,G2=C(()=>{"use strict";W2="0x82ad56cb"});var Nf,V2,q2,tc,Qu=C(()=>{"use strict";Nf="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",V2="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",q2="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",tc="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});var ps,Bf,Lf,Zu,fs,Ju=C(()=>{"use strict";K();ps=class extends v{constructor({blockNumber:e,chain:r,contract:n}){super(`Chain "${r.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...e&&n.blockCreated&&n.blockCreated>e?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}},Bf=class extends v{constructor({chain:e,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${e.id} \u2013 ${e.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${e.id} \u2013 ${e.name}`],name:"ChainMismatchError"})}},Lf=class extends v{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
|
|
40
|
-
`),{name:"ChainNotFoundError"})}},Zu=class extends v{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},fs=class extends v{constructor({chainId:e}){super(typeof e=="number"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});function ms(t){let{abi:e,args:r,bytecode:n}=t;if(!r||r.length===0)return n;let o=e.find(s=>"type"in s&&s.type==="constructor");if(!o)throw new rp({docsPath:f0});if(!("inputs"in o))throw new yu({docsPath:f0});if(!o.inputs||o.inputs.length===0)throw new yu({docsPath:f0});let i=Tt(o.inputs,r);return Ke([n,i])}var f0,kf=C(()=>{"use strict";Me();ut();qn();f0="/docs/contract/encodeDeployData"});function br({blockNumber:t,chain:e,contract:r}){let n=e?.contracts?.[r];if(!n)throw new ps({chain:e,contract:{name:r}});if(t&&n.blockCreated&&n.blockCreated>t)throw new ps({blockNumber:t,chain:e,contract:{name:r,blockCreated:n.blockCreated}});return n.address}var gs=C(()=>{"use strict";Ju()});function Mf(t,{docsPath:e,...r}){let n=(()=>{let o=_o(t,r);return o instanceof ar?t:o})();return new Ni(n,{docsPath:e,...r})}var m0=C(()=>{"use strict";Qn();co();$u()});function rc(){let t=()=>{},e=()=>{};return{promise:new Promise((n,o)=>{t=n,e=o}),resolve:t,reject:e}}var Df=C(()=>{"use strict"});function Of({fn:t,id:e,shouldSplitBatch:r,wait:n=0,sort:o}){let i=async()=>{let d=c();s();let l=d.map(({args:p})=>p);l.length!==0&&t(l).then(p=>{o&&Array.isArray(p)&&p.sort(o);for(let f=0;f<d.length;f++){let{resolve:g}=d[f];g?.([p[f],p])}}).catch(p=>{for(let f=0;f<d.length;f++){let{reject:g}=d[f];g?.(p)}})},s=()=>g0.delete(e),a=()=>c().map(({args:d})=>d),c=()=>g0.get(e)||[],u=d=>g0.set(e,[...c(),d]);return{flush:s,async schedule(d){let{promise:l,resolve:p,reject:f}=rc();return r?.([...a(),d])&&i(),c().length>0?(u({args:d,resolve:p,reject:f}),l):(u({args:d,resolve:p,reject:f}),setTimeout(i,n),l)}}}var g0,y0=C(()=>{"use strict";Df();g0=new Map});var Ff,jf,Uf,K2=C(()=>{"use strict";yt();K();qp();Ff=class extends v{constructor({callbackSelector:e,cause:r,data:n,extraData:o,sender:i,urls:s}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",s&&[" Gateway URL(s):",...s.map(a=>` ${Ri(a)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${o}`].flat(),name:"OffchainLookupError"})}},jf=class extends v{constructor({result:e,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${Ri(r)}`,`Response: ${re(e)}`],name:"OffchainLookupResponseMalformedError"})}},Uf=class extends v{constructor({sender:e,to:r}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${r}`,`OffchainLookup sender address: ${e}`],name:"OffchainLookupSenderMismatchError"})}}});function Q2(t){let{abi:e,data:r}=t,n=_t(r,0,4),o=e.find(i=>i.type==="function"&&n===on(Ge(i)));if(!o)throw new cp(n,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:o.name,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Kn(o.inputs,_t(r,4)):void 0}}var Z2=C(()=>{"use strict";Me();Vn();xa();Cu();zn()});function b0(t){let{abi:e,errorName:r,args:n}=t,o=e[0];if(r){let c=zt({abi:e,args:n,name:r});if(!c)throw new hu(r,{docsPath:h0});o=c}if(o.type!=="error")throw new hu(void 0,{docsPath:h0});let i=Ge(o),s=on(i),a="0x";if(n&&n.length>0){if(!o.inputs)throw new ip(o.name,{docsPath:h0});a=Tt(o.inputs,n)}return Ke([s,a])}var h0,J2=C(()=>{"use strict";Me();ut();xa();qn();zn();Bo();h0="/docs/contract/encodeErrorResult"});function Y2(t){let{abi:e,functionName:r,result:n}=t,o=e[0];if(r){let s=zt({abi:e,name:r});if(!s)throw new Mr(r,{docsPath:x0});o=s}if(o.type!=="function")throw new Mr(void 0,{docsPath:x0});if(!o.outputs)throw new ma(o.name,{docsPath:x0});let i=(()=>{if(o.outputs.length===0)return[];if(o.outputs.length===1)return[n];if(Array.isArray(n))return n;throw new ya(n)})();return Tt(o.outputs,i)}var x0,X2=C(()=>{"use strict";Me();qn();Bo();x0="/docs/contract/encodeFunctionResult"});async function w0(t){let{data:e,ccipRequest:r}=t,{args:[n]}=Q2({abi:Cf,data:e}),o=[],i=[];return await Promise.all(n.map(async(s,a)=>{try{i[a]=s.urls.includes(go)?await w0({data:s.data,ccipRequest:r}):await r(s),o[a]=!1}catch(c){o[a]=!0,i[a]=z8(c)}})),Y2({abi:Cf,functionName:"query",result:[o,i]})}function z8(t){return t.name==="HttpRequestError"&&t.status?b0({abi:Cf,errorName:"HttpError",args:[t.status,t.shortMessage]}):b0({abi:[Lp],errorName:"Error",args:["shortMessage"in t?t.shortMessage:t.message]})}var go,Yu=C(()=>{"use strict";mo();kp();Z2();J2();X2();go="x-batch-gateway:true"});var rI={};vt(rI,{ccipRequest:()=>tI,offchainLookup:()=>H8,offchainLookupAbiItem:()=>eI,offchainLookupSignature:()=>$8});async function H8(t,{blockNumber:e,blockTag:r,data:n,to:o}){let{args:i}=Op({data:n,abi:[eI]}),[s,a,c,u,d]=i,{ccipRead:l}=t,p=l&&typeof l?.request=="function"?l.request:tI;try{if(!cr(o,s))throw new Uf({sender:s,to:o});let f=a.includes(go)?await w0({data:c,ccipRequest:p}):await p({data:c,sender:s,urls:a}),{data:g}=await xr(t,{blockNumber:e,blockTag:r,data:be([u,Tt([{type:"bytes"},{type:"bytes"}],[f,d])]),to:o});return g}catch(f){throw new Ff({callbackSelector:u,cause:f,data:n,extraData:d,sender:s,urls:a})}}async function tI({data:t,sender:e,urls:r}){let n=new Error("An unknown error occurred.");for(let o=0;o<r.length;o++){let i=r[o],s=i.includes("{data}")?"GET":"POST",a=s==="POST"?{data:t,sender:e}:void 0,c=s==="POST"?{"Content-Type":"application/json"}:{};try{let u=await fetch(i.replace("{sender}",e.toLowerCase()).replace("{data}",t),{body:JSON.stringify(a),headers:c,method:s}),d;if(u.headers.get("Content-Type")?.startsWith("application/json")?d=(await u.json()).data:d=await u.text(),!u.ok){n=new tr({body:a,details:d?.error?re(d.error):u.statusText,headers:u.headers,status:u.status,url:i});continue}if(!he(d)){n=new jf({result:d,url:i});continue}return d}catch(u){n=new tr({body:a,details:u.message,url:i})}}throw n}var $8,eI,nI=C(()=>{"use strict";ys();K2();ko();hh();qn();us();ut();Zt();Yu();yt();$8="0x556f1830",eI={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]}});async function xr(t,e){let{account:r=t.account,authorizationList:n,batch:o=!!t.batch?.multicall,blockNumber:i,blockTag:s=t.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:u,code:d,data:l,factory:p,factoryData:f,gas:g,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,to:y,value:I,stateOverride:S,...A}=e,P=r?q(r):void 0;if(d&&(p||f))throw new v("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(d&&y)throw new v("Cannot provide both `code` & `to` as parameters.");let N=d&&l,T=p&&f&&y&&l,M=N||T,O=N?oI({code:d,data:l}):T?V8({data:l,factory:p,factoryData:f,to:y}):l;try{et(e);let z=(typeof i=="bigint"?E(i):void 0)||s,B=u?Tf(u):void 0,L=Da(S),j=t.chain?.formatters?.transactionRequest?.format,U=(j||bt)({...yr(A,{format:j}),accessList:a,account:P,authorizationList:n,blobs:c,data:O,gas:g,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,to:M?void 0:y,value:I},"call");if(o&&W8({request:U})&&!L&&!B)try{return await G8(t,{...U,blockNumber:i,blockTag:s})}catch(fe){if(!(fe instanceof Zu)&&!(fe instanceof ps))throw fe}let V=(()=>{let fe=[U,z];return L&&B?[...fe,L,B]:L?[...fe,L]:B?[...fe,{},B]:fe})(),se=await t.request({method:"eth_call",params:V});return se==="0x"?{data:void 0}:{data:se}}catch(F){let z=q8(F),{offchainLookup:B,offchainLookupSignature:L}=await Promise.resolve().then(()=>(nI(),rI));if(t.ccipRead!==!1&&z?.slice(0,10)===L&&y)return{data:await B(t,{data:z,to:y})};throw M&&z?.slice(0,10)==="0x101bb98d"?new Bu({factory:p}):Mf(F,{...e,account:P,chain:t.chain})}}function W8({request:t}){let{data:e,to:r,...n}=t;return!(!e||e.startsWith(W2)||!r||Object.values(n).filter(o=>typeof o<"u").length>0)}async function G8(t,e){let{batchSize:r=1024,deployless:n=!1,wait:o=0}=typeof t.batch?.multicall=="object"?t.batch.multicall:{},{blockNumber:i,blockTag:s=t.experimental_blockTag??"latest",data:a,to:c}=e,u=(()=>{if(n)return null;if(e.multicallAddress)return e.multicallAddress;if(t.chain)return br({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Zu})(),l=(typeof i=="bigint"?E(i):void 0)||s,{schedule:p}=Of({id:`${t.uid}.${l}`,wait:o,shouldSplitBatch(m){return m.reduce((b,{data:w})=>b+(w.length-2),0)>r*2},fn:async m=>{let h=m.map(x=>({allowFailure:!0,callData:x.data,target:x.to})),b=ue({abi:hn,args:[h],functionName:"aggregate3"}),w=await t.request({method:"eth_call",params:[{...u===null?{data:oI({code:tc,data:b})}:{to:u,data:b}},l]});return wt({abi:hn,args:[h],functionName:"aggregate3",data:w||"0x"})}}),[{returnData:f,success:g}]=await p({data:a,to:c});if(!g)throw new jr({data:f});return f==="0x"?{data:void 0}:{data:f}}function oI(t){let{code:e,data:r}=t;return ms({abi:Yl(["constructor(bytes, bytes)"]),bytecode:Nf,args:[e,r]})}function V8(t){let{data:e,factory:r,factoryData:n,to:o}=t;return ms({abi:Yl(["constructor(address, bytes, address, bytes)"]),bytecode:V2,args:[o,e,r,n]})}function q8(t){if(!(t instanceof v))return;let e=t.walk();return typeof e?.data=="object"?e.data?.data:e.data}var ys=C(()=>{"use strict";mu();c0();Ne();mo();G2();Qu();K();Ju();Qn();lo();kf();Ct();gs();H();m0();cs();uo();y0();af();fn()});var Z3={};vt(Z3,{"@the_library/network-config":()=>Ab,"@the_library/public/branding":()=>lg,"@the_library/public/downloader":()=>Ag,"@the_library/public/models":()=>qy,"@the_library/public/models/models":()=>Ny,"@the_library/public/models/vue":()=>Zy,"@the_library/public/web3":()=>Jb,"@the_library/public/web3/auth":()=>Xb,"@the_library/public/web3/registry":()=>Tb,"@the_library/public/web3/vue":()=>nx});var lg={};vt(lg,{builder:()=>ax,dsafeLegalBranding:()=>wA,founder:()=>sx,globalBranding:()=>bA,socialMedia:()=>cx,worldBiblioTechBranding:()=>xA,worldBibliotekBranding:()=>IA});var sx={name:"Data Pond",email:"data@datapond.earth",whatsapp:"61490689222",linkedIn:"https://www.linkedin.com/in/datapond/",photoPath:"@the_library/public/branding/assets/founder-photo.jpg"},ax={name:"Pond Enterprise",url:"https://pondenterprise.com",email:"hello@pondenterprise.com",whatsapp:"61490689222",linkedIn:"https://www.linkedin.com/company/pond-enterprise",logoPath:"@the_library/public/branding/assets/pond-enterprise-logo.svg"},cx={facebook:"https://www.facebook.com/the.world.library",instagram:"https://www.instagram.com/world_public_library/",bluesky:"https://bsky.app/profile/the-world-library.bsky.social",linkedin:"https://www.linkedin.com/company/the-world-library",x:"https://x.com/realDataPond",kickstarter:"https://www.kickstarter.com/projects/datapond/the-world-library"},bA={founder:sx,builder:ax,socialMedia:cx,contactFormUrl:"https://pondenterprise.com"},xA={appName:"World Biblio Tech",appUrl:"https://datapond.earth",comingSoonUrl:"https://worldbibliotech.com",contactFormUrl:"https://pondenterprise.com/p/contact-us",images:{logo:"@the_library/public/branding/assets/icon_transparent.png",favicon:"@the_library/public/branding/assets/library-favicon.png"}},wA={appName:"D-SAFE Legal",appUrl:"https://dsafe.us",supportEmail:"hello@dsafe.us",images:{logo:"@the_library/public/branding/assets/dsafe-logo.png",favicon:"@the_library/public/branding/assets/dsafe-logo.png"}},IA={appName:"World Bibliotek",appUrl:"https://worldbibliotek.com",images:{logo:"@the_library/public/branding/assets/icon_transparent.png",favicon:"@the_library/public/branding/assets/library-favicon.png"}};var Ag={};vt(Ag,{CACHES:()=>Ls,CACHE_VERSION:()=>ux,DL2_SW_VERSION:()=>dx,DownloadPdfToDisk:()=>Zx,DownloadQuotaExceededError:()=>Us,EnsurePageCount:()=>Qx,EnsurePageImage:()=>qx,EnsurePdf:()=>Kx,GetImage:()=>Vx,GetObjectUrl:()=>Jx,GetPdf:()=>Gx,InitDownloaderV2:()=>Io,SetPinnedPdfs:()=>Wx,downloadState:()=>Px,getBookData:()=>Ix,pageKey:()=>ks,pdfKey:()=>ci,preloadWorkersV2:()=>zx,previewKey:()=>Bd,revokeObjectUrl:()=>Yx,storageEstimate:()=>Xx});var ux=1,Ls={pdf:"dl2-pdf-v1",preview:"dl2-preview-v1",pages:"dl2-pages-v1"},dx="__DL2_SW_VERSION__",lx=t=>`/ar/${t}`,ci=lx,Bd=lx,ks=(t,e)=>`/pages/${encodeURIComponent(t)}/${e}`;var Tc=()=>caches.open(Ls.pdf),px=()=>caches.open(Ls.preview),fx=()=>caches.open(Ls.pages),Ms=async t=>(await Tc()).match(ci(t)),Ld=async t=>(await px()).match(Bd(t)),pg=async(t,e)=>(await fx()).match(ks(t,e));var mx=async t=>(await Tc()).delete(ci(t));var gx=async()=>(await(await Tc()).keys()).map(r=>bx(r.url)).filter(Boolean),yx=async()=>(await(await px()).keys()).map(r=>bx(r.url)).filter(Boolean);var hx=async()=>(await(await fx()).keys()).flatMap(r=>{let n=new URL(r.url).pathname.match(/^\/pages\/([^/]+)\/(\d+)$/);if(!n)return[];let o=Number(n[2]);if(!Number.isSafeInteger(o))return[];try{return[{txId:decodeURIComponent(n[1]),page:o}]}catch{return[]}});function bx(t){let e=t.match(/\/ar\/([^/?#]+)/);return e?e[1]:null}var SA="dl2_meta";var kd=null,Cc=()=>kd?Promise.resolve(kd):new Promise((t,e)=>{let r=indexedDB.open(SA,1);r.onupgradeneeded=n=>{let o=n.target.result;o.objectStoreNames.contains("book_data")||o.createObjectStore("book_data",{keyPath:"txId"}),o.objectStoreNames.contains("downloads")||o.createObjectStore("downloads",{keyPath:"txId"}),o.objectStoreNames.contains("migration_checkpoints")||o.createObjectStore("migration_checkpoints",{keyPath:"cacheName"})},r.onsuccess=n=>{kd=n.target.result,t(kd)},r.onerror=()=>e(r.error)}),xx=(t,e)=>Cc().then(r=>new Promise((n,o)=>{let s=r.transaction(t,"readonly").objectStore(t).get(e);s.onsuccess=()=>n(s.result),s.onerror=()=>o(s.error)})),vA=(t,e)=>Cc().then(r=>new Promise((n,o)=>{let s=r.transaction(t,"readwrite").objectStore(t).put(e);s.onsuccess=()=>n(),s.onerror=()=>o(s.error)}));var wx=t=>Cc().then(e=>new Promise((r,n)=>{let i=e.transaction(t,"readonly").objectStore(t).getAll();i.onsuccess=()=>r(i.result),i.onerror=()=>n(i.error)})),Ix=t=>xx("book_data",t);var Sx=()=>wx("book_data");var vx=t=>xx("downloads",t),fg=t=>vA("downloads",t),Ax=()=>wx("downloads");var ui=new Map,In=new Map,mg={active:!1,freedBytes:0,removedCount:0},gg=new Set;function Ds(t){for(let e of gg)e(t)}var Px={get files(){return ui},get renders(){return In},get pruning(){return mg},get(t){return ui.get(t)??{phase:"unknown"}},getRender(t){return In.get(t)??{pages:new Map}},summary(){let t=0,e=0,r=0,n=0;for(let o of ui.values())o.phase==="downloading"&&(t++,r+=o.loaded??0,n+=o.total??0),o.phase==="queued"&&e++;return{active:t,queued:e,loaded:r,total:n}},subscribe(t){return gg.add(t),()=>gg.delete(t)}};function Os(t,e){let r=ui.get(t)??{phase:"unknown"};ui.set(t,{...r,...e}),Ds(`file:${t}`)}function Fs(t,e,r){let n=In.get(t);n||(n={pages:new Map},In.set(t,n)),n.pages.set(e,r),Ds(`render:${t}`)}function yg(t,e){let r=In.get(t);r||(r={pages:new Map},In.set(t,r)),r.bookData=e,Ds(`render:${t}`)}function Ex(t){In.delete(t)&&Ds(`render:${t}`)}function Tx(t){ui.delete(t)&&Ds(`file:${t}`)}function hg(t){mg={...mg,...t},Ds("pruning")}function Cx(t){for(let[e,r]of t)ui.set(e,r)}function Rx(t){for(let[e,r]of t){let n=In.get(e)??{pages:new Map};for(let[o,i]of r)n.pages.set(o,i);In.set(e,n)}}var js=class{constructor(e){this.active=0;this.queue=[];this.waiters=new Map;this.max=e}add(e,r){let n=this.waiters.get(e);if(n)return n;let o=new Promise((i,s)=>{let a=()=>{this.active++,Promise.resolve().then(r).then(i,s).finally(()=>{this.waiters.delete(e),this.active--,this._drain()})};this.active<this.max?a():this.queue.push({key:e,run:a,reject:s})});return this.waiters.set(e,o),o}start(){}stop(){let e=this.queue;this.queue=[];for(let{key:n,reject:o}of e)this.waiters.delete(n),o(new Error("[queue] stopped before task started"));let r=[...this.waiters.values()];return Promise.allSettled(r).then(()=>{})}_drain(){this.queue.length>0&&this.active<this.max&&this.queue.shift().run()}};var Us=class extends Error{constructor(e,r){super(r??`Storage quota exceeded while caching ${e}`),this.name="DownloadQuotaExceededError",this.txId=e}};var Nx=2,AA=3,Bx=null,Dd=null,xg=6e4,Lx=null,Md=new Map,bg=new Map;function kx(t,e,r={}){Bx=t,Dd=e,xg=r.muWorkerTimeout??6e4,Lx=new js(r.pdfConcurrency??AA),e.listen(PA)}function PA(t){t.type==="MuPageDone"?Fs(t.txId,t.page,"done"):t.type==="MuPageError"&&Fs(t.txId,t.page,"error")}function _s(t){let e=Md.get(t);if(e)return e;let r=EA(t).finally(()=>Md.delete(t));return Md.set(t,r),r}async function EA(t){await Ms(t)||(Os(t,{phase:"queued"}),await Lx.add(t,async()=>{let r=await Bx.rpc({type:"GetFile",txId:t,mime:"pdf"});if(!r.ok)throw r.quotaExceeded?new Us(t,r.error):new Error(r.error??"[orchestrator] download failed")}))}function Mx(t,e){let r=ks(t,e),n=bg.get(r);if(n)return n;let o=TA(t,e,r).finally(()=>bg.delete(r));return bg.set(r,o),o}async function TA(t,e,r){let n=await pg(t,e);if(n)return n;Fs(t,e,"queued");let o=0;for(;o<=Nx;){if(await _s(t),Fs(t,e,"downloading"),await CA(t,e)==="done"){let s=await pg(t,e);if(s)return s;throw new Error(`[orchestrator] page ${e} not in cache after render`)}if(o++,o>Nx)throw Fs(t,e,"error"),new Error(`[orchestrator] render failed for page ${e} of ${t}`);await mx(t),Md.delete(t)}throw new Error("[orchestrator] unreachable")}function CA(t,e){return new Promise(r=>{let n=setTimeout(()=>{o(),r("error")},xg),o=RA(t,e,i=>{clearTimeout(n),r(i)});Dd.send({type:"ProcessPages",txId:t,from:e,to:e})})}function RA(t,e,r){let n=Dd,o=!1,i=()=>{o=!0,n.unlisten(s)},s=a=>{o||(a.type==="MuPageDone"&&a.txId===t&&a.page===e?(i(),r("done")):a.type==="MuPageError"&&a.txId===t&&a.page===e&&(i(),r("error")))};return n.listen(s),i}async function Dx(t){return await _s(t),new Promise((e,r)=>{let n=setTimeout(()=>{i(),r(new Error(`[orchestrator] page count timed out for ${t}`))},xg),o=Dd,i=()=>o.unlisten(s),s=a=>{a.type==="MuPageCountResult"&&a.txId===t?(clearTimeout(n),i(),e(a.pageCount)):a.type==="MuPageCountError"&&a.txId===t&&(clearTimeout(n),i(),r(new Error(a.error)))};o.listen(s),o.send({type:"GetPageCount",txId:t})})}var wg=class{constructor(){this.handlers=[];this.pending=new Map}listen(e){this.handlers.push(e)}unlisten(e){this.handlers=this.handlers.filter(r=>r!==e)}rpc(e){return BA(this.pending,e,r=>this.send(r))}_dispatch(e){if(e.type==="FileRpcResponse"){let r=this.pending.get(e.key);if(r&&r.length>0){let n=r.shift();r.length===0&&this.pending.delete(e.key),n({ok:e.ok,key:e.key,error:e.error,quotaExceeded:e.quotaExceeded})}return}for(let r of this.handlers)r(e)}},Od=class extends wg{constructor(e){super(),this.w=new Worker(e,{type:"module"}),this.w.onmessage=r=>this._dispatch(r.data),this.w.onerror=r=>console.error("[DedicatedThread] worker error",r)}send(e){this.w.postMessage(e)}};function NA(t){return"mime"in t?`${t.txId}:${t.mime}`:t.txId}function BA(t,e,r){return new Promise((n,o)=>{let i=NA(e),s=t.get(i)??[],a=u=>{clearTimeout(c),n(u)},c=setTimeout(()=>{let u=t.get(i);if(u){let d=u.indexOf(a);d>=0&&u.splice(d,1),u.length===0&&t.delete(i)}o(new Error(`[worker-client] rpc timeout after 90000ms for ${i}`))},9e4);s.push(a),t.set(i,s),r(e)})}function Ox(t="/file-worker-v2.js"){return new Od(t)}function Fx(t="/mu-worker-v2.js"){return new Od(t)}function jx(t,e,r){typeof window>"u"||window.dispatchEvent(new CustomEvent("ARWEAVE_DOWNLOAD_PROGRESS",{detail:{txId:t,loaded:e,total:r},bubbles:!0}))}function Fd(t,e){typeof window>"u"||window.dispatchEvent(new CustomEvent("ARWEAVE_DOWNLOAD_DONE",{detail:{txId:t,mime:e},bubbles:!0}))}var LA=6,Rc=null,Ig=null,Sg=null,Ux=null;function Ud(){return Ig||(Ig=Ox()),Ig}function _x(){return Sg||(Sg=Fx()),Sg}function zx(){Ud(),_x()}var Io=(t={})=>Rc||(Rc=kA(t).catch(e=>{throw Rc=null,e}),Rc);async function kA(t){let{requestPersistence:e=!0,muWorkerTimeout:r,mupdfUrl:n="/js/mupdf.js"}=t;e&&typeof navigator<"u"&&navigator.storage?.persist&&navigator.storage.persist().catch(()=>{}),await Cc();let o=Ud(),i=_x();t.gateways?.length&&o.send({type:"FileInit",gateways:t.gateways}),Ux=new js(t.concurrency?.preview??LA),i.send({type:"MuInit",mupdfUrl:n}),kx(o,i,{muWorkerTimeout:r,pdfConcurrency:t.concurrency?.pdf}),o.listen(p=>{if(p.type==="DownloadProgress")Os(p.txId,{phase:"downloading",loaded:p.loaded,total:p.total}),jx(p.txId,p.loaded,p.total);else if(p.type==="DownloadFinished")Os(p.txId,{phase:"done"}),Fd(p.txId,p.mime);else if(p.type==="DownloadError")Os(p.txId,{phase:"error",error:p.error});else if(p.type==="StoragePruneStarted")hg({active:!0});else if(p.type==="StoragePruned"){hg({active:!1,freedBytes:p.freedBytes,removedCount:p.removed});for(let f of p.prunedTxIds)Tx(f),Ex(f)}}),i.listen(p=>{p.type==="MuPdfData"&&(yg(p.txId,p.bookData),typeof window<"u"&&window.dispatchEvent(new CustomEvent("WorkerEvent.MuPdfData",{detail:{...p.bookData,fileId:p.txId},bubbles:!0})))});let[s,a,c,u]=await Promise.all([gx(),yx(),hx(),Sx()]);await MA(s,a);let d=[...s.map(p=>[p,{phase:"done"}]),...a.map(p=>[p,{phase:"done"}])];Cx(d),typeof window<"u"&&(s.forEach(p=>Fd(p,"pdf")),a.forEach(p=>Fd(p,"preview")));for(let p of u)yg(p.txId,p);let l=new Map;for(let{txId:p,page:f}of c){let g=l.get(p)??[];g.push([f,"done"]),l.set(p,g)}Rx([...l])}var jd=null,$x=[];function Hx(){let t=new Set($x);jd&&t.add(jd),Ud().send({type:"PinTxIds",txIds:Array.from(t)})}function _d(t){jd!==t&&(jd=t,Hx())}var Wx=t=>{$x=[...t],Hx()},Gx=async t=>{await Io(),_d(t);let e=await Ms(t);if(e)return vg(t),e;await _s(t);let r=await Ms(t);if(!r)throw new Error(`[downloader_v2] PDF not in cache after download: ${t}`);return r},Vx=async t=>{await Io();let e=await Ld(t);if(e)return vg(t),e;let r=await Ux.add(t,async()=>Ud().rpc({type:"GetFile",txId:t,mime:"preview"}));if(!r.ok)throw new Error(`[downloader_v2] preview download failed for ${t}: ${r.error}`);let n=await Ld(t);if(!n)throw new Error(`[downloader_v2] preview not in cache after download: ${t}`);return n},qx=async(t,e)=>(await Io(),_d(t),vg(t),Mx(t,e)),Kx=async t=>(await Io(),_d(t),_s(t)),Qx=async t=>(await Io(),_d(t),Dx(t)),Zx=async(t,e)=>{await Io(),await _s(t);let n=await(await Tc()).match(ci(t));if(!n)throw new Error("[downloader_v2] PDF not in cache after EnsurePdf");let o=await n.blob(),i=URL.createObjectURL(o),s=document.createElement("a");s.href=i,s.download=e.endsWith(".pdf")?e:`${e}.pdf`,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(i)},Jx=async t=>{let e=await t.blob();return URL.createObjectURL(e)},Yx=t=>{URL.revokeObjectURL(t)},Xx=()=>navigator.storage.estimate();async function MA(t,e){let r=new Set((await Ax()).map(i=>i.txId)),n=i=>{let s=i?.headers.get("content-length"),a=s?Number(s):NaN;return Number.isFinite(a)?a:0},o=async(i,s,a)=>{r.has(i)||await fg({txId:i,fileType:s,sizeBytes:n(a),downloadedAt:0,lastAccessedAt:0})};await Promise.all([...t.map(async i=>o(i,"pdf",await Ms(i))),...e.map(async i=>o(i,"preview",await Ld(i)))])}function vg(t){let e=Date.now();vx(t).then(r=>{r&&(e-r.lastAccessedAt<36e5||fg({...r,lastAccessedAt:e}).catch(()=>{}))}).catch(()=>{})}var qy={};vt(qy,{AGE_GRADE_BAND_PROP:()=>ul,ActionOperation:()=>mt,ActionTypes:()=>r1,BOOK_CURATABLE_PRESETS:()=>Hy,BOOK_FIELD_WEIGHTS:()=>Il,BOOK_PROP_IDS:()=>Xs,BOOK_SEARCH_SCHEMA:()=>wl,Book:()=>W,BookInstance:()=>Xc,BookSearchService:()=>Al,BridgeRelation:()=>Tg,CLASSIFICATIONSYSTEM_PROP_IDS:()=>J1,COIN_LEDGER_POST_TITLE_PREFIX:()=>Jg,CURRENT_VERSION:()=>Tn,ClassificationSystem:()=>qt,ClearDbData:()=>sP,ColumnType:()=>Fg,Config:()=>ne,CryptoRandomUidFactory:()=>zd,DELETED_PROP:()=>Ys,DESCRIPTION_PROP:()=>fi,DSafeCheck:()=>MP,DateUtils:()=>pr,Db:()=>me,DownloadState:()=>s1,DownloadsByType:()=>mP,FavoritesByTypes:()=>yP,IDBInstanceRemapStore:()=>cl,INSTANCE_REMAPS_COLUMN:()=>Kd,IndexDependencyNode:()=>Zd,IndexRegistry:()=>Ze,IndexRegistryClass:()=>Yd,LANG_AGNOSTIC:()=>Gt,LANG_ID_DECODE:()=>vn,LANG_ID_ENCODE:()=>We,LIFECYCLE_STATUS_PROP:()=>Gc,LifecycleStatus:()=>Pg,LocalRecordTable:()=>al,LruCache:()=>Xd,MAX_TOKEN_LENGTH:()=>XP,ModelIndex:()=>Jd,ModelTypes:()=>ea,NewBookWithId:()=>Z1,NewClassificationSystemWithId:()=>Y1,NewPersonWithId:()=>q1,NewPostWithId:()=>ew,NewTagWithId:()=>Q1,ORIGINAL_LANG_PROP:()=>mi,Orm:()=>Xe,PERSON_PROP_IDS:()=>V1,POINTS_PER_LEVEL:()=>A1,POINTS_PER_SILVER_COIN:()=>hN,POST_PROP_IDS:()=>X1,PREVIEW_TX_ID_PROP:()=>Wc,PROPERTY_SLOTS_COLUMN:()=>qd,PROVENANCE_AI:()=>wP,PROVENANCE_CONSENSUS:()=>SP,PROVENANCE_MANUAL_LOCAL:()=>IP,PROVENANCE_UNSET:()=>xP,PatchAction:()=>G,PatchInstance:()=>$,PatchOperation:()=>k,Patches:()=>ct,Person:()=>Ue,PopulateStatsStore:()=>Tr,Post:()=>Kt,REPLAY_METADATA_COLUMNS:()=>Qd,Rating:()=>o1,Registry:()=>de,RelationshipSubscription:()=>Dy,SAFE_PROP:()=>Js,SEARCH_SHARD_FORMAT_VERSION:()=>hl,SEARCH_SHARD_MAGIC:()=>Uy,SIDECAR_FORMAT_VERSION:()=>Og,SIDECAR_MAGIC:()=>Dg,SILVER_COINS_PER_LEVEL:()=>bN,SchemaRegistry:()=>$d,SearchIndex:()=>ia,SidecarType:()=>a1,Stats:()=>Hc,TAG_PROP_IDS:()=>K1,TITLE_PROP:()=>Ao,Tag:()=>Q,VisitsByType:()=>gP,WorkerCommands:()=>n1,WorkerEvent:()=>i1,_resetForTest:()=>$P,acknowledgePublisherOutbox:()=>x1,actionPatchToLocalOp:()=>C1,addReactivitySystem:()=>di,addRecord:()=>it,applyDetachedPatches:()=>YP,applyRestoredPatches:()=>Rr,bookSearch:()=>Nr,bookSearchDoc:()=>cu,bookSearchPresets:()=>hw,bookSearchSourceFromRecord:()=>vl,buildCascadeCandidates:()=>HP,buildSearchShard:()=>bl,calculateTopicBookCount:()=>JP,cascadeRestore:()=>sw,childrenOf:()=>ou,classifyValue:()=>zg,clear:()=>nP,collectAncestors:()=>aw,collectTrashedAncestors:()=>cw,colsFromSidecar:()=>So,columnTypeForBits:()=>Ws,compareBigint:()=>au,configureDb:()=>$g,countRecursiveSubfolders:()=>uw,currentLayout:()=>Ye,dbName:()=>m1,dbReactivity:()=>At,debouncePromise:()=>E1,delay:()=>iP,deserializeAiSidecar:()=>JA,deserializeBookExtended:()=>tu,deserializeBookProv:()=>ru,deserializeBookSlim:()=>eu,deserializeClassificationSystemExtended:()=>Iy,deserializeClassificationSystemProv:()=>vy,deserializeClassificationSystemSlim:()=>xy,deserializePatches:()=>Ks,deserializePersonExtended:()=>Kc,deserializePersonProv:()=>Qc,deserializePersonSlim:()=>qc,deserializePostExtended:()=>Ty,deserializePostProv:()=>Ry,deserializePostSlim:()=>Py,deserializeSearchShard:()=>_y,deserializeTagExtended:()=>Jc,deserializeTagProv:()=>Yc,deserializeTagSlim:()=>Zc,deviceStateStoreName:()=>Wg,dump:()=>An,enablePublisherOutbox:()=>h1,evmToPatch:()=>Vd,executeComplexRestore:()=>WP,expandTopics:()=>Aw,extractRecordCols:()=>VA,fileStore:()=>GP,fromJsonId:()=>Sn,getDefaultCreatorUsername:()=>Oc,getLevel:()=>Yg,getModelClass:()=>Fc,getPatchInstanceByAccount:()=>pP,getPublisherOutbox:()=>b1,getRecord:()=>Y,getRecordKey:()=>Pn,hasBookData:()=>pw,hasFile:()=>My,hasRecord:()=>J,inceptionDate:()=>N1,inflateOrmJson:()=>iy,instanceRemapsStoreName:()=>vo,instanceSpecFromFields:()=>jg,isActionOperation:()=>Hs,isEvmPatch:()=>Te,isIndependentlyTrashed:()=>iu,isUserCreated:()=>kt,jsonStoreName:()=>Uc,keyValStoreName:()=>Ie,latestAiValue:()=>Wy,loadBookData:()=>VP,loadFile:()=>dw,loadManyAsync:()=>ae,loadOneAsync:()=>Hg,loadOrInitUidFactory:()=>DA,localOpToActionPatch:()=>T1,localRecordTable:()=>Cr,localRecordsStoreName:()=>Gg,mergeBookTiers:()=>KP,mergePersonTiers:()=>ZP,mergeTagTiers:()=>QP,normalizeText:()=>gl,packActionPatch:()=>Bg,packPatch:()=>Rg,parseSidecar:()=>Lc,patchStoreName:()=>st,patchToEvm:()=>Gd,pdfDataStoreName:()=>Er,pinAsTrashed:()=>ky,pinRecord:()=>En,proResolver:()=>Je,registerModelClass:()=>Pr,relationColName:()=>Eg,removeRecord:()=>oP,resolveLayout:()=>Nc,scalarProperties:()=>Ug,scanTrash:()=>Ly,serializeAiSidecar:()=>ZA,serializeBookExtended:()=>yy,serializeBookProv:()=>hy,serializeBookSlim:()=>gy,serializeClassificationSystemExtended:()=>wy,serializeClassificationSystemProv:()=>Sy,serializeClassificationSystemSlim:()=>by,serializeMapOfMaps:()=>dl,serializeMapOfSets:()=>oy,serializePatchRows:()=>Qs,serializePatches:()=>lP,serializePersonExtended:()=>uy,serializePersonProv:()=>dy,serializePersonSlim:()=>cy,serializePostExtended:()=>Ey,serializePostProv:()=>Cy,serializePostSlim:()=>Ay,serializeSearchShard:()=>dE,serializeTagExtended:()=>py,serializeTagProv:()=>fy,serializeTagSlim:()=>ly,setDefaultCreatorUsername:()=>tl,setDefaultLanguage:()=>sy,setDefaultProvenance:()=>bP,setLoadAiSidecars:()=>ay,setReactivitySystem:()=>tP,storeBookData:()=>qP,storeFile:()=>lw,subscribeLevel:()=>Xg,subscribeStats:()=>ty,toJsonId:()=>Mt,tokenize:()=>su,trashStore:()=>jn,unpackActionPatch:()=>Lg,unpackPatch:()=>Ng,unpinRecord:()=>jc,untrashRecord:()=>nu,version:()=>f1,versionsFile:()=>$c,writeSidecar:()=>kc});var Ny={};vt(Ny,{BOOK_PROP_IDS:()=>Xs,Book:()=>W,BookInstance:()=>Xc,CLASSIFICATIONSYSTEM_PROP_IDS:()=>J1,ClassificationSystem:()=>qt,ModelTypes:()=>ea,NewBookWithId:()=>Z1,NewClassificationSystemWithId:()=>Y1,NewPersonWithId:()=>q1,NewPostWithId:()=>ew,NewTagWithId:()=>Q1,PERSON_PROP_IDS:()=>V1,POST_PROP_IDS:()=>X1,Person:()=>Ue,Post:()=>Kt,TAG_PROP_IDS:()=>K1,Tag:()=>Q,deserializeBookExtended:()=>tu,deserializeBookProv:()=>ru,deserializeBookSlim:()=>eu,deserializeClassificationSystemExtended:()=>Iy,deserializeClassificationSystemProv:()=>vy,deserializeClassificationSystemSlim:()=>xy,deserializePersonExtended:()=>Kc,deserializePersonProv:()=>Qc,deserializePersonSlim:()=>qc,deserializePostExtended:()=>Ty,deserializePostProv:()=>Ry,deserializePostSlim:()=>Py,deserializeTagExtended:()=>Jc,deserializeTagProv:()=>Yc,deserializeTagSlim:()=>Zc,serializeBookExtended:()=>yy,serializeBookProv:()=>hy,serializeBookSlim:()=>gy,serializeClassificationSystemExtended:()=>wy,serializeClassificationSystemProv:()=>Sy,serializeClassificationSystemSlim:()=>by,serializePersonExtended:()=>uy,serializePersonProv:()=>dy,serializePersonSlim:()=>cy,serializePostExtended:()=>Ey,serializePostProv:()=>Cy,serializePostSlim:()=>Ay,serializeTagExtended:()=>py,serializeTagProv:()=>fy,serializeTagSlim:()=>ly});function kt(t){try{return((typeof t=="bigint"?t:BigInt(t))&0x8000000000000000n)!==0n}catch{return!1}}var zd=class{async next(){let e=new BigUint64Array(1);return crypto.getRandomValues(e),{wireId:e[0]|0x8000000000000000n}}isUserCreated(e){return kt(e)}};async function DA(t){return new zd}var Pg=(o=>(o[o.Provisional=0]="Provisional",o[o.Submitted=1]="Submitted",o[o.CommunityPending=2]="CommunityPending",o[o.Canonical=3]="Canonical",o))(Pg||{});var Eg=t=>t.name==="authors"?"authorIds":t.name,$d=class t{constructor(){this.schemas=new Map;this.byName=new Map}static getInstance(){return t.instance||(t.instance=new t),t.instance}register(e){this.schemas.set(e.objectId,e),this.byName.set(e.name,e)}get(e){let r=this.schemas.get(e);return r||(console.warn(`[SchemaRegistry] No schema registered for type ID ${e}. Returning generic placeholder.`),{name:"Generic",typePrefix:"XX",objectId:e,multipleInstances:!1,props:[],instanceFields:[],relations:[]})}getByName(e){return this.byName.get(e)}clear(){this.schemas.clear(),this.byName.clear()}},de=$d.getInstance();function $r(t){let e=de.get(t.objectType)?.relations.find(o=>o.relationId===t.relationId),r=e&&de.getByName(e.targetType),n=r?.relations.find(o=>o.name===e?.inverted);if(!(!r||!n))return{...t,objectType:r.objectId,objectId:t.targetId,relationId:n.relationId,targetId:t.objectId}}var Mt=t=>t.toString(),Sn=t=>BigInt(t),Gt="",Te=t=>t.operation!==void 0,Tg=(n=>(n[n.EquivalentWith=0]="EquivalentWith",n[n.ChildOf=1]="ChildOf",n[n.ParentOf=2]="ParentOf",n))(Tg||{});var k=(t=>(t[t.EditPropertyString=1]="EditPropertyString",t[t.EditPropertyNumber=2]="EditPropertyNumber",t[t.EditInstanceFieldString=3]="EditInstanceFieldString",t[t.EditInstanceFieldNumber=4]="EditInstanceFieldNumber",t[t.EditRelation=5]="EditRelation",t[t.CreateRecord=7]="CreateRecord",t[t.AddInstance=8]="AddInstance",t[t.MergeProposal=9]="MergeProposal",t[t.DeleteBridge=10]="DeleteBridge",t))(k||{}),G=(t=>(t[t.Remove=0]="Remove",t[t.Add=1]="Add",t))(G||{}),mt=(t=>(t[t.Download=6]="Download",t[t.Visit=11]="Visit",t[t.Rate=12]="Rate",t[t.RatePart=13]="RatePart",t[t.Share=14]="Share",t[t.SharePart=15]="SharePart",t))(mt||{}),OA=new Set([6,11,12,13,14,15]),Hs=t=>OA.has(t),We={eng:1,fra:2,spa:3,por:4,deu:5,zho:6,ara:7,rus:8,jpn:9,kor:10,hin:11,ita:12,nld:13,pol:14,swe:15,tur:16,vie:17,ind:18,tha:19,fas:20,heb:21,ukr:22,amh:23,gez:24,tir:25,orm:26,cat:27},vn=Object.fromEntries(Object.entries(We).map(([t,e])=>[e,t]));function Nc(t,e){let r={hash:"",enums:{},props:{},instanceFields:{}};for(let n=1;n<=t;n++){let o=e.versions[n];if(o){Object.assign(r.enums,o.enums),Object.assign(r.props,o.props);for(let[i,s]of Object.entries(o.instanceFields))r.instanceFields[Number(i)]=[...s];r.hash=o.hash}}return r}function zs(t,e){return t.props[e]?.bits??32}function $s(t,e){let r=t.props[e]?.type;return r===void 0||r==="number"}function we(t,e,r){if(!Number.isInteger(t))throw new Error(`[db_schema_v2] ${r} = ${t} is not an integer`);if(e===32){if(t<0||t>=2**32)throw new Error(`[db_schema_v2] ${r} = ${t} exceeds its ${e}-bit range`);return BigInt(t>>>0)}else{if(t<0||t>=2**e)throw new Error(`[db_schema_v2] ${r} = ${t} exceeds its ${e}-bit range (0..${2**e-1})`);return BigInt(t)}}function Hd(t,e,r){if(typeof t!="bigint")throw new Error(`[db_schema_v2] ${r} = ${t} is not a bigint`);if(t<0n||t>=1n<<BigInt(e))throw new Error(`[db_schema_v2] ${r} = ${t} exceeds its ${e}-bit range (0..${(1n<<BigInt(e))-1n})`);return t}var Cg=248n,FA=0n,t1=1n,Wd=200n;function e1(t,e,r){if(!(Number.isInteger(t)&&(r?t>=-(2**(e-1))&&t<2**(e-1):t>=0&&t<2**e)))throw new Error(`[db_schema_v2] value = ${t} does not fit in ${e} ${r?"signed":"unsigned"} bits`);return BigInt(t)&(1n<<BigInt(e))-1n}function Rg(t,e){let r=we(t.operation,4,"operation"),n=t1<<Cg;if(t.operation===7){let s=t;if((s.objectId&0x80000000n)===0n)throw new Error(`[db_schema_v2] CreateRecord objectId must have high bit set: ${s.objectId}`);return n|r|we(s.objectType,7,"objectType")<<4n|Hd(s.objectId,64,"objectId")<<11n|we(s.langId,8,"langId")<<75n}let o=t,i=n|r|we(o.objectType,7,"objectType")<<4n|Hd(o.objectId,64,"objectId")<<11n|we(o.langId,8,"langId")<<75n;switch(t.operation){case 2:{let s=t,a=zs(e,s.propertyId);return i|we(s.propertyId,8,"propertyId")<<83n|e1(s.value,a,$s(e,s.propertyId))<<91n|we(s.provenance??0,2,"provenance")<<Wd}case 1:{let s=t;return i|we(s.propertyId,8,"propertyId")<<83n|we(s.provenance??0,2,"provenance")<<Wd}case 4:{let s=t,a=zs(e,s.propertyId);return i|we(s.instanceIndex,8,"instanceIndex")<<83n|we(s.propertyId,8,"propertyId")<<91n|e1(s.value,a,$s(e,s.propertyId))<<99n}case 3:{let s=t;return i|we(s.instanceIndex,8,"instanceIndex")<<83n|we(s.propertyId,8,"propertyId")<<91n}case 5:{let s=t;return i|we(s.relationId,8,"relationId")<<83n|we(s.action,1,"action")<<91n|Hd(s.targetId,64,"targetId")<<92n}case 8:return i|we(t.instanceIndex,8,"instanceIndex")<<83n;case 9:case 10:return i;default:throw new Error(`Unknown patch operation: ${t.operation}`)}}function Ng(t,e){return(t>>Cg&0xFFn)===FA?jA(t,e):UA(t,e)}function jA(t,e){let r=Number(t&15n);if(r===7){let a=t>>11n&0xFFFFFFFFn;if((a&0x80000000n)===0n)throw new Error(`[db_schema_v2] CreateRecord objectId must have high bit set: ${a}`);return{operation:7,objectType:Number(t>>4n&127n),objectId:a,langId:Number(t>>43n&255n)}}let n=Number(t>>4n&127n),o=t>>11n&0xFFFFFFFFn,i=Number(t>>43n&255n),s={operation:r,objectType:n,objectId:o,langId:i};switch(r){case 2:{let a=Number(t>>51n&255n),c=zs(e,a),u=(1n<<BigInt(c))-1n,d=t>>59n&u,l=$s(e,a)?Number(BigInt.asIntN(c,d)):Number(d);return{...s,propertyId:a,value:l}}case 1:{let a=Number(t>>51n&255n);return{...s,propertyId:a,value:""}}case 4:{let a=Number(t>>51n&255n),c=Number(t>>59n&255n),u=zs(e,c),d=(1n<<BigInt(u))-1n,l=t>>67n&d,p=$s(e,c)?Number(BigInt.asIntN(u,l)):Number(l);return{...s,instanceIndex:a,propertyId:c,value:p}}case 3:{let a=Number(t>>51n&255n),c=Number(t>>59n&255n);return{...s,instanceIndex:a,propertyId:c,value:""}}case 5:{let a=Number(t>>51n&255n),c=Number(t>>59n&1n),u=t>>60n&0xFFFFFFFFn;return{...s,relationId:a,action:c,targetId:u}}case 8:{let a=Number(t>>51n&255n);return{...s,instanceIndex:a}}case 9:return{...s};case 10:return{...s};default:throw new Error(`Unknown packed operation: ${r}`)}}function UA(t,e){let r=Number(t&15n);if(r===7){let a=t>>11n&0xFFFFFFFFFFFFFFFFn;if((a&0x80000000n)===0n)throw new Error(`[db_schema_v2] CreateRecord objectId must have high bit set: ${a}`);return{operation:7,objectType:Number(t>>4n&127n),objectId:a,langId:Number(t>>75n&255n)}}let n=Number(t>>4n&127n),o=t>>11n&0xFFFFFFFFFFFFFFFFn,i=Number(t>>75n&255n),s={operation:r,objectType:n,objectId:o,langId:i};switch(r){case 2:{let a=Number(t>>83n&255n),c=zs(e,a),u=(1n<<BigInt(c))-1n,d=t>>91n&u,l=$s(e,a)?Number(BigInt.asIntN(c,d)):Number(d),p=Number(t>>Wd&3n);return{...s,propertyId:a,value:l,provenance:p}}case 1:{let a=Number(t>>83n&255n),c=Number(t>>Wd&3n);return{...s,propertyId:a,value:"",provenance:c}}case 4:{let a=Number(t>>83n&255n),c=Number(t>>91n&255n),u=zs(e,c),d=(1n<<BigInt(u))-1n,l=t>>99n&d,p=$s(e,c)?Number(BigInt.asIntN(u,l)):Number(l);return{...s,instanceIndex:a,propertyId:c,value:p}}case 3:{let a=Number(t>>83n&255n),c=Number(t>>91n&255n);return{...s,instanceIndex:a,propertyId:c,value:""}}case 5:{let a=Number(t>>83n&255n),c=Number(t>>91n&1n),u=t>>92n&0xFFFFFFFFFFFFFFFFn;return{...s,relationId:a,action:c,targetId:u}}case 8:{let a=Number(t>>83n&255n);return{...s,instanceIndex:a}}case 9:return{...s};case 10:return{...s};default:throw new Error(`Unknown packed operation: ${r}`)}}function Bg(t){let e=we(t.operation,4,"operation"),n=t1<<Cg|e|we(t.objectType,7,"objectType")<<4n|Hd(t.objectId,64,"objectId")<<11n|we(t.ts,32,"ts")<<83n;switch(t.operation){case 11:case 6:return n;case 12:return n|we(t.rate,3,"rate")<<115n;case 13:{let o=t;return n|we(o.part,8,"part")<<115n|we(o.rate,3,"rate")<<123n}case 14:return n|we(t.socialMediaId,32,"socialMediaId")<<115n;case 15:{let o=t;return n|we(o.part,8,"part")<<115n|we(o.socialMediaId,32,"socialMediaId")<<123n}default:throw new Error(`Unknown action operation: ${t.operation}`)}}function Lg(t){let e=Number(t&15n),r=Number(t>>4n&127n),n=t>>11n&0xFFFFFFFFFFFFFFFFn,o=Number(t>>83n&0xFFFFFFFFn),i={operation:e,objectType:r,objectId:n,ts:o};switch(e){case 11:return i;case 6:return i;case 12:{let s=Number(t>>115n&7n);return{...i,rate:s}}case 13:{let s=Number(t>>115n&255n),a=Number(t>>123n&7n);return{...i,part:s,rate:a}}case 14:{let s=Number(t>>115n&0xFFFFFFFFn);return{...i,socialMediaId:s}}case 15:{let s=Number(t>>115n&255n),a=Number(t>>123n&0xFFFFFFFFn);return{...i,part:s,socialMediaId:a}}default:throw new Error(`Unknown packed action operation: ${e}`)}}function Gd(t,e,r){let n=[],o=[],i=[];for(let s=0;s<t.length;s++){let a=t[s];if(Hs(a.operation)){n.push(Bg(a));continue}let c=a;if(n.push(Rg(c,e)),c.operation===1)o.push(s),i.push(c.value);else if(c.operation===3)o.push(s),i.push(c.value);else if(c.operation===9){let u=c;o.push(s),i.push(JSON.stringify({original:u.original,destSystem:u.destSystem,relationType:u.relationType,targetId:u.targetId,confidence:u.confidence}))}else if(c.operation===10){let u=c;o.push(s),i.push(JSON.stringify({original:u.original,destinationSystem:u.destinationSystem,bridgeTypeToDelete:u.bridgeTypeToDelete,targetTagId:String(u.targetTagId)}))}}return{version:r,patches:n,textIndex:o,textData:i}}function Vd(t,e){let r=Nc(t.version,e),n=new Map;for(let i=0;i<t.textIndex.length;i++)n.set(t.textIndex[i],t.textData[i]);return t.patches.map((i,s)=>{let a=Number(i&15n);if(a===0)return console.warn(`[db_schemas/codec] Ignoring invalid patch at index ${s} (packed operation 0)`),null;if(Hs(a))try{return Lg(i)}catch(u){return console.warn(`[db_schemas/codec] Failed to unpack action patch at index ${s}:`,u),null}let c;try{c=Ng(i,r)}catch(u){return console.warn(`[db_schemas/codec] Failed to unpack patch at index ${s}:`,u),null}if(c.operation===1)c.value=n.get(s)??"";else if(c.operation===3)c.value=n.get(s)??"";else if(c.operation===9){let u=n.get(s)??"{}";try{let d=JSON.parse(u);c.original=d.original??"",c.destSystem=d.destSystem??"",c.relationType=d.relationType??"equivalentWith",c.targetId=d.targetId??"",c.confidence=d.confidence??0}catch{c.original="",c.destSystem="",c.relationType="equivalentWith",c.targetId="",c.confidence=0}}else if(c.operation===10){let u=n.get(s)??"{}";try{let d=JSON.parse(u);c.original=d.original??"",c.destinationSystem=d.destinationSystem??"",c.bridgeTypeToDelete=d.bridgeTypeToDelete??"equivalentWith",c.targetTagId=d.targetTagId??""}catch{c.original="",c.destinationSystem="",c.bridgeTypeToDelete="equivalentWith",c.targetTagId=""}}return c}).filter(i=>i!==null)}var r1=(a=>(a[a.Visit=0]="Visit",a[a.VisitPart=1]="VisitPart",a[a.Download=2]="Download",a[a.Rate=3]="Rate",a[a.RatePart=4]="RatePart",a[a.Share=5]="Share",a[a.SharePart=6]="SharePart",a))(r1||{}),n1=(o=>(o.Init="init",o.SavePatches="savePatches",o.GetRecord="getRecord",o.LoadLanguage="loadLanguage",o))(n1||{}),o1=(i=>(i[i.None=0]="None",i[i.New=1]="New",i[i.Keep=2]="Keep",i[i.Trash=3]="Trash",i[i.Shared=4]="Shared",i))(o1||{}),i1=(s=>(s.WorkerReady="workerready",s.WorkerLoadingError="workerLoadingError",s.DownloadStarted="downloadStarted",s.DownloadFinished="downloadFinished",s.DownloadError="downloadError",s.LevelUpdated="levelUpdated",s))(i1||{}),s1=(i=>(i[i.Unknown=0]="Unknown",i[i.Pending=1]="Pending",i[i.InProgress=2]="InProgress",i[i.Done=3]="Done",i[i.Error=4]="Error",i))(s1||{}),a1=(n=>(n[n.Slim=0]="Slim",n[n.Extended=1]="Extended",n[n.Provenance=2]="Provenance",n))(a1||{});var Dg=1146113329,Og=6,Fg=(c=>(c[c.Uint8=1]="Uint8",c[c.Uint16=2]="Uint16",c[c.NullableString=3]="NullableString",c[c.Relation=4]="Relation",c[c.InstanceArray=5]="InstanceArray",c[c.Uint32=6]="Uint32",c[c.Bool=7]="Bool",c[c.Uint64=8]="Uint64",c))(Fg||{}),Ws=t=>t<=0?3:t<=8?1:t<=16?2:6,jg=(t,e)=>t.map((r,n)=>{if(r.type==="string")return{name:r.name,type:3};if(r.type==="boolean")return{name:r.name,type:7};let o=e?.[n]?.bits??r.bits??32;return{name:r.name,type:Ws(o)}}),c1={name:"isDefault",type:7},_A=new TextDecoder,Bc=new TextEncoder,kg=class{constructor(e){this.offset=0;this.view=new DataView(e)}get remaining(){return this.view.byteLength-this.offset}u8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}u16(){let e=this.view.getUint16(this.offset);return this.offset+=2,e}u24(){let e=this.view.getUint8(this.offset)<<16|this.view.getUint16(this.offset+1);return this.offset+=3,e}u32(){let e=this.view.getUint32(this.offset);return this.offset+=4,e}u64(){let e=this.view.getBigUint64(this.offset);return this.offset+=8,e}bytes(e){let r=new Uint8Array(this.view.buffer,this.view.byteOffset+this.offset,e);return this.offset+=e,r}utf8(e){return _A.decode(this.bytes(e))}nullableString(){if(this.u8()===0)return null;let r=this.u16();return this.utf8(r)}varString(){let e=this.u8();return this.utf8(e)}},zA=(t,e,r)=>{switch(e){case 1:{let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t.u8();return n}case 2:{let n=new Uint16Array(r);for(let o=0;o<r;o++)n[o]=t.u16();return n}case 6:{let n=new Uint32Array(r);for(let o=0;o<r;o++)n[o]=t.u32();return n}case 8:{let n=new BigUint64Array(r);for(let o=0;o<r;o++)n[o]=t.u64();return n}case 3:{let n=new Array(r);for(let o=0;o<r;o++)n[o]=t.nullableString();return n}default:throw new Error(`Unsupported column type 0x${e.toString(16)}`)}},$A=(t,e)=>{switch(e){case 1:return t.u8();case 2:return t.u16();case 6:return t.u32();case 7:return t.u8()===1;case 3:return t.nullableString();default:throw new Error(`Unsupported instance field type 0x${e.toString(16)}`)}},HA=t=>{let e=t.u8(),r=new Array(e);for(let n=0;n<e;n++){let o=t.u8(),i=t.u8();r[n]={name:t.utf8(i),type:o}}return r},WA=(t,e)=>{let r={};for(let n of e)r[n.name]=$A(t,n.type);return r},GA=(t,e)=>{if(t.u8()===0)return;let n=e>=6?()=>t.varString():()=>t.u32(),o=t.varString(),i=t.u8(),s={};for(let a=0;a<i;a++){let c=t.varString(),u={},d=t.u8();if(d>0){u.equivalentWith=[];for(let f=0;f<d;f++)u.equivalentWith.push({id:n(),confidence:t.u8()/255})}let l=t.u8();if(l>0){u.childOf=[];for(let f=0;f<l;f++)u.childOf.push({id:n(),confidence:t.u8()/255})}let p=t.u8();if(p>0){u.parentOf=[];for(let f=0;f<p;f++)u.parentOf.push({id:n(),confidence:t.u8()/255})}s[c]=u}return{original:o,conversions:s}},Lc=t=>{let e=new kg(t),r=e.u32();if(r!==Dg)throw new Error(`Invalid sidecar magic 0x${r.toString(16)} (expected DPM1)`);let n=e.u8();if(n!==1&&n!==2&&n!==3&&n!==4&&n!==5&&n!==Og)throw new Error(`Unsupported sidecar format version ${n}`);let o=n===1?e.u16():e.u24(),i=e.u8(),s=e.u8(),a=new Map;for(let u=0;u<i;u++){let d=e.u8(),l=e.u8(),p=e.utf8(l);a.set(p,zA(e,d,o))}let c={header:{formatVersion:n,recordCount:o,columnCount:i,sidecarType:s},columns:a};if(s===2&&(n>=4&&e.remaining>0?e.u8():0)===1){let d=new Array(o);for(let l=0;l<o;l++)d[l]=GA(e,n);c.bridges=d}if(s===1){let u=e.u8(),d=new Array(u);for(let f=0;f<u;f++){let g=e.u8();d[f]=e.utf8(g)}if(u>0){let f=new Map;for(let h of d)f.set(h,new Array(o));let g=n===1?()=>BigInt(e.u16()):n===2?()=>BigInt(e.u24()):n>=5?()=>e.u64():()=>BigInt(e.u32());for(let h=0;h<o;h++)for(let b of d){let w=e.u16(),x=new Array(w);for(let y=0;y<w;y++)x[y]=g();f.get(b)[h]=x}c.relations=f;let m=f.get("authors");m&&(c.authorIds=m)}let l=HA(e),p=new Array(o);for(let f=0;f<o;f++){let g=e.u16(),m=new Array(g);for(let h=0;h<g;h++)m[h]=WA(e,l);p[f]=m}c.instanceFields=l,c.instances=p}return c},So=t=>{if(t.header.sidecarType===2){let r={},n;for(let[o,i]of t.columns)o==="ids"?n=i:r[o]=i;return{ids:n,fields:r,bridges:t.bridges}}let e={};for(let[r,n]of t.columns)e[r]=n;if(t.relations)for(let[r,n]of t.relations)e[r]=n;return t.authorIds&&(e.authorIds=t.authorIds),t.instances&&(e.instances=t.instances),e},VA=(t,e)=>{let r=o=>Array.isArray(o)?[o[e]??null]:o.slice(e,e+1);if(t.header.sidecarType===2){let o={},i;for(let[s,a]of t.columns)s==="ids"?i=r(a):o[s]=r(a);return{ids:i,fields:o,bridges:t.bridges?[t.bridges[e]??void 0]:void 0}}let n={};for(let[o,i]of t.columns)n[o]=r(i);if(t.relations)for(let[o,i]of t.relations)n[o]=[i[e]??[]];return t.authorIds&&(n.authorIds=[t.authorIds[e]??[]]),t.instances&&(n.instances=[t.instances[e]??[]]),n},Mg=class{constructor(){this.chunks=[]}u8(e){this.chunks.push(new Uint8Array([e&255]))}u16(e){let r=new Uint8Array(2);new DataView(r.buffer).setUint16(0,e),this.chunks.push(r)}u24(e){let r=new Uint8Array(3);r[0]=e>>>16&255,r[1]=e>>>8&255,r[2]=e&255,this.chunks.push(r)}u32(e){let r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e>>>0),this.chunks.push(r)}u64(e){let r=new Uint8Array(8);new DataView(r.buffer).setBigUint64(0,e),this.chunks.push(r)}bytes(e){this.chunks.push(e)}nullableString(e){if(e===null){this.u8(0);return}this.u8(1);let r=Bc.encode(e);this.u16(r.length),this.bytes(r)}varString(e){let r=Bc.encode(e);this.u8(r.length),this.bytes(r)}toBuffer(){let e=this.chunks.reduce((o,i)=>o+i.length,0),r=new Uint8Array(e),n=0;for(let o of this.chunks)r.set(o,n),n+=o.length;return r.buffer}},qA=t=>{let e=[...t.relations??[]];return t.authorIds&&!e.some(r=>r.name==="authors")&&e.push({name:"authors",data:t.authorIds}),e},KA=(t,e,r)=>{switch(e){case 1:t.u8(r??0);break;case 2:t.u16(r??0);break;case 6:t.u32(r??0);break;case 7:t.u8(r?1:0);break;case 3:t.nullableString(r??null);break;default:throw new Error(`Unsupported instance field type 0x${e.toString(16)}`)}},QA=(t,e)=>{if(e.length>255)throw new Error("Too many instance fields (max 255)");t.u8(e.length);for(let r of e){t.u8(r.type);let n=Bc.encode(r.name);t.u8(n.length),t.bytes(n)}},kc=t=>{let e=new Mg;e.u32(Dg),e.u8(Og),e.u24(t.recordCount),e.u8(t.columns.length),e.u8(t.sidecarType);for(let r of t.columns){e.u8(r.type);let n=Bc.encode(r.name);e.u8(n.length),e.bytes(n);let o=r.data;for(let i=0;i<t.recordCount;i++)switch(r.type){case 1:e.u8(o[i]??0);break;case 2:e.u16(o[i]??0);break;case 6:e.u32(o[i]??0);break;case 8:e.u64(o[i]??0n);break;case 7:e.u8(o[i]?1:0);break;case 3:e.nullableString(o[i]??null);break;default:throw new Error(`Unsupported column type 0x${r.type.toString(16)}`)}}if(t.sidecarType===1){let r=qA(t);e.u8(r.length);for(let s of r){let a=Bc.encode(s.name);e.u8(a.length),e.bytes(a)}for(let s=0;s<t.recordCount;s++)for(let a of r){let c=a.data[s]??[];e.u16(c.length);for(let u of c)e.u64(u)}let n=t.instanceFields??[];if((t.instances?.length??0)>0&&n.length===0)throw new Error("writeSidecar: instances provided without instanceFields spec");let o=n.some(s=>s.name===c1.name)?n:[...n,c1];QA(e,o);let i=t.instances??[];for(let s=0;s<t.recordCount;s++){let a=i[s]??[];e.u16(a.length);for(let c of a)for(let u of o)KA(e,u.type,c[u.name])}}else if(t.sidecarType===2){let r=t.bridges,n=r&&r.some(o=>o&&o.conversions&&Object.keys(o.conversions).length>0);if(e.u8(n?1:0),n)for(let o=0;o<t.recordCount;o++){let i=r[o];if(!i||!i.conversions||Object.keys(i.conversions).length===0)e.u8(0);else{e.u8(1),e.varString(i.original);let s=Object.keys(i.conversions);e.u8(s.length);for(let a of s){e.varString(a);let c=i.conversions[a];e.u8(c.equivalentWith?.length||0);for(let u of c.equivalentWith||[])e.varString(String(u.id)),e.u8(Math.round(u.confidence*255));e.u8(c.childOf?.length||0);for(let u of c.childOf||[])e.varString(String(u.id)),e.u8(Math.round(u.confidence*255));e.u8(c.parentOf?.length||0);for(let u of c.parentOf||[])e.varString(String(u.id)),e.u8(Math.round(u.confidence*255))}}}}return e.toBuffer()},ZA=t=>{let e={};for(let[r,n]of t.entries()){let o={};for(let[i,s]of n.entries()){let a={};for(let[c,u]of s.entries())a[c]=Array.from(u);o[i]=a}e[String(r)]=o}return new TextEncoder().encode(JSON.stringify(e)).buffer},JA=t=>{if(t.byteLength===0)return new Map;let e=JSON.parse(new TextDecoder().decode(t)),r=new Map;for(let[n,o]of Object.entries(e)){let i=new Map;for(let[s,a]of Object.entries(o)){let c=new Map;for(let[u,d]of Object.entries(a))c.set(u,new Set(d));i.set(s,c)}r.set(BigInt(n),i)}return r};var qd="__propertySlots",Kd="__instanceRemaps",Qd=[[qd,"_propertySlots"],[Kd,"_instanceRemaps"]],YA=[["title","string"],["description","string"],["originalLang","string"],["ageGradeBand","number"],["previewTxId","string"],["safe","boolean"],["deleted","boolean"],["lifecycleStatus","number"]].map(([t,e],r)=>({name:t,type:e,propId:r,source:r===1?"extended":"slim"}));function Ug(t){return[...new Map([...YA,...t.props].map(e=>[e.propId,e])).values()]}var Mc=t=>t.charAt(0).toUpperCase()+t.slice(1),Vt=(t,e)=>e==="string"&&!t.endsWith("s")?`${t}s`:t,u1=(t,e)=>{let r=e.props[t.propId]?.bits;return typeof r=="number"&&r>0?r:t.type==="boolean"?1:t.bits??32},XA=(t,e,r,n)=>{let o=n.instanceFields?.[r]?.[e],i=typeof o=="number"?n.props[o]?.bits:void 0;return typeof i=="number"&&i>0?i:t.type==="boolean"?1:t.bits??32},eP=t=>t.name==="authors"?"authorIds":t.name,_g=(t,e)=>t<=8?Uint8Array.from(e):t<=16?Uint16Array.from(e):Uint32Array.from(e);function Hr(t,e,r){let n=e.map(s=>BigInt(s.id)),o=[{name:"ids",type:8,data:BigUint64Array.from(n)},{name:"titles",type:3,data:e.map(s=>s.title)},{name:"originalLangs",type:3,data:e.map(s=>s.originalLang)},{name:"previewTxIds",type:3,data:e.map(s=>s.previewTxId)},{name:"ageGradeBands",type:1,data:Uint8Array.from(e.map(s=>s.ageGradeBand))},{name:"safes",type:1,data:Uint8Array.from(e.map(s=>s.safe===!1?0:1))},{name:"deleteds",type:1,data:Uint8Array.from(e.map(s=>s.deleted?1:0))}];for(let s of t.props.filter(a=>a.source==="slim")){let a=Vt(s.name,s.type);if(s.type==="string")o.push({name:a,type:3,data:e.map(c=>c[s.name])});else if(s.type==="boolean")o.push({name:a,type:1,data:Uint8Array.from(e.map(c=>c[s.name]?1:0))});else{let c=u1(s,r);o.push({name:a,type:Ws(c),data:_g(c,e.map(u=>u[s.name]))})}}if(t.multipleInstances)for(let s=0;s<t.instanceFields.length;s++){let a=t.instanceFields[s],c=Mc(a.name),u=Vt(c,a.type),d=e.map(l=>l[`default${c}`]);if(a.type==="string")o.push({name:`default${u}`,type:3,data:d});else if(a.type==="boolean")o.push({name:`default${u}`,type:1,data:Uint8Array.from(d.map(l=>l?1:0))});else{let l=XA(a,s,t.objectId,r);o.push({name:`default${u}`,type:Ws(l),data:_g(l,d)})}}let i={sidecarType:0,recordCount:e.length,columns:o};return kc(i)}function Wr(t,e,r){let n=e.map(c=>BigInt(c.id)),o=[{name:"ids",type:8,data:BigUint64Array.from(n)},{name:"descriptions",type:3,data:e.map(c=>c.description)}];for(let c of t.props.filter(u=>u.source==="extended")){let u=Vt(c.name,c.type);if(c.type==="string")o.push({name:u,type:3,data:e.map(d=>d[c.name])});else if(c.type==="boolean")o.push({name:u,type:1,data:Uint8Array.from(e.map(d=>d[c.name]?1:0))});else{let d=u1(c,r);o.push({name:u,type:Ws(d),data:_g(d,e.map(l=>l[c.name]))})}}let s=t.relations.filter(c=>c.direction==="has").map(c=>({name:c.name,data:e.map(u=>{let d=u[eP(c)];return c.cardinality==="1to1"?d?[BigInt(d)]:[]:(d??[]).map(l=>BigInt(l))})})),a={sidecarType:1,recordCount:e.length,columns:o,...s.length>0&&{relations:s}};return t.multipleInstances&&(a.instanceFields=jg(t.instanceFields),a.instances=e.map(c=>c.instances)),kc(a)}function Gr(t,e){let r=[{name:"ids",type:8,data:BigUint64Array.from(e.map(i=>BigInt(i.id)))}],n=["title","description","originalLang","ageGradeBand","previewTxId","safe","deleted","lifecycleStatus",...t.props.map(i=>i.name),...t.multipleInstances?t.instanceFields.map(i=>i.name):[]];for(let i of n){let s=new Uint8Array(e.length),a=!1;for(let c=0;c<e.length;c++){let u=e[c]._prov?.[i]?.source;u==="manual"?(s[c]=2,a=!0):u==="ai"?(s[c]=1,a=!0):u==="consensus"?(s[c]=3,a=!0):e[c]._prov&&e[c]._prov[i]!==void 0&&(s[c]=2,a=!0)}a&&r.push({name:i,type:1,data:s})}for(let[i,s]of Qd)e.some(a=>a[s]!==void 0)&&r.push({name:i,type:3,data:e.map(a=>a[s]===void 0?null:JSON.stringify(a[s]))});let o={sidecarType:2,recordCount:e.length,columns:r,bridges:e.map(i=>i.bridges)};return kc(o)}function Vr(t,e){let r=Lc(e),n=r.header.recordCount,o=new Array(n);for(let p=0;p<n;p++)o[p]={};let i=r.columns.get("ids"),s=r.columns.get("titles"),a=r.columns.get("originalLangs"),c=r.columns.get("previewTxIds"),u=r.columns.get("ageGradeBands"),d=r.columns.get("safes"),l=r.columns.get("deleteds");for(let p=0;p<n;p++)o[p].id=i?BigInt(i[p]):0n,o[p].title=s?s[p]:null,o[p].originalLang=a?a[p]:null,o[p].previewTxId=c?c[p]:null,o[p].ageGradeBand=u?u[p]:0,o[p].safe=d?d[p]===1:!0,o[p].deleted=l?l[p]===1:!1;for(let p of t.props.filter(f=>f.source==="slim")){let f=Vt(p.name,p.type),g=r.columns.get(f);for(let m=0;m<n;m++)p.type==="boolean"?o[m][p.name]=g?g[m]===1:!1:o[m][p.name]=g?g[m]:p.type==="string"?null:0}if(t.multipleInstances)for(let p=0;p<t.instanceFields.length;p++){let f=t.instanceFields[p],g=Mc(f.name),m=Vt(g,f.type),h=r.columns.get(`default${m}`);for(let b=0;b<n;b++)f.type==="boolean"?o[b][`default${g}`]=h?h[b]===1:!1:o[b][`default${g}`]=h?h[b]:f.type==="string"?null:0}return o}function qr(t,e){let r=Lc(e),n=r.header.recordCount,o=new Array(n);for(let c=0;c<n;c++)o[c]={};let i=r.columns.get("ids"),s=r.columns.get("descriptions");for(let c=0;c<n;c++)o[c].id=i?BigInt(i[c]):0n,o[c].description=s?s[c]:null;for(let c of t.props.filter(u=>u.source==="extended")){let u=Vt(c.name,c.type),d=r.columns.get(u);for(let l=0;l<n;l++)c.type==="boolean"?o[l][c.name]=d?d[l]===1:!1:o[l][c.name]=d?d[l]:c.type==="string"?null:0}let a=t.relations.filter(c=>c.direction==="has");for(let c of a){let u=c.name==="authors"?"authorIds":c.name,d=r.relations?.get(c.name)||(c.name==="authors"?r.authorIds:void 0);for(let l=0;l<n;l++){let p=d?d[l]||[]:[];o[l][u]=c.cardinality==="1to1"?p[0]??null:p}}if(t.multipleInstances){let c=r.instances;for(let u=0;u<n;u++)o[u].instances=c?c[u]||[]:[]}return o}function Kr(t,e){let r=Lc(e),n=r.header.recordCount,o=new Array(n);for(let s=0;s<n;s++)o[s]={_prov:{}};let i=r.columns.get("ids");for(let s=0;s<n;s++)o[s].id=i?BigInt(i[s]):0n,o[s].bridges=r.bridges?r.bridges[s]:void 0;for(let[s,a]of r.columns.entries()){if(s==="ids")continue;let c=Qd.find(([u])=>u===s);if(c){for(let u=0;u<n;u++)a[u]!=null&&(o[u][c[1]]=JSON.parse(String(a[u])));continue}for(let u=0;u<n;u++)a[u]!==0&&(o[u]._prov[s]={source:"manual"})}return o}var Zd=class{constructor(e,r,n){this.objectType=e;this.indexName=r;this.keyPath=n}};function zg(t,e){if(!t||typeof e!="string")return[e];if(t.type==="prefix"){if(t.customMappings&&t.customMappings[e]!==void 0){let n=t.customMappings[e];return[n,n]}let r=e.indexOf(t.separator);if(r>=0){let n=e.substring(0,r),o=e.substring(r+t.separator.length);return[n,o]}return[t.fallback,e]}return[e]}var Jd=class{constructor(e,r,n,o){this.objectType=e;this.name=r;this.keys=n;this.classifier=o;this.langIndex=new Map;this.reverseMap=new Map;this.depNodes=new Map}getOrCreateDepNode(e,r){let n=this.depNodes.get(e);n||(n=new Map,this.depNodes.set(e,n));let o=r.map(s=>String(s??"")).join(":"),i=n.get(o);return i||(i=new Zd(this.objectType,this.name,o),n.set(o,i)),i}addToTree(e,r,n){let o=e;for(let a=0;a<r.length-1;a++){let c=r[a],u=o.get(c);u||(u=new Map,o.set(c,u)),o=u}let i=r[r.length-1],s=o.get(i);s||(s=new Set,o.set(i,s)),s.add(n)}removeFromTree(e,r,n){let o=[],i=e;for(let u=0;u<r.length-1;u++){let d=r[u],l=i.get(d);if(!l)return!1;o.push({map:i,key:d}),i=l}let s=r[r.length-1],a=i.get(s);if(!a)return!1;let c=a.delete(n);if(a.size===0){i.delete(s);for(let u=o.length-1;u>=0;u--){let{map:d,key:l}=o[u],p=d.get(l);if(p&&p.size===0)d.delete(l);else break}}return c}triggerPath(e,r){At.trigger(this.getOrCreateDepNode(e,r));let n=this.depNodes.get(e);if(n)for(let o=0;o<r.length;o++){let i=r.slice(0,o).map(a=>String(a??"")).join(":"),s=n.get(i);s&&At.trigger(s)}}trackRaw(e,r,n){if(n.some(c=>c==null||c==="")){this.untrack(e,r);return}let o=[];for(let c=0;c<n.length;c++){let u=n[c];c===0&&this.classifier?o.push(...zg(this.classifier,u)):o.push(u)}let i=this.reverseMap.get(e);i||(i=new Map,this.reverseMap.set(e,i));let s=i.get(r);if(s&&JSON.stringify(s)===JSON.stringify(o))return;let a=this.langIndex.get(r);a||(a=new Map,this.langIndex.set(r,a)),s&&(this.removeFromTree(a,s,e),this.triggerPath(r,s)),this.addToTree(a,o,e),i.set(r,o),this.triggerPath(r,o)}trackRecord(e,r){let n=de.get(this.objectType),o=this.keys.map(i=>{let s=n.props.find(a=>a.name===i);return s?e.getProp(s.propId,r):i==="classificationSystem"?e.classificationSystem:e[i]});this.trackRaw(e.id,r,o)}untrack(e,r){let n=this.reverseMap.get(e);if(!n)return;let o=n.get(r);if(!o)return;let i=this.langIndex.get(r);i&&(this.removeFromTree(i,o,e),this.triggerPath(r,o)),n.delete(r)}getTrackedLangs(e){let r=this.reverseMap.get(e);return r?Array.from(r.keys()):[]}getUids(e,r){let n=this.getOrCreateDepNode(r,e);At.track(n);let o=this.langIndex.get(r);if(!o)return new Set;let i=o;for(let s of e){if(!(i instanceof Map))return new Set;i=i.get(s)}if(i instanceof Map){let s=new Set,a=c=>{for(let u of c.values())if(u instanceof Set)for(let d of u)s.add(d);else u instanceof Map&&a(u)};return a(i),s}return i instanceof Set?i:new Set}getUidsByRawValue(e,r){let n=this.classifier?zg(this.classifier,e):[e];return this.getUids(n,r)}getAvailableKeys(e,r){At.track(this.getOrCreateDepNode(r,e));let n=this.langIndex.get(r);if(!n)return[];let o=n;for(let i of e){if(!(o instanceof Map))return[];o=o.get(i)}return o instanceof Map?Array.from(o.keys()).map(String):[]}getAvailableRawValues(e){At.track(this.getOrCreateDepNode(e,[]));let r=this.langIndex.get(e);if(!r)return[];if(this.classifier&&this.classifier.type==="prefix"){let n=[];for(let[o,i]of r.entries())if(i instanceof Map)for(let s of i.keys())o===this.classifier.fallback?n.push(String(s)):o==="origin"?n.push("origin"):n.push(`${o}${this.classifier.separator}${s}`);return Array.from(new Set(n))}return Array.from(r.keys()).map(String)}},Yd=class{constructor(){this.indexes=new Map}registerIndex(e,r){let n=this.indexes.get(e);n||(n=new Map,this.indexes.set(e,n)),n.set(r.name,r)}getIndex(e,r){let o=this.indexes.get(e)?.get(r);if(!o){let s=de.get(e).indexes?.find(a=>a.name===r);if(s){let a=new Jd(e,r,s.keys,s.classifier);return this.registerIndex(e,a),a}throw new Error(`[IndexRegistry] Index "${r}" not found for objectType ${e}`)}return o}hasIndexForProperty(e,r){let n=de.get(e),o=n.props.find(s=>s.propId===r);if(!o)return!1;let i=this.indexes.get(e);if(i){for(let s of i.values())if(s.keys.includes(o.name))return!0}return n.indexes?.some(s=>s.keys.includes(o.name))??!1}trackRecord(e,r){let n=de.get(e);if(n.indexes)for(let o of n.indexes){let i=this.getIndex(e,o.name),s=r.getLoadedLanguages();for(let a of s)i.trackRecord(r,a)}}updateIndex(e,r,n){let o=de.get(e);if(!o.indexes)return;let i=o.props.find(s=>s.propId===r);if(i){for(let s of o.indexes)if(s.keys.includes(i.name)){let a=this.getIndex(e,s.name),c=new Set([...n.getLoadedLanguages(),...a.getTrackedLangs(n.id)]);for(let u of c)a.trackRecord(n,u)}}}getAvailableRawValues(e,r,n){try{return this.getIndex(e,r).getAvailableRawValues(n)}catch{return[]}}bootstrapSidecars(e){for(let r of e){let n=de.get(r.objectType);if(!n||!n.indexes)continue;let o=r.slim?So(r.slim):null,i=r.extended?So(r.extended):null;for(let s of n.indexes){let a=this.getIndex(r.objectType,s.name);for(let[c,u]of r.idIndex){let d=s.keys.map(l=>{if(l==="deleted"){let f=o?.deleteds??i?.deleteds;return f?!!f[u]:!1}if(l==="safe"){let f=o?.safes??i?.safes;return f?!!f[u]:!0}if(l==="classificationSystem"){let f=o?.classificationSystems??i?.classificationSystems;return f?f[u]:null}let p=n.props.find(f=>f.name===l);if(p){let f=Vt(p.name,p.type),g=o?.[f]??i?.[f];return g?g[u]:null}return null});a.trackRaw(c,r.lang,d)}}}}clear(){this.indexes.clear()}},Ze=new Yd;var Gs=new Set;function di(t){return Gs.add(t),()=>{Gs.delete(t)}}function tP(t){Gs.clear(),t&&Gs.add(t)}var At={track(t){for(let e of Gs)e.track(t)},trigger(t){for(let e of Gs)e.trigger(t)}},Xd=class{constructor(e){this.limit=e;this.map=new Map;this._pinned=new Set;this.pinReasons=new Map;this._warnedOverflow=!1}get size(){return this.map.size}get(e){if(!this.map.has(e))return;let r=this.map.get(e);return this.map.delete(e),this.map.set(e,r),r}set(e,r){if(this.map.has(e)&&this.map.delete(e),this.map.set(e,r),this.map.size>this.limit){let n=!1;for(let o of this.map.keys())if(!this._pinned.has(o)){this.map.delete(o),n=!0;break}!n&&!this._warnedOverflow&&(this._warnedOverflow=!0,console.warn(`[LruCache] limit (${this.limit}) exceeded with every entry pinned \u2014 growing past limit instead of evicting/crashing. This usually means too many draft/unsynced records are open at once.`))}}pin(e,r="lifecycle"){let n=this.pinReasons.get(e);n||this.pinReasons.set(e,n=new Set),n.add(r),this._pinned.add(e)}unpin(e,r="lifecycle"){let n=this.pinReasons.get(e);n?.delete(r),n?.size||(this.pinReasons.delete(e),this._pinned.delete(e))}has(e){return this.map.has(e)}delete(e){this.map.delete(e)}clear(){this.map.clear(),this._pinned.clear(),this.pinReasons.clear()}keys(){return this.map.keys()}values(){return this.map.values()}},rP=1e4,d1={cacheLimit:rP},Dc=new Map,$g=t=>{if(t.cacheLimit&&t.cacheLimit>0){d1.cacheLimit=t.cacheLimit;for(let e of Dc.values())e.limit=t.cacheLimit}},Vs=t=>{let e=Dc.get(t);return e||(e=new Xd(d1.cacheLimit),Dc.set(t,e)),e},nP=()=>{Dc.clear(),Ze.clear()},An=()=>Dc,el;function tl(t){el=t}function Oc(){return el}function Pn(t,e){if(kt(t)){let r=e||el;if(!r)throw new Error("[models_v2] creatorUsername required for user-created records");return`${r}:${t}`}return`canonical:${t}`}var J=(t,e,r)=>kt(e)&&!r&&!el?!1:Vs(t).has(Pn(e,r)),Y=(t,e,r)=>{let n=Pn(e,r),o=Vs(t).get(n);if(typeof o>"u")throw new Error(`cannot find ${t} with id ${e} (evicted or never loaded \u2014 use LoadAsync)`);return o},it=(t,e,r)=>{Vs(t).set(Pn(e.id,r),e)},oP=(t,e,r)=>{Vs(t).delete(Pn(e,r))},En=(t,e,r,n="lifecycle")=>{Vs(t).pin(Pn(e,r),n)};async function ae(t,e){let r=e.filter(n=>!t.Has(n));return r.length>0&&await Promise.all(r.map(n=>t.LoadAsync(n).catch(o=>{console.warn(`[loadManyAsync] failed to hydrate id=${n}: ${o?.message??o}`)}))),e.filter(n=>t.Has(n)).map(n=>t.Load(n))}async function Hg(t,e){return t.Has(e)||await t.LoadAsync(e).catch(r=>{console.warn(`[loadOneAsync] failed to hydrate id=${e}: ${r?.message??r}`)}),t.Has(e)?t.Load(e):null}var l1=new Map;function Pr(t,e){l1.set(t,e)}function Fc(t){return l1.get(t)}var jc=(t,e,r,n="lifecycle")=>{Vs(t).unpin(Pn(e,r),n)};var iP=t=>new Promise(e=>setTimeout(e,t)),Je=()=>{let t,e,r=!1,n=!1;return{pro:new Promise((u,d)=>{t=u,e=d}),resolve:u=>{r?console.trace("resolve called twice"):(t(u),r=!0)},reject:u=>{r?console.error("reject called twice"):(r=!0,e(u))},start:()=>n=!0,isStarted:()=>n}};var f1=5,m1="the_world_library",li=Je(),p1=()=>{li=Je()},st="patches",Uc="catalog_json",Ie="key_value",Er="pdf_data",Wg="deviceState",Gg="localRecords",vo="instanceRemaps",me=()=>{if(li.isStarted())return li.pro;li.start();let t=indexedDB.open(m1,f1);return t.onupgradeneeded=function(){let e=t.result;e.objectStoreNames.contains(Uc)||e.createObjectStore(Uc,{keyPath:"id"}),e.objectStoreNames.contains(Ie)||e.createObjectStore(Ie,{keyPath:"key"}),e.objectStoreNames.contains(Er)||e.createObjectStore(Er,{keyPath:"fileId"}),e.objectStoreNames.contains(st)||e.createObjectStore(st,{keyPath:["username","pk"]}).createIndex("username","username",{unique:!1});let r=t.transaction.objectStore(st);if(!r.indexNames.contains("byRecord")){r.createIndex("byRecord",["objectType","recordId"]),r.createIndex("byTarget","targetRecordId");let n=0,o=r.openCursor();o.onsuccess=()=>{let i=o.result;if(!i){t.transaction.objectStore(Ie).put({key:"patch-order",value:n});return}let s=i.value;s.order=++n,s.objectId!==void 0&&(s.recordId=String(s.objectId)),s.targetId!==void 0&&(s.targetRecordId=String(s.targetId)),i.update(s),i.continue()}}e.objectStoreNames.contains(Wg)||e.createObjectStore(Wg),e.objectStoreNames.contains(Gg)||e.createObjectStore(Gg,{keyPath:["creatorUsername","wireId"]}).createIndex("byCreator","creatorUsername",{unique:!1}),e.objectStoreNames.contains(vo)||e.createObjectStore(vo,{keyPath:["creatorUsername","objectId","langId","originalIndex"]}),console.log("[IDB] models_v2 schema upgraded to version",e.version)},t.onerror=function(e){p1(),li.reject(e)},t.onsuccess=function(e){let r=e.target.result;r.onversionchange=()=>{r.close()},r.onclose=()=>{p1()},li.resolve(r)},li.pro},sP=async()=>{let t=await me(),e=Array.from(t.objectStoreNames);if(e.length===0)return;let r=t.transaction(e,"readwrite");return e.forEach(n=>r.objectStore(n).clear()),new Promise(n=>r.oncomplete=n)};async function g1(t,e,r,n){let o=await me(),i=`${t}:${e}:`;await new Promise((s,a)=>{let c=o.transaction(Ie,"readwrite");c.objectStore(Ie).put({key:`subscription-view:${i}${r}`,value:{prefix:i,sources:n.map(u=>i+u)}}),c.oncomplete=()=>s(),c.onabort=()=>a(c.error)})}async function y1(t){let e=await me(),r=await new Promise((n,o)=>{let i=e.transaction(Ie),s=i.objectStore(Ie).getAll(IDBKeyRange.bound("subscription-view:","subscription-view:\uFFFF"));i.oncomplete=()=>n(s.result.map(a=>a.value)),i.onabort=()=>o(i.error)});return t.filter(n=>{if(!n.sourceStream)return!0;let o=r.filter(i=>n.sourceStream.startsWith(i.prefix));return!o.length||o.some(i=>i.sources.includes(n.sourceStream))})}var Vg="publisher-outbox-enabled",qg=t=>`publisher-outbox:${t}`;async function h1(){let t=await me();await new Promise((e,r)=>{let n=t.transaction(Ie,"readwrite");n.objectStore(Ie).put({key:Vg,value:!0}),n.oncomplete=()=>e(),n.onabort=()=>r(n.error)})}async function b1(){let t=await me();return new Promise((e,r)=>{let n=t.transaction(Ie),o=n.objectStore(Ie).getAll(IDBKeyRange.bound("publisher-outbox:","publisher-outbox:\uFFFF"));n.oncomplete=()=>e(o.result.map(i=>i.value).sort((i,s)=>i.order-s.order)),n.onabort=()=>r(n.error)})}async function x1(t){let e=await me();await new Promise((r,n)=>{let o=e.transaction(Ie,"readwrite");for(let i of t)o.objectStore(Ie).delete(qg(i));o.oncomplete=()=>r(),o.onabort=()=>n(o.error)})}var aP=new Set(["pk","username","eventId","sourceStream","order","recordId","targetRecordId","provenance"]),cP=t=>"action"in t?JSON.stringify(Object.keys(t).filter(e=>!aP.has(e)).sort().map(e=>[e,t[e]]),(e,r)=>typeof r=="bigint"?`${r}n`:r):null,Kg=t=>{let e=new Map;for(let n of t){let o=cP(n);if(o===null)continue;let i=e.get(o);i?i.push(n):e.set(o,[n])}let r=[];for(let n of e.values()){if(n.length<2)continue;let o=n.filter(i=>i.sourceStream);o.length===n.length&&(o.sort((i,s)=>(i.pk??0)-(s.pk??0)),o.shift()),r.push(...o)}return r},rl=t=>{let e=new Set(Kg(t));return e.size===0?t.slice():t.filter(r=>!e.has(r))};var _c=t=>`patch-sequence:${t}`,w1=(t,e)=>`patch-delivery:${JSON.stringify([t,e])}`,I1=async(t,e)=>{if(!e.length)return!0;let r=await me();return new Promise((n,o)=>{let i=r.transaction([st,Ie],"readwrite"),s=i.objectStore(st),a=i.objectStore(Ie);i.oncomplete=()=>n(!0),i.onabort=()=>o(i.error??new Error("Patch transaction aborted")),i.onerror=()=>o(i.error??new Error("Patch transaction failed"));let c=a.get(Vg),u=a.get("patch-order"),d=a.get(_c(t));d.onsuccess=()=>{let l=f=>{let g=f,m=u.result?.value??0,h=0,b=()=>{for(;h<e.length;){let{pk:w,username:x,...y}=e[h++],I=()=>{if(s.add({...y,username:t,pk:++g,order:++m,..."objectId"in y?{recordId:String(y.objectId)}:{},..."targetId"in y?{targetRecordId:String(y.targetId)}:{}}),c.result?.value&&t==="mine"&&!y.sourceStream&&Te(y)){let A=y.eventId??`publisher:${crypto.randomUUID()}`;a.put({key:qg(A),value:{...y,eventId:A,order:m}})}y.eventId&&a.put({key:w1(t,y.eventId),value:!0})};if(!y.eventId){I();continue}let S=a.get(w1(t,y.eventId));S.onsuccess=()=>{S.result||I(),b()};return}a.put({key:_c(t),value:g}),a.put({key:"patch-order",value:m})};b()};if(d.result){l(d.result.value);return}let p=s.index("username").getAll(IDBKeyRange.only(t));p.onsuccess=()=>l(p.result.reduce((f,g)=>Math.max(f,g.pk),0))}})},qs=async t=>{let e=await me();return new Promise((r,n)=>{let o=e.transaction([st,Ie],"readonly"),i=0;o.oncomplete=()=>r(i),o.onabort=()=>n(o.error),o.onerror=()=>n(o.error);let s=o.objectStore(Ie).get(_c(t));s.onsuccess=()=>{if(s.result){i=s.result.value;return}let a=o.objectStore(st).index("username").getAll(IDBKeyRange.only(t));a.onsuccess=()=>{i=a.result.reduce((c,u)=>Math.max(c,u.pk),0)}}})};var pi=(t,e)=>{let r=Je();return me().then(async n=>{let o=n.transaction(st,"readonly"),i=o.objectStore(st);i.index("username").getAll(IDBKeyRange.only(t)).onsuccess=s=>{let c=(s.target.result||[]).filter(u=>u.pk>=e);c.sort((u,d)=>u.pk-d.pk),r.resolve(c)},o.onerror=function(s){console.error("worker: error loading patches since",e,s.target),r.reject(s.target)}}).catch(r.reject),r.pro},Qr=t=>{let e=Je();return me().then(async r=>{let n=r.transaction(st,"readonly");n.objectStore(st).index("username").getAll(IDBKeyRange.only(t)).onsuccess=o=>{let i=o.target.result||[];i.sort((s,a)=>s.pk-a.pk),y1(i).then(e.resolve,e.reject)},n.onerror=function(o){console.error("worker: error loading all patches",o.target),e.reject(o.target)}}).catch(e.reject),e.pro};var nl=async t=>{let e=Kg(await Qr(t)).map(r=>r.pk);return e.length>0&&await uP(t,e),e.length},uP=async(t,e)=>{let r=await me();return new Promise((n,o)=>{let i=r.transaction([st,Ie],"readwrite"),s=i.objectStore(st),a=i.objectStore(Ie),c=a.get(_c(t)),u=()=>{for(let d of e)s.delete([t,d])};c.onsuccess=()=>{if(c.result){u();return}let d=s.index("username").getAll(IDBKeyRange.only(t));d.onsuccess=()=>{a.put({key:_c(t),value:d.result.reduce((l,p)=>Math.max(l,p.pk),0)}),u()}},i.oncomplete=()=>n(!0),i.onabort=()=>o(i.error),i.onerror=()=>o(i.error)})},S1=async()=>{let t=await me();return new Promise((e,r)=>{let n=t.transaction([st,Ie],"readwrite");n.objectStore(st).clear();let o=n.objectStore(Ie).openCursor();o.onsuccess=()=>{let i=o.result;i&&((i.key==="patch-order"||String(i.key).startsWith("patch-sequence:")||String(i.key).startsWith("patch-delivery:"))&&i.delete(),i.continue())},n.oncomplete=()=>e(!0),n.onabort=()=>r(n.error),n.onerror=()=>r(n.error)})};function zc(t){if(typeof t!="string")return t;let e=t.replace(/<\/?[^>]+(>|$)/g,""),r=/javascript:|data:|vbscript:|onclick|onerror|onload|onmouseover/gi;return e=e.replace(r,"[REDACTED]"),e}var v1={current:5,versions:{1:{hash:"ab76b7f6fee6015a",enums:{BookMethod:{bits:3,values:["Unknown","Scan","NativeDigital","OCR","AiTranslation"]},CopyrightStatus:{bits:2,values:["Unknown","PublicDomain","CreativeCommons","AllRightsReserved"]},QualityScore:{bits:3,values:["None","Poor","Fair","Good","VeryGood","Excellent"]},RecordingStatus:{bits:2,values:["Pending","Active","Completed","Archived"]}},props:{0:{name:"title",type:"string",bits:0},1:{name:"description",type:"string",bits:0},2:{name:"originalLang",type:"string",bits:0},3:{name:"ageGradeBand",type:"number",bits:8},4:{name:"previewTxId",type:"string",bits:0},5:{name:"safe",type:"boolean",bits:1},6:{name:"deleted",type:"boolean",bits:1},7:{name:"lifecycleStatus",type:"number",bits:2},8:{name:"prerequisites",type:"string",bits:0},9:{name:"deweyDecimal",type:"string",bits:0},10:{name:"locCallNumber",type:"string",bits:0},11:{name:"copyrightStatus",type:"enum",bits:2,enum:"CopyrightStatus"},12:{name:"textQuality",type:"enum",bits:3,enum:"QualityScore"},13:{name:"illustrations",type:"enum",bits:3,enum:"QualityScore"},14:{name:"educationQuality",type:"enum",bits:3,enum:"QualityScore"},15:{name:"practicality",type:"enum",bits:3,enum:"QualityScore"},16:{name:"accessibilityLevel",type:"enum",bits:3,enum:"QualityScore"},17:{name:"teacherMaterials",type:"boolean",bits:1},18:{name:"pedagogicalScaffolding",type:"enum",bits:3,enum:"QualityScore"},19:{name:"clarityOfExplanation",type:"enum",bits:3,enum:"QualityScore"},20:{name:"workedExamples",type:"enum",bits:3,enum:"QualityScore"},21:{name:"exercisesAndAssessment",type:"enum",bits:3,enum:"QualityScore"},22:{name:"selfStudyReadiness",type:"enum",bits:3,enum:"QualityScore"},23:{name:"referenceApparatus",type:"enum",bits:3,enum:"QualityScore"},24:{name:"safetyGuidance",type:"enum",bits:3,enum:"QualityScore"},25:{name:"contentCurrency",type:"enum",bits:3,enum:"QualityScore"},26:{name:"ecoRegeneration",type:"enum",bits:3,enum:"QualityScore"},27:{name:"communityLiving",type:"enum",bits:3,enum:"QualityScore"},28:{name:"promotesPeace",type:"enum",bits:3,enum:"QualityScore"},29:{name:"businessDevelopment",type:"enum",bits:3,enum:"QualityScore"},30:{name:"language",type:"string",bits:0},31:{name:"downloadTxId",type:"string",bits:0},32:{name:"method",type:"enum",bits:3,enum:"BookMethod"},33:{name:"isAiTranslation",type:"boolean",bits:1},34:{name:"aiEngine",type:"string",bits:0},35:{name:"addedAt",type:"number",bits:32},36:{name:"nbPages",type:"number",bits:16},37:{name:"sizeBytes",type:"number",bits:32},38:{name:"publisher",type:"string",bits:0},39:{name:"publicationDate",type:"string",bits:0},40:{name:"publishedAt",type:"string",bits:0},41:{name:"qualityScore",type:"enum",bits:3,enum:"QualityScore"},42:{name:"isbn",type:"string",bits:0},43:{name:"name",type:"string",bits:0},44:{name:"institution",type:"boolean",bits:1},45:{name:"country",type:"string",bits:0},46:{name:"rootTagId",type:"number",bits:32},47:{name:"birthDate",type:"string",bits:0},48:{name:"deathDate",type:"string",bits:0},49:{name:"nationality",type:"string",bits:0},50:{name:"wikiUrl",type:"string",bits:0},51:{name:"isniId",type:"string",bits:0},52:{name:"orcidId",type:"string",bits:0},53:{name:"classificationSystem",type:"string",bits:0},54:{name:"lccNotation",type:"string",bits:0},55:{name:"ddcNotation",type:"string",bits:0},56:{name:"udcNotation",type:"string",bits:0},57:{name:"clcNotation",type:"string",bits:0},58:{name:"bbkNotation",type:"string",bits:0},59:{name:"tlcNotation",type:"string",bits:0},60:{name:"ccNotation",type:"string",bits:0}},instanceFields:{0:[30,31,32,33,34,35,36,37,38,39,40,41,42]}},2:{hash:"e64d29ffeb68a760",enums:{},props:{44:{name:"deathDate",type:"string",bits:0},46:{name:"wikiUrl",type:"string",bits:0},60:{name:"ageGradeBand",type:"number",bits:8},61:{name:"previewTxId",type:"string",bits:0},62:{name:"safe",type:"boolean",bits:1},63:{name:"deleted",type:"boolean",bits:1},64:{name:"lifecycleStatus",type:"number",bits:2},65:{name:"name",type:"string",bits:0},66:{name:"institution",type:"boolean",bits:1},67:{name:"country",type:"string",bits:0},68:{name:"rootTagId",type:"number",bits:32},69:{name:"isRootContainer",type:"boolean",bits:1}},instanceFields:{}},3:{hash:"90a1b8881ca56990",enums:{},props:{70:{name:"isPinned",type:"boolean",bits:1},71:{name:"isLocked",type:"boolean",bits:1}},instanceFields:{}},4:{hash:"d15415e0f1378db2",enums:{},props:{},instanceFields:{}},5:{hash:"d8fe8075d5ea5abc",enums:{},props:{},instanceFields:{}}}};var $c=v1,Tn=$c.current,Qg=null,Ye=()=>(Qg||(Qg=Nc(Tn,$c)),Qg);var A1=21,hN=7,bN=3,Jg="[DPL-COIN:v1]",P1=new Map,Zg=new Set;typeof window<"u"&&window.addEventListener("LevelUpdate",t=>{let{username:e,level:r,points:n}=t.detail;if(!e){console.error("[models_v2 LevelState] LevelUpdate event missing username",t);return}let o=Number.isFinite(n)?Math.max(0,Number(n)):Math.max(0,r*21);P1.set(e,{level:Math.floor(r)+1,progress:100*(r-Math.floor(r)),points:o}),Zg.forEach(i=>i(e))});var Yg=t=>P1.get(t)??{level:1,progress:0,points:0},Xg=t=>(Zg.add(t),()=>Zg.delete(t));function E1(t,e){let r=null,n=[];return(...o)=>{r!==null&&clearTimeout(r);let i=new Promise((s,a)=>{n.push({resolve:s,reject:a})});return r=setTimeout(async()=>{r=null;let s=[...n];n=[];try{let a=await t(...o);s.forEach(c=>c.resolve(a))}catch(a){s.forEach(c=>c.reject(a))}},e),i}}var at=class at{constructor(e){this.username=e;this._patches=[];this.pendingPins=new Map;this.pendingEvents=new Map;this.authorshipListeners=new Set;this.syncStatusListeners=new Set;this._syncStatus="idle";this._retryAttempt=0;this._retryTimer=null}get syncStatus(){return this._syncStatus}setSyncStatus(e){if(this._syncStatus!==e){this._syncStatus=e;for(let r of this.syncStatusListeners)r(e)}}onSyncStatus(e){return this.syncStatusListeners.add(e),()=>this.syncStatusListeners.delete(e)}observePending(e){for(let r of this.pendingEvents.values())e(r);return this.authorshipListeners.add(e),()=>this.authorshipListeners.delete(e)}releasePins(e){for(let r of e)r.eventId&&(this.pendingPins.get(r.eventId)?.(),this.pendingPins.delete(r.eventId),this.pendingEvents.delete(r.eventId))}get patches(){return this._patches}initThread(e,r=2e3){console.log("InitPatchInstance with thread",e),this.thread=e,this.sync=E1(at.prototype.sync.bind(this),r),this._patches.length>0&&this.sync().catch(console.error)}get threadInstance(){return this.thread}static onSync(e){this.onSyncListeners.push(e)}static setReplay(e){this._replaying=e}clearQueue(){this.releasePins(this._patches),this._patches=[],this.cancelRetry(),this.setSyncStatus("idle")}cancelRetry(){this._retryTimer&&(clearTimeout(this._retryTimer),this._retryTimer=null),this._retryAttempt=0}scheduleRetry(){if(this._retryTimer)return;if(this._retryAttempt>=at.MAX_SYNC_RETRIES){console.error(`[Patches] sync retry limit (${at.MAX_SYNC_RETRIES}) reached for "${this.username}"; giving up until the next edit triggers a fresh attempt. ${this._patches.length} patch(es) remain queued.`);return}let e=at.SYNC_RETRY_BASE_MS*2**this._retryAttempt;this._retryAttempt++;let r=this._retryAttempt;this._retryTimer=setTimeout(()=>{this._retryTimer=null,at.prototype.sync.call(this).catch(n=>{console.warn(`[Patches] sync retry ${r}/${at.MAX_SYNC_RETRIES} failed for "${this.username}":`,n)})},e)}addPatch(e){if(at._replaying)return;Te(e)&&(e.operation===k.EditPropertyString?e.value=zc(e.value):e.operation===k.EditInstanceFieldString&&(e.value=zc(e.value)));let r=crypto.randomUUID();if(Te(e)){let o=e,i=[{objectType:o.objectType,id:o.objectId}];if(e.operation===k.EditRelation){let a=$r(e);a&&i.push({objectType:a.objectType,id:a.objectId})}let s=`pending:${r}`;for(let a of i)a.id!==void 0&&En(a.objectType,a.id,this.username,s);this.pendingPins.set(r,()=>{for(let a of i)a.id!==void 0&&jc(a.objectType,a.id,this.username,s)})}let n={...e,eventId:r};this.pendingEvents.set(r,n),this._patches.push(n);for(let o of this.authorshipListeners)o(n);this.sync().catch(console.error)}static cleanData(e){let r={},n=a=>typeof a>"u",o=[],i=(a,c,u)=>{n(r[a])&&(r[a]={}),n(r[a][c])&&(r[a][c]=!0,o.push(u))},s=(a,c,u)=>{n(r[a])&&(r[a]={}),n(r[a][c])?(r[a][c]=o.length,o.push(u)):o[r[a][c]]=u};for(let a=e.length-1;a>=0;a--){let c=e[a];if(Te(c)){let l=`evm-${c.objectType}-${c.objectId??c.fromUid}-${c.operation}`;switch(c.operation){case k.EditPropertyString:case k.EditPropertyNumber:{let p=c;i(l,`${p.propertyId}:${p.langId??0}`,c);break}case k.EditInstanceFieldString:case k.EditInstanceFieldNumber:{let p=c;i(l,`${p.instanceIndex}:${p.propertyId}:${p.langId??0}`,c);break}case k.EditRelation:{let p=c;i(l,`${p.relationId}:${p.targetId}`,c);break}case k.CreateRecord:{i(l,"create",c);break}case k.AddInstance:{let p=c;s(l,`${p.langId??0}:${p.instanceIndex}`,c);break}case k.MergeProposal:{let p=c;i(l,`${p.destSystem}:${p.relationType}:${p.targetId}`,c);break}case k.DeleteBridge:{let p=c;i(l,`${p.destinationSystem}:${p.bridgeTypeToDelete}:${p.targetTagId}`,c);break}default:throw new Error(`unknown patch operation ${c.operation}`)}continue}let u=c,d=`local-${u.objectType}-${u.objectId}-${u.action}`;switch(u.action){case 4:i(d,`${u.part}`,u);break;case 6:i(d,`${u.part}:${u.socialMediaId}`,u);break;case 3:i(d,"seen",u);break;case 0:case 2:case 5:case 1:o.push(u);break;default:throw new Error(`unknown local action ${u.action}`)}}return o.reverse(),o}sync(){if(this.activeSync)return this.activeSync.then(()=>this._patches.length?at.prototype.sync.call(this):!0);let e=this.persistQueued().finally(()=>{this.activeSync=void 0});return this.activeSync=e,e}async persistQueued(){if(typeof this.thread>"u")return null;let e=[...this._patches],r=at.cleanData(e);if(r.length===0)return this._patches=[],this.setSyncStatus("idle"),!0;this._patches=[],this.setSyncStatus("pending");let n;try{n=await this.thread.sendRequest({cmd:"savePatches",payload:{username:this.username,patches:r}})}catch(i){throw this._patches.unshift(...e),this.setSyncStatus("error"),this.scheduleRetry(),i}this.cancelRetry(),at.onSyncListeners.forEach(i=>{try{i(r)}catch(s){console.error(s)}}),this.releasePins(e);let o=await at.calculateLevel(this.username);return console.log("level after saving patches",o),this.setSyncStatus("idle"),n}static contributionScore(e){let r=this.cleanData(rl(e)),n=new Set;for(let i of r)Te(i)&&i.objectType===4&&i.operation===k.EditPropertyString&&i.propertyId===0&&i.value.startsWith(Jg)&&n.add(String(i.objectId));let o=0;for(let i of r){if(Te(i)){let s=i.objectId;if(i.objectType===4&&s!==void 0&&n.has(String(s)))continue;switch(i.operation){case k.EditPropertyString:case k.EditInstanceFieldString:o+=4;break;case k.EditPropertyNumber:case k.EditInstanceFieldNumber:o+=2;break;case k.EditRelation:o+=3;break}continue}switch(i.action){case 1:o+=.5;break;case 6:o+=1;break;case 4:o+=1;break;case 3:o+=1;break;case 0:o+=1;break;case 5:o+=2;break;case 2:o+=3;break}}return o}static async calculateLevel(e){let r=await Qr(e),n=this.contributionScore(r),o=n/21;if(typeof window<"u"&&typeof CustomEvent<"u"){let i=new CustomEvent("LevelUpdate",{detail:{level:o,points:n,username:e},bubbles:!0});window.dispatchEvent(i)}return o}};at.MAX_SYNC_RETRIES=5,at.SYNC_RETRY_BASE_MS=2e3,at._replaying=!1,at.onSyncListeners=[];var ct=at,ol=new Map,$=new ct("mine");ol.set("mine",$);var T1=t=>{let{objectType:e,objectId:r,ts:n}=t;switch(t.action){case 0:return{operation:mt.Visit,objectType:e,objectId:r,ts:n};case 2:return{operation:mt.Download,objectType:e,objectId:r,ts:n};case 3:return{operation:mt.Rate,objectType:e,objectId:r,ts:n,rate:t.rate};case 4:return{operation:mt.RatePart,objectType:e,objectId:r,ts:n,part:t.part,rate:t.rate};case 5:return{operation:mt.Share,objectType:e,objectId:r,ts:n,socialMediaId:t.socialMediaId};case 6:return{operation:mt.SharePart,objectType:e,objectId:r,ts:n,part:t.part,socialMediaId:t.socialMediaId};case 1:default:return null}},C1=t=>{let{objectType:e,objectId:r,ts:n}=t;switch(t.operation){case mt.Visit:return{action:0,objectType:e,objectId:r,ts:n};case mt.Download:return{action:2,objectType:e,objectId:r,ts:n};case mt.Rate:return{action:3,objectType:e,objectId:r,ts:n,rate:t.rate};case mt.RatePart:{let o=t;return{action:4,objectType:e,objectId:r,ts:n,part:o.part,rate:o.rate}}case mt.Share:return{action:5,objectType:e,objectId:r,ts:n,socialMediaId:t.socialMediaId};case mt.SharePart:{let o=t;return{action:6,objectType:e,objectId:r,ts:n,part:o.part,socialMediaId:o.socialMediaId}}}},dP=t=>Hs(t.operation),Ks=async(t,e,r)=>{let n=new Map(e.textIndex.map((i,s)=>[i,e.textData[s]])),o=[];for(let i=0;i<e.patches.length;i++){let s=Vd({version:e.version,patches:[e.patches[i]],textIndex:n.has(i)?[0]:[],textData:n.has(i)?[n.get(i)]:[]},$c);for(let a of s){let c=dP(a)?C1(a):a;o.push(r?{...c,sourceStream:r.streamId,eventId:JSON.stringify(["chain",r.streamId,r.fromIndex+i])}:c)}}await I1(t,o),r&&await nl(t)},Qs=t=>{let e=ct.cleanData(t.filter(r=>!r.sourceStream)).map(({pk:r,username:n,eventId:o,sourceStream:i,recordId:s,targetRecordId:a,order:c,provenance:u,...d})=>d).map(r=>Te(r)?(r.operation===k.EditPropertyString?r.value=zc(r.value):r.operation===k.EditInstanceFieldString&&(r.value=zc(r.value)),r):T1(r)).filter(r=>r!==null);return Gd(e,Ye(),Tn)},lP=async(t,e)=>{let r=await pi("mine",t+1);return Qs(r.filter(n=>n.pk<=e))},pP=t=>{if(!ol.has(t)){console.warn(`Account ${t} does not exist in patchesInstances \u2014 creating a new one`);let e=new ct(t);e.initThread($.threadInstance),ol.set(t,e)}return ol.get(t)};var il=new Map;async function Zr(t,e,r=Oc()){let n=`${t.type}:${Pn(e,r)}`;if(J(t.type,e,r))return Y(t.type,e,r);if(il.has(n))return il.get(n);let o=[],i=$.observePending(a=>{if(!(!Te(a)||kt(e)&&r!==$.username)&&(a.objectType===t.type&&a.objectId===e&&o.push(a),a.operation===k.EditRelation)){let c=$r(a);c?.objectType===t.type&&c.objectId===e&&o.push(c)}}),s=(async()=>{let a=$.threadInstance;if(!a)throw new Error("worker thread not initialized \u2014 call PatchInstance.initThread first");let c=await a.sendRequest({cmd:"getRecord",payload:{objectType:t.type,id:e,...r?{creatorUsername:r}:{}}});if(J(t.type,e,r))return Y(t.type,e,r);if(!c)throw new Error(`${t.type} ${e} not found in worker storage`);if(Array.isArray(c))throw new Error("Patch worker is outdated; reload with the rebuilt worker before loading records");let u=new t(c.json,r);u.restoreSnapshot(c);for(let d of o)u.patch(d,!1,!1);return kt(e)&&u.lifecycleStatus!==3&&En(t.type,e,r),it(t.type,u,r),u})();il.set(n,s);try{return await s}finally{i(),il.delete(n)}}function R1(t,e){var r;return r=(e.getFullYear()-t.getFullYear())*12,r-=t.getMonth(),r+=e.getMonth(),r<=0?0:r}var Zs=new Date(2025,4,1),N1=Math.floor(new Date(2025,11,1,0,0,0).getTime()/1e3),pr={now:()=>Math.floor(Date.now()/1e3)-N1,serialize:t=>{let e=new DataView(new ArrayBuffer(4));return e.setUint32(0,t),e.buffer},toNumber:t=>Math.floor(t.getTime()/1e3),fromNumber:t=>new Date(t*1e3),findNowBucket:()=>{let t=new Date;if(t.getTime()<Zs.getTime())throw new Error(`now ${t} is before zeroDate ${Zs}`);return R1(Zs,t)},findDateBucket:t=>{if(t.getTime()<Zs.getTime())throw new Error(`now ${t} is before zeroDate ${Zs}`);return R1(Zs,t)}};var Dt=new Map,B1=(t,e)=>{Dt.has(t)||Dt.set(t,new Map),Dt.get(t).has(e)||Dt.get(t).set(e,{visits:[],downloads:[],rating:0,socialMediaId:[],parts:{}})},ey=new Set,ty=t=>(ey.add(t),()=>{ey.delete(t)}),Tr=t=>{if(t.length!==0){fP(t);for(let e of ey)e()}},fP=t=>{for(let e of t){B1(e.objectType,e.objectId);let n=Dt.get(e.objectType).get(e.objectId);switch(e.action){case 0:n.visits.push(pr.now());break;case 2:n.downloads.push(pr.now());break;case 1:n.parts[e.part]?n.parts[e.part].visits.push(pr.now()):n.parts[e.part]={rating:0,visits:[pr.now()],socialMediaId:[]};break;case 4:n.parts[e.part]?n.parts[e.part].rating=e.rate:n.parts[e.part]={rating:e.rate,visits:[],socialMediaId:[]};break;case 3:n.rating=e.rate;break;case 6:n.parts[e.part]?n.parts[e.part].socialMediaId.push(e.socialMediaId):n.parts[e.part]={rating:0,visits:[],socialMediaId:[e.socialMediaId]};break;case 5:n.socialMediaId.push(e.socialMediaId);break;default:break}}},mP=t=>{if(!Dt.has(t))return[];let e=Dt.get(t);return Array.from(e.entries()).filter(([,r])=>r.downloads.length>0).map(([r])=>r)},gP=t=>{if(!Dt.has(t))return[];let e=Dt.get(t);return Array.from(e.entries()).filter(([,r])=>r.visits.length>0).map(([r])=>r)},yP=t=>{if(!Dt.has(t))return[];let e=Dt.get(t),r=Array.from(e.keys()).filter(n=>{let o=e.get(n);return o.visits.length>0||o.downloads.length>0||[2,1,4].includes(o.rating)}).map(n=>{let o=e.get(n);return{id:n,nbVisits:o.visits.length,rating:o.rating}});return r.sort((n,o)=>o.nbVisits-n.nbVisits),r},Hc=class{constructor(e,r){this.objectId=e;this.objectType=r}favoriteParts(){if(!Dt.has(this.objectType))return[];let e=Dt.get(this.objectType);if(!e.has(this.objectId))return[];let r=e.get(this.objectId),n=Object.keys(r.parts).map(o=>({partId:parseInt(o),nbVisits:r.parts[o].visits.length,rating:r.parts[o].rating}));return n.sort((o,i)=>i.nbVisits-o.nbVisits),n}check(){B1(this.objectType,this.objectId)}visit(){let e={action:0,ts:pr.now(),objectId:this.objectId,objectType:this.objectType};Tr([e]),$.addPatch(e)}download(){let e={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:2};Tr([e]),$.addPatch(e)}get rating(){return this.check(),Dt.get(this.objectType)?.get(this.objectId)?.rating}set rating(e){let r={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:3,rate:e};Tr([r]),$.addPatch(r)}share(e){let r={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:5,socialMediaId:e};Tr([r]),$.addPatch(r)}ratePart(e,r){let n={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:4,part:e,rate:r};Tr([n]),$.addPatch(n)}visitPart(e){let r={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:1,part:e};Tr([r]),$.addPatch(r)}};var sl=new Map,ry="mine";var L1=(t,e)=>{sl.has(t)||sl.set(t,new Map);let r=sl.get(t);return r.has(e)||r.set(e,{createdBy:ry,properties:new Map,relations:new Map}),r.get(e)},k1=t=>{if(!ct._replaying)switch(t.operation){case k.EditPropertyString:case k.EditPropertyNumber:{let e=t,r=L1(e.objectType,e.objectId);r.properties.has(e.propertyId)||r.properties.set(e.propertyId,[]),r.properties.get(e.propertyId).push({username:ry,value:e.value,langId:e.langId});break}case k.EditRelation:{let e=t,r=L1(e.objectType,e.objectId);r.relations.has(e.relationId)||r.relations.set(e.relationId,[]),r.relations.get(e.relationId).push({username:ry,value:[e.action===G.Add?"+":"-",e.targetId]});break}default:break}},M1=(t,e)=>sl.get(t)?.get(e);var D1=t=>({...t,wireId:Mt(t.wireId)}),O1=t=>({...t,wireId:Sn(t.wireId)}),al=class{constructor(){this.db=null;this.instanceRemaps=new cl(this)}init(e){this.db=e}get idb(){if(!this.db)throw new Error("[models_v2] LocalRecordTable not initialised \u2014 call localRecordTable.init(db) at startup");return this.db}async put(e){return new Promise((r,n)=>{let s=this.idb.transaction("localRecords","readwrite").objectStore("localRecords").put(D1(e));s.onsuccess=()=>r(),s.onerror=()=>n(s.error)})}async putIfAbsent(e){return new Promise((r,n)=>{let o=this.idb.transaction("localRecords","readwrite");o.onabort=()=>n(o.error||new Error("Transaction aborted")),o.onerror=()=>n(o.error);let i=o.objectStore("localRecords"),s=i.get([e.creatorUsername,Mt(e.wireId)]);s.onsuccess=()=>{if(s.result)r();else{let a=i.add(D1(e));a.onsuccess=()=>r(),a.onerror=()=>n(a.error)}},s.onerror=()=>n(s.error)})}async get(e,r){return new Promise((n,o)=>{let a=this.idb.transaction("localRecords","readonly").objectStore("localRecords").get([e,Mt(r)]);a.onsuccess=()=>n(a.result?O1(a.result):void 0),a.onerror=()=>o(a.error)})}async getByCreator(e){return new Promise((r,n)=>{let a=this.idb.transaction("localRecords","readonly").objectStore("localRecords").index("byCreator").getAll(e);a.onsuccess=()=>r(a.result.map(O1)),a.onerror=()=>n(a.error)})}async setStatus(e,r,n){return new Promise((o,i)=>{let a=this.idb.transaction("localRecords","readwrite").objectStore("localRecords"),c=a.get([e,Mt(r)]);c.onsuccess=()=>{if(!c.result){i(new Error(`LocalRecordEntry not found: ${e}:${r}`));return}let u=c.result;u.status=n;let d=a.put(u);d.onsuccess=()=>o(),d.onerror=()=>i(d.error)},c.onerror=()=>i(c.error)})}async setCanonicalId(e,r,n){return new Promise((o,i)=>{let a=this.idb.transaction("localRecords","readwrite").objectStore("localRecords"),c=a.get([e,Mt(r)]);c.onsuccess=()=>{if(!c.result){i(new Error(`LocalRecordEntry not found: ${e}:${r}`));return}let u=c.result;u.canonicalId=n;let d=a.put(u);d.onsuccess=()=>o(),d.onerror=()=>i(d.error)},c.onerror=()=>i(c.error)})}},cl=class{constructor(e){this.table=e}async get(e,r,n,o){return new Promise((i,s)=>{let d=this.table.idb.transaction(vo,"readonly").objectStore(vo).get([n,Mt(e),r,o]);d.onsuccess=()=>i(d.result?.realIndex),d.onerror=()=>s(d.error)})}async put(e,r,n,o,i){return new Promise((s,a)=>{let l=this.table.idb.transaction(vo,"readwrite").objectStore(vo).put({creatorUsername:n,objectId:Mt(e),langId:r,originalIndex:o,realIndex:i});l.onsuccess=()=>s(),l.onerror=()=>a(l.error)})}},Cr=new al;var ny=null,hP="eng",U1,_1=!1,ne={get userLang(){if(ny===null)throw new Error("[models_v2] Default language not set! Call setDefaultLanguage() before using models.");return ny},get commonLang(){return hP},get defaultProvenance(){return U1},get loadAiSidecars(){return _1}};function sy(t){ny=t}function bP(t){U1=t}function ay(t){_1=t}var xP=0,wP=1,IP=2,SP=3,Ao=0,fi=1,mi=2,ul=3,Wc=4,Js=5,Ys=6,Gc=7;function oy(t){return Array.from(t.entries()).map(([e,r])=>[e,Array.from(r.values(),Mt)])}function dl(t){return Array.from(t,([e,r])=>[e,Array.from(r.entries())])}var iy=t=>{let[e,r,n,o,i,s,a]=t;return[Sn(e),new Map(r.map(([c,u])=>[c,new Set(u.map(Sn))])),new Map(n.map(([c,u])=>[c,new Set(u.map(Sn))])),new Map(o.map(([c,u])=>[c,new Map(u)])),new Map(i.map(([c,u])=>[c,new Map(u)])),new Map(s.map(([c,u])=>[c,new Map(u)])),new Map(a)]},F1=new Set,j1=(t,e)=>{if(t){if(t.has(e))return t.get(e);if(t.has(Gt))return t.get(Gt);if(t.size===1)return t.values().next().value}},vP=[0,2],AP=t=>{switch(t){case 1:return"childOf";case 2:return"parentOf";default:return"equivalentWith"}},Xe=class extends Hc{constructor(r,n,o){let i=n[1]instanceof Map?n:iy(n);super(i[0],r);this.hydratedThrough=0;this._boolValues=new Map;this._stringValues=new Map;this._numberValues=new Map;this._has=new Map;this._in=new Map;this._instances=new Map;this._provenance=new Map;this._aiResults=new Map;this.instanceRemaps=[];this._id=i[0],this._creatorUsername=o,this._has=i[1],this._in=i[2],this._numberValues=i[3],this._boolValues=i[4],this._stringValues=i[5],this._instances=i[6]??new Map,this.schema=de.get(r);for(let{relationId:s,direction:a}of this.schema.relations??[]){let c=a==="has"?this._has:this._in;c.has(s)||c.set(s,new Set)}for(let s of[Ao,fi,mi,Wc])this._stringValues.has(s)||this._stringValues.set(s,new Map);this._boolValues.has(Js)||this._boolValues.set(Js,new Map([[Gt,!0]])),this._boolValues.has(Ys)||this._boolValues.set(Ys,new Map([[Gt,!1]]))}static _safeRelation(r,n,o,i,s){let a=[];for(let c of n)if(o(c))a.push(i(c));else{let u="";try{let d=r.getProp(Ao);d&&(u=` and name="${d}"`)}catch{}console.warn(`[ORM] ${r.constructor.name} with Id=${r.id}${u} has a relationship not met: ${s} to Id=${c}. With id=${c} not defined.`)}return a}static createNewRequest(r){return[r,new Map,new Map,new Map,new Map,new Map,new Map]}static async createNewRecord(r,n){let{wireId:o}=await r.next(),i={operation:k.CreateRecord,objectType:this.type,objectId:o,langId:0};$.addPatch(i);let s=[o,new Map,new Map,new Map,new Map,new Map,new Map],a=new this(s,n);return it(this.type,a,n),En(this.type,o,n),await Cr.putIfAbsent({wireId:o,creatorUsername:n,objectType:this.type,createdAt:Date.now(),status:"active"}),a}get creatorUsername(){return kt(this.id)?this._creatorUsername??"":"canonical"}propertySlots(){let r=new Map;for(let n of[this._stringValues,this._numberValues,this._boolValues])for(let[o,i]of n)r.set(o,[...i]);return[...r]}restorePropertySlots(r,n){if(n===void 0)this._stringValues.clear(),this._numberValues.clear(),this._boolValues.clear();else for(let o of[this._stringValues,this._numberValues,this._boolValues])for(let i of o.values())i.delete(n);for(let[o,i]of r){let s=this.getPropType(o),a=s==="string"?this._stringValues:s==="boolean"?this._boolValues:this._numberValues;for(let[c,u]of i)(n===void 0||c===n||!a.get(o)?.has(c))&&this.setRaw(o,u,c)}}snapshot(){return{json:this.toJSON(),instanceRemaps:this.instanceRemaps,patchOrder:this.hydratedThrough,provenance:this._provenance,bridges:this.bridges,ai:this._aiResults}}replaceSnapshot(r){let n=iy(r.json);this._has=n[1],this._in=n[2],this._numberValues=n[3],this._boolValues=n[4],this._stringValues=n[5],this._instances=n[6]??new Map,this.restoreSnapshot(r)}restoreSnapshot(r){this.instanceRemaps=r.instanceRemaps??[],this.hydratedThrough=r.patchOrder??0,this._provenance=r.provenance,this.bridges=r.bridges,this._aiResults=r.ai}toJSON(){return[Mt(this._id),oy(this._has),oy(this._in),dl(this._numberValues),dl(this._boolValues),dl(this._stringValues),Array.from(this._instances.entries())]}getAiResultsAllLangs(){return this._aiResults}getAiResults(r){let n=r??ne.userLang,o=new Map;for(let[i,s]of this._aiResults.entries())for(let[a,c]of s.entries()){let u=j1(c,n);if(!u)continue;let d=o.get(i);d||(d=new Map,o.set(i,d)),d.set(a,u)}return o}attachAiResult(r,n,o,i){let s=Date.now(),a=i,c="json";i&&typeof i=="object"&&"ts"in i&&"value"in i&&"format"in i&&(s=i.ts,a=i.value,c=i.format);let u=this._aiResults.get(r);u||(u=new Map,this._aiResults.set(r,u));let d=u.get(n);d||(d=new Map,u.set(n,d));let l=d.get(o);l||(l=new Set,d.set(o,l));let p=!1;for(let f of l)if(f.ts===s&&f.format===c){p=!0;break}p||l.add({ts:s,value:a,format:c})}get id(){return this._id}langOf(r){return vn[r]??Gt}langIdOf(r){let n=r??ne.userLang,o=We[n];return o===void 0?(n!==Gt&&!F1.has(n)&&(F1.add(n),console.warn(`[models_v2] Unknown language "${n}" \u2014 patches will land in the lang-agnostic slot (langId 0) and may collide with other unmapped languages. Append "${n}" to LANG_ID_ENCODE in db_schema_v2.`)),0):o}getLoadedLanguages(){let r=new Set;for(let n of this._stringValues.values())for(let o of n.keys())o!==Gt&&r.add(o);for(let n of this._numberValues.values())for(let o of n.keys())o!==Gt&&r.add(o);for(let n of this._boolValues.values())for(let o of n.keys())o!==Gt&&r.add(o);if(r.size===0)try{r.add(ne.userLang)}catch{r.add("eng")}return Array.from(r)}getUidStrategies(){let r=this.schema?.uidStrategy,n=r?Array.isArray(r)?r:[r]:[];if(n.length===0)return n;let o=this.schema.indexes?.find(i=>i.linkToUidStrategy);if(o){let i;try{i=ne.userLang}catch{i="eng"}let s=Ze.getAvailableRawValues(this.objectType,o.name,i);return Array.from(new Set([...n,...s]))}return n}getClassificationType(r){let n=this.getUidStrategies();if(n.length===0)return"unclassified";if("classificationSystem"in this&&this.classificationSystem){let i=this.classificationSystem;if(n.includes(i))return i}let o=r||this.getDefaultClassificationFieldMap();for(let i of n){let s=o[i];if(s&&this[s])return i}return"unclassified"}getDefaultClassificationFieldMap(){let r={},n=this.getUidStrategies();for(let o of n)r[o]=`${o}Notation`;return r}get title(){return this.getProp(Ao)??""}set title(r){this.dispatchString(Ao,r)}getTitle(r){return this.getProp(Ao,r)??""}setTitle(r,n){this.dispatchString(Ao,r,n)}get description(){return this.getProp(fi)??""}set description(r){this.dispatchString(fi,r)}getDescription(r){return this.getProp(fi,r)??""}setDescription(r,n){this.dispatchString(fi,r,n)}get originalLang(){return this.getProp(mi)??""}set originalLang(r){this.dispatchString(mi,r)}getOriginalLang(r){return this.getProp(mi,r)??""}setOriginalLang(r,n){this.dispatchString(mi,r,n)}get ageGradeBand(){return this.getProp(ul)??0}set ageGradeBand(r){this.dispatchNumber(ul,r)}get previewTxId(){return this.getProp(Wc)??""}set previewTxId(r){this.dispatchString(Wc,r)}get safe(){return this.getProp(Js)??!0}set safe(r){this.dispatchNumber(Js,r?1:0)}get deleted(){return this.getProp(Ys)??!1}set deleted(r){this.dispatchNumber(Ys,r?1:0)}get lifecycleStatus(){return this.getProp(Gc)??0}set lifecycleStatus(r){if(!kt(this.id))throw new Error("lifecycleStatus can only be set on user-created provisional records");if(!this._creatorUsername)throw new Error("Missing creatorUsername on provisional record");if(r<this.lifecycleStatus)throw new Error(`lifecycleStatus is forward-only: cannot transition from ${this.lifecycleStatus} to ${r}`);this.dispatchNumber(Gc,r,Gt)}dispatchString(r,n,o){let i={operation:k.EditPropertyString,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(o),propertyId:r,value:n};this.patch(i);let s=o??ne.userLang,a=ne.defaultProvenance;a!==void 0&&this.getProvenance(r,s)!==a&&this.setProvenanceRaw(s,r,a),$.addPatch({...i,...a!==void 0?{provenance:a}:{}})}dispatchNumber(r,n,o){let i={operation:k.EditPropertyNumber,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(o),propertyId:r,value:n};this.patch(i);let s=o??ne.userLang,a=ne.defaultProvenance;a!==void 0&&this.getProvenance(r,s)!==a&&this.setProvenanceRaw(s,r,a),$.addPatch({...i,...a!==void 0?{provenance:a}:{}})}dispatchRelation(r,n,o){let i={operation:k.EditRelation,objectType:this.objectType,objectId:this.id,langId:0,relationId:r,action:n,targetId:o};this.patch(i),$.addPatch(i)}applyRelationRaw(r,n,o,i,s=!0){let a=r==="has"?this._has:this._in;a.has(n)||a.set(n,new Set),o===G.Add?a.get(n).add(i):a.get(n).delete(i),s&&At.trigger(this)}restoreInverses(){for(let[r,n]of this._has){let o=this.schema.relations?.find(a=>a.relationId===r);if(!o?.inverted)continue;let i=de.getByName(o.targetType),s=i?.relations.find(a=>a.name===o.inverted);if(!(!i||!s))for(let a of n){if(!J(i.objectId,a,this.creatorUsername))continue;let c=Y(i.objectId,a,this.creatorUsername),u=c._in.get(s.relationId);u||(u=new Set,c._in.set(s.relationId,u)),u.add(this._id)}}}findChildByTitle(r,n){let o=n.trim().toLowerCase();if(!o)return null;let i=this._has.get(r);if(!i||i.size===0)return null;let s=this.schema.relations?.find(c=>c.relationId===r&&c.direction==="has");if(!s)return null;let a=de.getByName(s.targetType);if(!a)return null;for(let c of i){if(!J(a.objectId,c))continue;let u=Y(a.objectId,c);if(u.title.trim().toLowerCase()===o)return u}return null}async hydrateChildren(r){let n=this._has.get(r);if(!n||n.size===0)return;let o=this.schema.relations?.find(c=>c.relationId===r&&c.direction==="has");if(!o)return;let i=de.getByName(o.targetType);if(!i)return;let s=Fc(i.objectId);if(!s)return;let a=Array.from(n).filter(c=>!J(i.objectId,c));a.length!==0&&await Promise.all(a.map(c=>s.LoadAsync(c).catch(u=>{console.warn(`[Orm.hydrateChildren] failed to hydrate id=${c}: ${u?.message??u}`)})))}async getOrCreateChildByTitle(r,n,o){await this.hydrateChildren(r);let i=this.findChildByTitle(r,n);if(i)return i;let s=await o();return s.title=n.trim(),this.dispatchRelation(r,G.Add,s.id),s}getBridgedRelationIdsSync(r,n,o=new Set){let i=n==="has"?this._has:this._in,s=Array.from(i.get(r)?.values()??[]);if(!this.bridges?.conversions)return s;let a=this.schema.relations?.find(d=>d.targetType===this.schema.name&&d.direction==="has"),c=a&&a.relationId===r,u=[...s];for(let[d,l]of Object.entries(this.bridges.conversions))for(let p of["equivalentWith","childOf","parentOf"]){let f=l[p];if(f)for(let g of f){let m=`${d}:${p}:${g.id}`;if(o.has(m))continue;o.add(m);let h;try{h=BigInt(g.id)}catch{try{let b=Ze.getIndex(this.objectType,"byClassificationSystem").getUidsByRawValue(d,"eng"),w=Array.from(b).find(x=>{let y=Y(this.objectType,x);return y&&(y.lccNotation||y.ddcNotation||y.udcNotation||y.clcNotation||y.bbkNotation||y.tlcNotation||y.ccNotation)===g.id});w&&(h=w)}catch{}}if(h)if(p==="equivalentWith"){if(J(this.objectType,h)){let b=Y(this.objectType,h);u.push(...b.getBridgedRelationIdsSync(r,n,o))}}else c&&(n==="has"&&p==="parentOf"||n==="in"&&p==="childOf")&&u.push(h)}}return Array.from(new Set(u))}async collectDeepIds(r,n){let o=n?.includeDeleted??!1,i=n?.bridgeTypes??vP,s=this.schema.relations?.find(b=>b.name===r);if(!s)return[];let c=s.targetType===this.schema.name?s:this.schema.relations?.find(b=>b.targetType===this.schema.name&&b.direction==="has"),u=Fc(this.objectType),d=async b=>{if(!u)return null;try{return u.Has(b)?u.Load(b):await u.LoadAsync(b)}catch{return null}},l=new Set,p=new Set,f=async(b,w)=>{if(l.has(b.id)||(l.add(b.id),!w&&!o&&(b.deleted||!b.safe)))return;let x=s.direction==="has"?b._has:b._in;for(let y of x.get(s.relationId)??[])p.add(y);if(c){let y=c.direction==="has"?b._has:b._in;for(let I of y.get(c.relationId)??[]){if(l.has(I))continue;let S=await d(I);S&&await f(S,!1)}}if(b.bridges?.conversions)for(let y of Object.keys(b.bridges.conversions)){let I=b.bridges.conversions[y];for(let S of i){let A=I[AP(S)];if(A)for(let P of A){let N;try{N=BigInt(P.id)}catch{continue}if(l.has(N))continue;let T=await d(N);T&&await f(T,!1)}}}};if(await f(this,!0),o)return Array.from(p);let g=de.getByName(s.targetType),m=g?Fc(g.objectId):void 0;if(!m)return Array.from(p);let h=[];for(let b of p)try{let w=m.Has(b)?m.Load(b):await m.LoadAsync(b);!w.deleted&&w.safe&&h.push(b)}catch{}return h}patch(r,n=!0,o=!0){switch(n&&k1(r),r.operation){case k.EditPropertyString:{let i=r;this._stringValues.has(i.propertyId)||this._stringValues.set(i.propertyId,new Map),this._stringValues.get(i.propertyId).set(this.langOf(i.langId),i.value);break}case k.EditPropertyNumber:{let i=r;if(o&&i.propertyId===Gc){let a=i.value===1?"submitted":i.value===2?"community_pending":i.value===3?"canonical":"active";Cr.setStatus(this.creatorUsername,this.id,a).catch(c=>{c.message?.includes("not found")||console.error("[Orm] Failed to update LocalRecordTable status:",c)}),i.value===3&&jc(this.objectType,this.id,this.creatorUsername)}let s=this.langOf(i.langId);this.getPropType(i.propertyId)==="boolean"?(this._boolValues.has(i.propertyId)||this._boolValues.set(i.propertyId,new Map),this._boolValues.get(i.propertyId).set(s,!!i.value)):(this._numberValues.has(i.propertyId)||this._numberValues.set(i.propertyId,new Map),this._numberValues.get(i.propertyId).set(s,i.value));break}case k.EditInstanceFieldString:case k.EditInstanceFieldNumber:{let i=r;this.applyInstancePatch(i);break}case k.EditRelation:{let i=r,a=this.schema.relations?.find(d=>d.relationId===i.relationId)?.direction??(this._in.has(i.relationId)&&!this._has.has(i.relationId)?"in":"has");this.applyRelationRaw(a,i.relationId,i.action,i.targetId,o);let c=o?$r(i):void 0,u=kt(this.id)?this.creatorUsername:void 0;if(c&&J(c.objectType,c.objectId,u)){let d=Y(c.objectType,c.objectId,u),l=d.schema.relations.find(p=>p.relationId===c.relationId);d.applyRelationRaw(l.direction,c.relationId,c.action,c.targetId)}break}case k.AddInstance:{let i=r,s=this.langOf(i.langId),a=this._instances.get(s);for(a||(a=[],this._instances.set(s,a));a.length<=i.instanceIndex;)a.push({});break}case k.CreateRecord:break;case k.MergeProposal:{let i=r;this.bridges||(this.bridges={original:i.original,conversions:{}}),this.bridges.conversions||(this.bridges.conversions={}),this.bridges.conversions[i.destSystem]||(this.bridges.conversions[i.destSystem]={});let s=this.bridges.conversions[i.destSystem];s[i.relationType]||(s[i.relationType]=[]);let a=s[i.relationType].findIndex(c=>c.id===i.targetId);a>=0?s[i.relationType][a].confidence=i.confidence:s[i.relationType].push({id:i.targetId,confidence:i.confidence});break}case k.DeleteBridge:{let i=r;if(this.bridges?.conversions){let s=this.bridges.conversions[i.destinationSystem];if(s?.[i.bridgeTypeToDelete]){let a=String(i.targetTagId);s[i.bridgeTypeToDelete]=s[i.bridgeTypeToDelete].filter(c=>String(c.id)!==a)}}break}default:throw new Error(`unhandled patch operation ${r.operation}`)}if(r.operation===k.EditPropertyString||r.operation===k.EditPropertyNumber){let i=r.provenance;i!==void 0&&this.setProvenanceRaw(this.langOf(r.langId),r.propertyId,i)}if(o&&(r.operation===k.EditPropertyString||r.operation===k.EditPropertyNumber)){let i=r;Ze.updateIndex(this.objectType,i.propertyId,this)}o&&At.trigger(this)}applyInstancePatch(r){let n=this.langOf(r.langId),o=this._instances.get(n);for(o||(o=[],this._instances.set(n,o));o.length<=r.instanceIndex;)o.push({});let i=this.schema.instanceFields?.find(c=>c.propId===r.propertyId),s=i?.name??`field${r.propertyId}`,a=r.value;i?.type==="boolean"&&typeof a=="number"&&(a=!!a),o[r.instanceIndex][s]=a}getPropType(r){switch(r){case Ao:case fi:case mi:case Wc:return"string";case ul:case Gc:return"number";case Js:case Ys:return"boolean"}let n=this.schema.props.find(o=>o.propId===r);if(typeof n>"u")throw new Error(`unknown prop ${r} in schema ${this.schema.name}`);return n.type==="enum"?"number":n.type}resolvedPropertyValue(r,n){let o=this.getPropType(r),i=o==="string"?this._stringValues:o==="number"?this._numberValues:this._boolValues;return j1(i.get(r),n)}getProp(r,n){At.track(this);let o=this.resolvedPropertyValue(r,n??ne.userLang);return this.getPropType(r)==="string"?o??"":o}setRaw(r,n,o=Gt){switch(this.getPropType(r)){case"string":{this._stringValues.has(r)||this._stringValues.set(r,new Map),this._stringValues.get(r).set(o,n);break}case"number":{this._numberValues.has(r)||this._numberValues.set(r,new Map),this._numberValues.get(r).set(o,n);break}case"boolean":{this._boolValues.has(r)||this._boolValues.set(r,new Map),this._boolValues.get(r).set(o,!!n);break}}}getInstancesData(r){return At.track(this),this._instances.get(r??ne.userLang)??[]}getDefaultInstanceData(r){let n=this.getInstancesData(r);return n.find(o=>o.isDefault===!0)??n[0]}setInstancesRaw(r,n){this._instances.set(r,n)}growInstances(r,n){let o=this._instances.get(r);for(o||(o=[],this._instances.set(r,o));o.length<=n;)o.push({})}addInstance(r){if(!this.schema.multipleInstances)throw new Error(`Model ${this.constructor.name} does not support multiple instances.`);let n=r??ne.userLang,i=this.getInstancesData(n).length;this.growInstances(n,i);let s={operation:k.AddInstance,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(n),instanceIndex:i};return this.patch(s),$.addPatch(s),i}getProvenance(r,n){return At.track(this),this._provenance.get(n??ne.userLang)?.get(r)??0}setProvenanceRaw(r,n,o){this._provenance.has(r)||this._provenance.set(r,new Map),this._provenance.get(r).set(n,o)}mergeSlim(r,n,o=ne.userLang){this.setRaw(0,r.titles?.[n]??"",o),this.setRaw(2,r.originalLangs?.[n]??"",o),this.setRaw(4,r.previewTxIds?.[n]??"",o);let i=r.ageGradeBands?.[n];i!=null&&this.setRaw(3,i,o);let s=r.safes?.[n];s!=null&&this.setRaw(5,s===1,o);let a=r.deleteds?.[n];a!=null&&this.setRaw(6,a===1,o);for(let c of this.schema.props){if(c.source!=="slim")continue;let u=Vt(c.name,c.type),d=r[u]?.[n];c.type==="string"?this.setRaw(c.propId,d??"",o):c.type==="boolean"?d!=null&&this.setRaw(c.propId,d===1,o):d!=null&&this.setRaw(c.propId,d,o)}if(this.schema.multipleInstances){let c=this.schema.instanceFields?.find(d=>d.type==="string"),u=!0;if(c){let d=`default${Vt(Mc(c.name),c.type)}`;r[d]?.[n]==null&&(u=!1)}if(u&&this.getInstancesData(o).length===0){let d={isDefault:!0};for(let l of this.schema.instanceFields||[]){let p=`default${Vt(Mc(l.name),l.type)}`,f=r[p]?.[n];l.type==="boolean"?d[l.name]=f===1:d[l.name]=f??null}this.setInstancesRaw(o,[d])}}}mergeExtended(r,n,o=ne.userLang){this.setRaw(1,r.descriptions?.[n]??"",o);for(let i of this.schema.props){if(i.source!=="extended")continue;let s=Vt(i.name,i.type),a=r[s]?.[n];i.type==="string"?this.setRaw(i.propId,a??"",o):i.type==="boolean"?a!=null&&this.setRaw(i.propId,a===1,o):a!=null&&this.setRaw(i.propId,a,o)}for(let i of this.schema.relations||[]){if(i.direction!=="has")continue;let s=Eg(i);if(r[s]){let a=this._has.get(i.relationId);for(let c of r[s][n]??[])a.add(BigInt(c))}}this.schema.multipleInstances&&r.instances&&this.setInstancesRaw(o,r.instances[n]??[])}mergeProv(r,n,o=ne.userLang){let i=r.fields?.[Kd]?.[n];i!=null&&(this.instanceRemaps=[...new Map([...this.instanceRemaps,...JSON.parse(i)])]);let s=r.fields?.[qd]?.[n];s!=null&&this.restorePropertySlots(JSON.parse(s),o);let a={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7};for(let[c,u]of Object.entries(r.fields||{})){let d=a[c];if(d===void 0){let l=this.schema.props.find(p=>p.name===c);if(l)d=l.propId;else if(this.schema.instanceFields){let p=this.schema.instanceFields.find(f=>f.name===c);p&&(d=p.propId)}}d!==void 0&&this.setProvenanceRaw(o,d,u[n])}r.bridges&&r.bridges[n]&&(this.bridges=r.bridges[n])}};var $1="0123456789ABCDEFGHJKLMNPQRSTUVWXYZ",z1="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*";function H1(t){let e=0;for(let o=0;o<t.length;o++){let i=z1.indexOf(t[o]);if(i===-1)throw new Error(`[pid] Invalid character for ISO 7064 MOD 37-2: ${t[o]}`);let s=(e+i)%37;s===0&&(s=37),e=s*2%37}let r=(38-e)%37,n=z1[r];return n==="*"&&(n="X"),n==="I"&&(n="J"),n==="O"&&(n="P"),n}var PP=(1n<<64n)-1n,Vc=7,gi=13;function EP(t){if(typeof t!="bigint"||t<0n||t>PP)throw new Error(`[pid] wireId ${t} must be an unsigned 64-bit integer`);if(t===0n)return"0".repeat(gi);let e="",r=t;for(;r>0n;)e=$1[Number(r%34n)]+e,r=r/34n;return e.padStart(gi,"0")}function TP(t){if(t.length!==Vc&&t.length!==gi)throw new Error(`[pid] Base34 body must be ${Vc} (legacy) or ${gi} (native) characters, got ${t.length}`);let e=0n;for(let r=0;r<t.length;r++){let n=$1.indexOf(t[r]);if(n===-1)throw new Error(`[pid] Invalid character in base-34 body: ${t[r]}`);e=e*34n+BigInt(n)}return e}function Jr(t,e){if(t.length!==2)throw new Error("[pid] typePrefix must be exactly 2 characters");let r=EP(e),n=H1(t+r);return t+r+n}function Pt(t,e){if(!e.startsWith(t))throw new Error(`[pid] PID ${e} does not start with expected prefix ${t}`);let r;if(e.length===2+Vc+1)r=Vc;else if(e.length===2+gi+1)r=gi;else throw new Error(`[pid] PID must be ${2+Vc+1} (legacy) or ${2+gi+1} (native) characters long, got ${e.length}`);let n=e.slice(2,2+r),o=e[2+r],i=H1(t+n);if(o!==i)throw new Error(`[pid] Invalid check character in PID ${e}. Expected ${i}`);return{wireId:TP(n)}}var Yr={Book:{name:"Book",typePrefix:"BK",canonical:!0,isPrivate:!0,uidStrategy:"native-only",multipleInstances:!0,instanceUidStrategy:["isbn"],props:[{name:"prerequisites",type:"string",source:"extended",propId:8},{name:"deweyDecimal",type:"string",source:"extended",propId:9},{name:"locCallNumber",type:"string",source:"extended",propId:10},{name:"copyrightStatus",type:"enum",enum:"CopyrightStatus",source:"extended",propId:11},{name:"textQuality",type:"enum",enum:"QualityScore",source:"extended",propId:12},{name:"illustrations",type:"enum",enum:"QualityScore",source:"extended",propId:13},{name:"educationQuality",type:"enum",enum:"QualityScore",source:"extended",propId:14},{name:"practicality",type:"enum",enum:"QualityScore",source:"extended",propId:15},{name:"accessibilityLevel",type:"enum",enum:"QualityScore",source:"extended",propId:16},{name:"teacherMaterials",type:"boolean",source:"extended",propId:17},{name:"pedagogicalScaffolding",type:"enum",enum:"QualityScore",source:"extended",propId:18},{name:"clarityOfExplanation",type:"enum",enum:"QualityScore",source:"extended",propId:19},{name:"workedExamples",type:"enum",enum:"QualityScore",source:"extended",propId:20},{name:"exercisesAndAssessment",type:"enum",enum:"QualityScore",source:"extended",propId:21},{name:"selfStudyReadiness",type:"enum",enum:"QualityScore",source:"extended",propId:22},{name:"referenceApparatus",type:"enum",enum:"QualityScore",source:"extended",propId:23},{name:"safetyGuidance",type:"enum",enum:"QualityScore",source:"extended",propId:24},{name:"contentCurrency",type:"enum",enum:"QualityScore",source:"extended",propId:25},{name:"ecoRegeneration",type:"enum",enum:"QualityScore",source:"extended",propId:26},{name:"communityLiving",type:"enum",enum:"QualityScore",source:"extended",propId:27},{name:"promotesPeace",type:"enum",enum:"QualityScore",source:"extended",propId:28},{name:"businessDevelopment",type:"enum",enum:"QualityScore",source:"extended",propId:29}],instanceFields:[{name:"language",type:"string",identityComponent:!0,propId:30},{name:"downloadTxId",type:"string",propId:31},{name:"method",type:"enum",enum:"BookMethod",propId:32},{name:"isAiTranslation",type:"boolean",propId:33},{name:"aiEngine",type:"string",nullable:!0,propId:34},{name:"addedAt",type:"number",bits:32,propId:35},{name:"nbPages",type:"number",bits:16,propId:36},{name:"sizeBytes",type:"number",bits:32,propId:37},{name:"publisher",type:"string",nullable:!0,propId:38},{name:"publicationDate",type:"string",nullable:!0,propId:39},{name:"publishedAt",type:"string",nullable:!0,propId:40},{name:"qualityScore",type:"enum",enum:"QualityScore",propId:41},{name:"isbn",type:"string",nullable:!0,source:"extended",propId:42}],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",inverted:"books",relationId:0},{name:"authors",targetType:"Person",direction:"has",cardinality:"1toN",inverted:"authorOf",relationId:1}],translations:{fr:{className:"Livre",props:{title:"titre",description:"description"}},idn:{className:"Book",props:{title:"title",description:"description"}}},standardPks:{isbn:"isbn"},objectId:0},ClassificationSystem:{name:"ClassificationSystem",typePrefix:"CS",canonical:!0,isPrivate:!0,multipleInstances:!1,props:[{name:"name",type:"string",source:"extended",propId:65},{name:"institution",type:"boolean",source:"extended",propId:66},{name:"country",type:"string",source:"extended",propId:67},{name:"language",type:"string",source:"extended",propId:30},{name:"rootTagId",type:"number",source:"extended",propId:68}],instanceFields:[],relations:[{name:"rootTag",targetType:"Tag",direction:"in",cardinality:"1toN",relationId:5},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",relationId:3},{name:"books",targetType:"Book",direction:"has",cardinality:"1toN",relationId:4}],indexes:[{name:"byClassificationSystem",keys:["name"],linkToUidStrategy:!0,classifier:{type:"prefix",separator:"-",fallback:"standard",customMappings:{origin:"origin"}}}],objectId:3},Person:{name:"Person",typePrefix:"PR",canonical:!0,isPrivate:!0,uidStrategy:["isni","orcid"],multipleInstances:!1,props:[{name:"birthDate",type:"string",source:"extended",propId:43},{name:"deathDate",type:"string",source:"extended",propId:44},{name:"nationality",type:"string",source:"extended",propId:45},{name:"wikiUrl",type:"string",source:"extended",propId:46},{name:"isniId",type:"string",nullable:!0,source:"extended",propId:47},{name:"orcidId",type:"string",nullable:!0,source:"extended",propId:48}],instanceFields:[],relations:[{name:"authorOf",targetType:"Book",direction:"in",inverted:"authors",cardinality:"1toN",relationId:2}],translations:{fr:{className:"Personne"}},standardPks:{isni:"isniId",orcid:"orcidId"},objectId:1},Post:{name:"Post",typePrefix:"PO",canonical:!0,isPrivate:!1,uidStrategy:"native-only",multipleInstances:!1,props:[{name:"isPinned",type:"boolean",source:"extended",propId:70},{name:"isLocked",type:"boolean",source:"extended",propId:71}],instanceFields:[],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",relationId:0},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",relationId:3},{name:"parentPost",targetType:"Post",direction:"in",cardinality:"1to1",inverted:"replies",relationId:6},{name:"replies",targetType:"Post",direction:"has",inverted:"parentPost",cardinality:"1toN",relationId:7}],objectId:4},Tag:{name:"Tag",typePrefix:"TG",canonical:!0,isPrivate:!0,uidStrategy:["lcc","ddc","udc","clc","bbk","tlc","cc"],multipleInstances:!1,props:[{name:"classificationSystem",type:"string",source:"extended",propId:56},{name:"isRootContainer",type:"boolean",source:"extended",propId:69},{name:"lccNotation",type:"string",nullable:!0,source:"extended",propId:50},{name:"ddcNotation",type:"string",nullable:!0,source:"extended",propId:49},{name:"udcNotation",type:"string",nullable:!0,source:"extended",propId:51},{name:"clcNotation",type:"string",nullable:!0,source:"extended",propId:52},{name:"bbkNotation",type:"string",nullable:!0,source:"extended",propId:53},{name:"tlcNotation",type:"string",nullable:!0,source:"extended",propId:54},{name:"ccNotation",type:"string",nullable:!0,source:"extended",propId:55}],instanceFields:[],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",inverted:"tags",relationId:0},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",inverted:"inTags",relationId:3},{name:"books",targetType:"Book",direction:"has",cardinality:"1toN",inverted:"inTags",relationId:4}],indexes:[{name:"byClassificationSystem",keys:["classificationSystem"],linkToUidStrategy:!0,classifier:{type:"prefix",separator:"-",fallback:"standard",customMappings:{origin:"origin"}}}],standardPks:{lcc:"lccNotation",ddc:"ddcNotation",udc:"udcNotation",clc:"clcNotation",bbk:"bbkNotation",tlc:"tlcNotation",cc:"ccNotation"},objectId:2}};function CP(t){if(t.length!==16)return{valid:!1,error:`Expected 16 chars, got ${t.length}`};let e=0;for(let o=0;o<15;o++){let i=parseInt(t[o],10);if(isNaN(i))return{valid:!1,error:`Non-digit character at position ${o}`};e=(e+i)*2%11}let r=(12-e)%11,n=r===10?"X":String(r);return t[15].toUpperCase()!==n?{valid:!1,error:`Check digit mismatch: expected ${n}, got ${t[15]}`}:{valid:!0}}var Cn={standardId:"isni",uriScheme:"ISNI",normalize(t){return t.replace(/[\s-]/g,"")},display(t){let e=Cn.normalize(t);return e.length===16?`${e.slice(0,4)} ${e.slice(4,8)} ${e.slice(8,12)} ${e.slice(12)}`:e},validate(t){if(!t)return{valid:!1,error:"ISNI is absent"};let e=Cn.normalize(t);return/^[0-9]{15}[0-9X]$/.test(e)?CP(e):{valid:!1,error:`ISNI does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://isni.org/isni/${Cn.normalize(t)}`},apis:{"isni-sru":{apiId:"isni-sru",name:"ISNI SRU API",async fetch({isniId:t}){if(!t)return[];let r=`https://isni.oclc.org/sru/DB=1.2/?operation=searchRetrieve&query=${`pica.isn%3D${encodeURIComponent(t)}`}&recordSchema=isni-b&maximumRecords=10`,n=await fetch(r,{headers:{Accept:"application/xml"}});if(!n.ok)return[];let o=await n.text(),i=o.match(/<isniUnformatted>([0-9X]+)<\/isniUnformatted>/),s=o.match(/<forename>([^<]+)<\/forename>/),a=o.match(/<surname>([^<]+)<\/surname>/);return i?[{isni:i[1],forename:s?.[1],surname:a?.[1]}]:[]}}}};function RP(t){if(t.length!==16)return{valid:!1,error:`Expected 16 chars, got ${t.length}`};let e=0;for(let o=0;o<15;o++){let i=parseInt(t[o],10);if(isNaN(i))return{valid:!1,error:`Non-digit at position ${o}`};e=(e+i)*2%11}let r=(12-e)%11,n=r===10?"X":String(r);return t[15].toUpperCase()!==n?{valid:!1,error:`Check digit mismatch: expected ${n}, got ${t[15]}`}:{valid:!0}}var W1="https://pub.orcid.org/v3.0",G1={Accept:"application/vnd.orcid+json"},Rn={standardId:"orcid",uriScheme:"ORCID",normalize(t){let e=t.replace(/\s/g,"");return e.length===16&&!e.includes("-")?`${e.slice(0,4)}-${e.slice(4,8)}-${e.slice(8,12)}-${e.slice(12)}`:e},display(t){return Rn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"ORCID iD is absent"};let e=Rn.normalize(t);return/^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]$/.test(e)?RP(e.replace(/-/g,"")):{valid:!1,error:`ORCID iD does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://orcid.org/${Rn.normalize(t)}`},apis:{"orcid-lookup":{apiId:"orcid-lookup",name:"ORCID Public Record API",async fetch({orcidId:t}){if(!t)return{};let e=await fetch(`${W1}/${t}/record`,{headers:G1});if(!e.ok)return{};let n=(await e.json()).person??{},o=n.name??{};return{orcidId:t,givenNames:o["given-names"]?.value,familyName:o["family-name"]?.value,biography:n.biography?.content??void 0}}},"orcid-public-api":{apiId:"orcid-public-api",name:"ORCID Public Search API",async fetch({orcidId:t}){if(!t)return[];let e=await fetch(`${W1}/search?q=orcid:${t}&rows=10`,{headers:G1});return e.ok?((await e.json()).result??[]).map(n=>({orcidId:n["orcid-identifier"]?.path??""})).filter(n=>n.orcidId):[]}}}};var yi=Yr.Person;de.register(yi);var V1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,birthDate:43,deathDate:44,nationality:45,wikiUrl:46,isniId:47,orcidId:48};function cy(t){return Hr(yi,t,Ye())}function qc(t){return Vr(yi,t)}function uy(t){return Wr(yi,t,Ye())}function Kc(t){return qr(yi,t)}function dy(t){return Gr(yi,t)}function Qc(t){return Kr(yi,t)}var gt=class gt extends Xe{constructor(e,r){super(gt.type,e,r)}static Load(e,r){return Y(gt.type,e,r)}static Has(e,r){return J(gt.type,e,r)}static async LoadAsync(e,r){return Zr(gt,e,r)}get birthDate(){return this.getProp(43)}set birthDate(e){this.dispatchString(43,e)}getBirthDate(e){return this.getProp(43,e)}setBirthDate(e,r){this.dispatchString(43,e,r)}get deathDate(){return this.getProp(44)}set deathDate(e){this.dispatchString(44,e)}getDeathDate(e){return this.getProp(44,e)}setDeathDate(e,r){this.dispatchString(44,e,r)}get nationality(){return this.getProp(45)}set nationality(e){this.dispatchString(45,e)}getNationality(e){return this.getProp(45,e)}setNationality(e,r){this.dispatchString(45,e,r)}get wikiUrl(){return this.getProp(46)}set wikiUrl(e){this.dispatchString(46,e)}getWikiUrl(e){return this.getProp(46,e)}setWikiUrl(e,r){this.dispatchString(46,e,r)}get isniId(){return this.getProp(47)??null}set isniId(e){this.dispatchString(47,e??"")}getIsniId(e){return this.getProp(47,e)??null}setIsniId(e,r){this.dispatchString(47,e??"",r)}get orcidId(){return this.getProp(48)??null}set orcidId(e){this.dispatchString(48,e??"")}getOrcidId(e){return this.getProp(48,e)??null}setOrcidId(e,r){this.dispatchString(48,e??"",r)}get inAuthorOfIds(){return this.getBridgedRelationIdsSync(2,"in")}get inAuthorOf(){return ae(W,this.inAuthorOfIds)}isInAuthorOf(e){return this._in.get(2).has(e)}async authorOfDeep(e){return ae(W,await this.collectDeepIds("authorOf",e))}addIntoAuthorOf(e){if(this.isInAuthorOf(e))return;let r={operation:k.EditRelation,objectType:W.type,objectId:e,langId:0,relationId:1,action:G.Add,targetId:this.id};J(W.type,e)&&Y(W.type,e).patch(r),this.applyRelationRaw("in",2,G.Add,e),$.addPatch(r)}removeFromAuthorOf(e){if(!this.isInAuthorOf(e))return;let r={operation:k.EditRelation,objectType:W.type,objectId:e,langId:0,relationId:1,action:G.Remove,targetId:this.id};J(W.type,e)&&Y(W.type,e).patch(r),this.applyRelationRaw("in",2,G.Remove,e),$.addPatch(r)}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:PR:${Jr("PR",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("PR",e);let r=e.split(":");return r.length>=4&&r[2]==="PR"?Pt("PR",r[3]):null}catch{return null}}get isniNormalized(){return this.isniId?Cn.normalize(this.isniId):null}validateIsni(){return Cn.validate(this.isniId)}get orcidNormalized(){return this.orcidId?Rn.normalize(this.orcidId):null}validateOrcid(){return Rn.validate(this.orcidId)}sfcuid(){return this.isniId?`isni:${Cn.normalize(this.isniId)}`:this.orcidId?`orcid:${Rn.normalize(this.orcidId)}`:this.toNativePID()}get identityCluster(){let e=this.sfcuid(),r=[this.isniId?`isni:${Cn.normalize(this.isniId)}`:null,this.orcidId?`orcid:${Rn.normalize(this.orcidId)}`:null,this.toNativePID()].filter(Boolean);return{sfcuid:e,native:this.toNativePID(),aliases:r.filter(n=>n!==e),wireId:this.id}}};gt.type=1,gt.UID_STRATEGY="standards-first",gt.STANDARD_PRIORITY=["isni","orcid"],gt.isPrivate=!0,gt.serializeSlim=cy,gt.serializeExtended=uy,gt.serializeProv=dy,gt.deserializeSlim=qc,gt.deserializeExtended=Kc,gt.deserializeProv=Qc;var Ue=gt;Pr(Ue.type,Ue);var q1=(t,e)=>{if(J(Ue.type,t,e))return Y(Ue.type,t,e);let r=new Ue(Ue.createNewRequest(t),e);return it(Ue.type,r,e),r};var Nn={standardId:"lcc",uriScheme:"LCC",normalize(t){return t.trim()},display(t){return Nn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"LCC notation is absent"};let e=Nn.normalize(t);return/^[A-Z0-9\.\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`LCC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://id.loc.gov/authorities/classification/${Nn.normalize(t)}`},apis:{}};var Bn={standardId:"ddc",uriScheme:"DDC",normalize(t){let e=t.trim();return e.includes(".")&&(e=e.replace(/\.?0+$/,"")),e},display(t){return Bn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"DDC notation is absent"};let e=Bn.normalize(t);return/^[0-9]{3}(\.[0-9]+)?$/.test(e)?{valid:!0}:{valid:!1,error:`DDC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://id.loc.gov/authorities/classification/${Bn.normalize(t)}`},apis:{}};var Ln={standardId:"udc",uriScheme:"UDC",normalize(t){return t.trim()},display(t){return Ln.normalize(t)},validate(t){if(!t)return{valid:!1,error:"UDC notation is absent"};let e=Ln.normalize(t);return/^[0-9\.\-\:\+\/\(\)\[\]\=\*\"\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`UDC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://udcsummary.info/php/index.php?c=${Ln.normalize(t)}`},apis:{}};var kn={standardId:"clc",uriScheme:"CLC",normalize(t){return t.trim()},display(t){return kn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"CLC notation is absent"};let e=kn.normalize(t);return/^[A-Z0-9\.\-\+\=\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`CLC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://clc.nlc.cn/${kn.normalize(t)}`},apis:{}};var Mn={standardId:"bbk",uriScheme:"BBK",normalize(t){return t.trim()},display(t){return Mn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"BBK notation is absent"};let e=Mn.normalize(t);return/^[0-9А-Яа-яA-Za-z\.\-\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`BBK notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://bbk.rsl.ru/external/${Mn.normalize(t)}`},apis:{}};var Dn={standardId:"tlc",uriScheme:"TLC",normalize(t){return t.trim()},display(t){return Dn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"TLC notation is absent"};let e=Dn.normalize(t);return/^[A-Z0-9\.\-\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`TLC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://nlt.go.th/tlc/${Dn.normalize(t)}`},apis:{}};var On={standardId:"cc",uriScheme:"CC",normalize(t){return t.trim()},display(t){return On.normalize(t)},validate(t){if(!t)return{valid:!1,error:"CC notation is absent"};let e=On.normalize(t);return/^[A-Za-z0-9\:\,\;\-\.\'\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`CC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://isko.org/cc/${On.normalize(t)}`},apis:{}};var hi=Yr.Tag;de.register(hi);var K1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,classificationSystem:56,isRootContainer:69,lccNotation:50,ddcNotation:49,udcNotation:51,clcNotation:52,bbkNotation:53,tlcNotation:54,ccNotation:55};function ly(t){return Hr(hi,t,Ye())}function Zc(t){return Vr(hi,t)}function py(t){return Wr(hi,t,Ye())}function Jc(t){return qr(hi,t)}function fy(t){return Gr(hi,t)}function Yc(t){return Kr(hi,t)}var ee=class ee extends Xe{constructor(e,r){super(ee.type,e,r)}static Load(e,r){return Y(ee.type,e,r)}static Has(e,r){return J(ee.type,e,r)}static async LoadAsync(e,r){return Zr(ee,e,r)}get classificationSystem(){return this.getProp(56)}set classificationSystem(e){this.dispatchString(56,e)}getClassificationSystem(e){return this.getProp(56,e)}setClassificationSystem(e,r){this.dispatchString(56,e,r)}get isRootContainer(){return this.getProp(69)??!1}set isRootContainer(e){this.dispatchNumber(69,e?1:0)}getIsRootContainer(e){return this.getProp(69,e)??!1}setIsRootContainer(e,r){this.dispatchNumber(69,e?1:0,r)}get lccNotation(){return this.getProp(50)??null}set lccNotation(e){this.dispatchString(50,e??"")}getLccNotation(e){return this.getProp(50,e)??null}setLccNotation(e,r){this.dispatchString(50,e??"",r)}get ddcNotation(){return this.getProp(49)??null}set ddcNotation(e){this.dispatchString(49,e??"")}getDdcNotation(e){return this.getProp(49,e)??null}setDdcNotation(e,r){this.dispatchString(49,e??"",r)}get udcNotation(){return this.getProp(51)??null}set udcNotation(e){this.dispatchString(51,e??"")}getUdcNotation(e){return this.getProp(51,e)??null}setUdcNotation(e,r){this.dispatchString(51,e??"",r)}get clcNotation(){return this.getProp(52)??null}set clcNotation(e){this.dispatchString(52,e??"")}getClcNotation(e){return this.getProp(52,e)??null}setClcNotation(e,r){this.dispatchString(52,e??"",r)}get bbkNotation(){return this.getProp(53)??null}set bbkNotation(e){this.dispatchString(53,e??"")}getBbkNotation(e){return this.getProp(53,e)??null}setBbkNotation(e,r){this.dispatchString(53,e??"",r)}get tlcNotation(){return this.getProp(54)??null}set tlcNotation(e){this.dispatchString(54,e??"")}getTlcNotation(e){return this.getProp(54,e)??null}setTlcNotation(e,r){this.dispatchString(54,e??"",r)}get ccNotation(){return this.getProp(55)??null}set ccNotation(e){this.dispatchString(55,e??"")}getCcNotation(e){return this.getProp(55,e)??null}setCcNotation(e,r){this.dispatchString(55,e??"",r)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return ae(ee,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return ae(ee,await this.collectDeepIds("inTags",e))}addIntoTag(e){if(this.isInTag(e))return;let r={operation:k.EditRelation,objectType:ee.type,objectId:e,langId:0,relationId:3,action:G.Add,targetId:this.id};J(ee.type,e)&&Y(ee.type,e).patch(r),this.applyRelationRaw("in",0,G.Add,e),$.addPatch(r)}removeFromTag(e){if(!this.isInTag(e))return;let r={operation:k.EditRelation,objectType:ee.type,objectId:e,langId:0,relationId:3,action:G.Remove,targetId:this.id};J(ee.type,e)&&Y(ee.type,e).patch(r),this.applyRelationRaw("in",0,G.Remove,e),$.addPatch(r)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return ae(ee,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,G.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,G.Remove,e)}async tagsDeep(e){return ae(ee,await this.collectDeepIds("tags",e))}get booksIds(){return this.getBridgedRelationIdsSync(4,"has")}get books(){return ae(W,this.booksIds)}hasBook(e){return this._has.get(4).has(e)}addBook(e){this.hasBook(e)||this.dispatchRelation(4,G.Add,e)}removeBook(e){this.hasBook(e)&&this.dispatchRelation(4,G.Remove,e)}async booksDeep(e){return ae(W,await this.collectDeepIds("books",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:TG:${Jr("TG",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("TG",e);let r=e.split(":");return r.length>=4&&r[2]==="TG"?Pt("TG",r[3]):null}catch{return null}}get lccNormalized(){return this.lccNotation?Nn.normalize(this.lccNotation):null}validateLcc(){return Nn.validate(this.lccNotation)}get ddcNormalized(){return this.ddcNotation?Bn.normalize(this.ddcNotation):null}validateDdc(){return Bn.validate(this.ddcNotation)}get udcNormalized(){return this.udcNotation?Ln.normalize(this.udcNotation):null}validateUdc(){return Ln.validate(this.udcNotation)}get clcNormalized(){return this.clcNotation?kn.normalize(this.clcNotation):null}validateClc(){return kn.validate(this.clcNotation)}get bbkNormalized(){return this.bbkNotation?Mn.normalize(this.bbkNotation):null}validateBbk(){return Mn.validate(this.bbkNotation)}get tlcNormalized(){return this.tlcNotation?Dn.normalize(this.tlcNotation):null}validateTlc(){return Dn.validate(this.tlcNotation)}get ccNormalized(){return this.ccNotation?On.normalize(this.ccNotation):null}validateCc(){return On.validate(this.ccNotation)}sfcuid(){return this.lccNotation?`lcc:${Nn.normalize(this.lccNotation)}`:this.ddcNotation?`ddc:${Bn.normalize(this.ddcNotation)}`:this.udcNotation?`udc:${Ln.normalize(this.udcNotation)}`:this.clcNotation?`clc:${kn.normalize(this.clcNotation)}`:this.bbkNotation?`bbk:${Mn.normalize(this.bbkNotation)}`:this.tlcNotation?`tlc:${Dn.normalize(this.tlcNotation)}`:this.ccNotation?`cc:${On.normalize(this.ccNotation)}`:this.toNativePID()}get identityCluster(){let e=this.sfcuid(),r=[this.lccNotation?`lcc:${Nn.normalize(this.lccNotation)}`:null,this.ddcNotation?`ddc:${Bn.normalize(this.ddcNotation)}`:null,this.udcNotation?`udc:${Ln.normalize(this.udcNotation)}`:null,this.clcNotation?`clc:${kn.normalize(this.clcNotation)}`:null,this.bbkNotation?`bbk:${Mn.normalize(this.bbkNotation)}`:null,this.tlcNotation?`tlc:${Dn.normalize(this.tlcNotation)}`:null,this.ccNotation?`cc:${On.normalize(this.ccNotation)}`:null,this.toNativePID()].filter(Boolean);return{sfcuid:e,native:this.toNativePID(),aliases:r.filter(n=>n!==e),wireId:this.id}}static async byClassificationSystem(e,r){let n=r?.lang??ne.userLang,o=Array.from(Ze.getIndex(ee.type,"byClassificationSystem").getUidsByRawValue(e,n)),i=r?.includeDeleted??!1;return(await ae(ee,o)).filter(a=>i||!a.deleted)}static getAvailableClassificationSystems(e,r){let n=r?.lang??ne.userLang;return Ze.getIndex(ee.type,"byClassificationSystem").getAvailableKeys([e],n)}static async byClassificationSystemStandard(e,r){return ee.byClassificationSystem(e,r)}static async byClassificationSystemImported(e,r){return ee.byClassificationSystem(`imported-${e}`,r)}static async byClassificationSystemCustom(e,r){return ee.byClassificationSystem(`custom-${e}`,r)}static async byClassificationSystemOrigin(e){return ee.byClassificationSystem("origin",e)}static getAvailableStandardSystems(e){return ee.getAvailableClassificationSystems("standard",e)}static getAvailableImportedSystems(e){return ee.getAvailableClassificationSystems("imported",e)}static getAvailableCustomSystems(e){return ee.getAvailableClassificationSystems("custom",e)}};ee.type=2,ee.UID_STRATEGY="standards-first",ee.STANDARD_PRIORITY=["lcc","ddc","udc","clc","bbk","tlc","cc"],ee.isPrivate=!0,ee.serializeSlim=ly,ee.serializeExtended=py,ee.serializeProv=fy,ee.deserializeSlim=Zc,ee.deserializeExtended=Jc,ee.deserializeProv=Yc;var Q=ee;Pr(Q.type,Q);var Q1=(t,e)=>{if(J(Q.type,t,e))return Y(Q.type,t,e);let r=new Q(Q.createNewRequest(t),e);return it(Q.type,r,e),r};var my=new Map,NP={set(t,e){if(!e)throw new Error(`[apiKeyDictionary] Empty value passed for apiId "${t}".`);my.set(t,e)},get(t){return my.get(t)},require(t){let e=my.get(t);if(!e)throw new Error(`[${t}] API key is not configured. Call apiKeyDictionary.set("${t}", "<your-key>") before using this adapter.`);return e}};function BP(t){if(t.length!==13)return{valid:!1,error:`Expected 13 digits, got ${t.length}`};let e=0;for(let n=0;n<12;n++)e+=parseInt(t[n],10)*(n%2===0?1:3);let r=(10-e%10)%10;return r!==parseInt(t[12],10)?{valid:!1,error:`Check digit mismatch: expected ${r}, got ${t[12]}`}:{valid:!0}}var Fn={standardId:"isbn",uriScheme:"ISBN",normalize(t){let e=t.replace(/[\s-]/g,"");if(e.length===10){let r="978"+e.slice(0,9),n=0;for(let o=0;o<12;o++)n+=parseInt(r[o],10)*(o%2===0?1:3);return r+(10-n%10)%10}return e},display(t){let e=Fn.normalize(t);return e.length===13?`${e.slice(0,3)}-${e[3]}-${e.slice(4,7)}-${e.slice(7,12)}-${e[12]}`:e},validate(t){if(!t)return{valid:!1,error:"ISBN is absent"};let e=Fn.normalize(t);return/^97[89][0-9]{10}$/.test(e)?BP(e):{valid:!1,error:`ISBN does not match pattern: ${e}`}},toLinkedDataUri(t){return`urn:isbn:${Fn.normalize(t)}`},apis:{openlibrary:{apiId:"openlibrary",name:"Open Library Books API",async fetch({isbn:t}){if(!t)return{};let e=await fetch(`https://openlibrary.org/api/books?bibkeys=ISBN:${t}&format=json&jscmd=data`);if(!e.ok)return{};let n=(await e.json())[`ISBN:${t}`]??{};return{title:n.title,authors:n.authors?.map(o=>o.name),publishDate:n.publish_date,pageCount:n.number_of_pages,coverUrl:n.cover?.medium,description:n.excerpts?.[0]?.text}}},googlebooks:{apiId:"googlebooks",name:"Google Books API",async fetch({isbn:t}){if(!t)return{};let e=NP.require("googlebooks"),r=await fetch(`https://www.googleapis.com/books/v1/volumes?q=isbn:${t}&key=${e}`);if(!r.ok)return{};let o=(await r.json()).items?.[0]?.volumeInfo??{};return{title:o.title,authors:o.authors,publishedDate:o.publishedDate,pageCount:o.pageCount,language:o.language,description:o.description,thumbnail:o.imageLinks?.thumbnail}}}}};var bi=Yr.Book;de.register(bi);var Xs={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,prerequisites:8,deweyDecimal:9,locCallNumber:10,copyrightStatus:11,textQuality:12,illustrations:13,educationQuality:14,practicality:15,accessibilityLevel:16,teacherMaterials:17,pedagogicalScaffolding:18,clarityOfExplanation:19,workedExamples:20,exercisesAndAssessment:21,selfStudyReadiness:22,referenceApparatus:23,safetyGuidance:24,contentCurrency:25,ecoRegeneration:26,communityLiving:27,promotesPeace:28,businessDevelopment:29,language:30,downloadTxId:31,method:32,isAiTranslation:33,aiEngine:34,addedAt:35,nbPages:36,sizeBytes:37,publisher:38,publicationDate:39,publishedAt:40,qualityScore:41,isbn:42};function gy(t){return Hr(bi,t,Ye())}function eu(t){return Vr(bi,t)}function yy(t){return Wr(bi,t,Ye())}function tu(t){return qr(bi,t)}function hy(t){return Gr(bi,t)}function ru(t){return Kr(bi,t)}var _e=class _e extends Xe{constructor(e,r){super(_e.type,e,r)}static Load(e,r){return Y(_e.type,e,r)}static Has(e,r){return J(_e.type,e,r)}static async LoadAsync(e,r){return Zr(_e,e,r)}get prerequisites(){return this.getProp(8)}set prerequisites(e){this.dispatchString(8,e)}getPrerequisites(e){return this.getProp(8,e)}setPrerequisites(e,r){this.dispatchString(8,e,r)}get deweyDecimal(){return this.getProp(9)}set deweyDecimal(e){this.dispatchString(9,e)}getDeweyDecimal(e){return this.getProp(9,e)}setDeweyDecimal(e,r){this.dispatchString(9,e,r)}get locCallNumber(){return this.getProp(10)}set locCallNumber(e){this.dispatchString(10,e)}getLocCallNumber(e){return this.getProp(10,e)}setLocCallNumber(e,r){this.dispatchString(10,e,r)}get copyrightStatus(){return this.getProp(11)??0}set copyrightStatus(e){this.dispatchNumber(11,e)}getCopyrightStatus(e){return this.getProp(11,e)??0}setCopyrightStatus(e,r){this.dispatchNumber(11,e,r)}get textQuality(){return this.getProp(12)??0}set textQuality(e){this.dispatchNumber(12,e)}getTextQuality(e){return this.getProp(12,e)??0}setTextQuality(e,r){this.dispatchNumber(12,e,r)}get illustrations(){return this.getProp(13)??0}set illustrations(e){this.dispatchNumber(13,e)}getIllustrations(e){return this.getProp(13,e)??0}setIllustrations(e,r){this.dispatchNumber(13,e,r)}get educationQuality(){return this.getProp(14)??0}set educationQuality(e){this.dispatchNumber(14,e)}getEducationQuality(e){return this.getProp(14,e)??0}setEducationQuality(e,r){this.dispatchNumber(14,e,r)}get practicality(){return this.getProp(15)??0}set practicality(e){this.dispatchNumber(15,e)}getPracticality(e){return this.getProp(15,e)??0}setPracticality(e,r){this.dispatchNumber(15,e,r)}get accessibilityLevel(){return this.getProp(16)??0}set accessibilityLevel(e){this.dispatchNumber(16,e)}getAccessibilityLevel(e){return this.getProp(16,e)??0}setAccessibilityLevel(e,r){this.dispatchNumber(16,e,r)}get teacherMaterials(){return this.getProp(17)??!1}set teacherMaterials(e){this.dispatchNumber(17,e?1:0)}getTeacherMaterials(e){return this.getProp(17,e)??!1}setTeacherMaterials(e,r){this.dispatchNumber(17,e?1:0,r)}get pedagogicalScaffolding(){return this.getProp(18)??0}set pedagogicalScaffolding(e){this.dispatchNumber(18,e)}getPedagogicalScaffolding(e){return this.getProp(18,e)??0}setPedagogicalScaffolding(e,r){this.dispatchNumber(18,e,r)}get clarityOfExplanation(){return this.getProp(19)??0}set clarityOfExplanation(e){this.dispatchNumber(19,e)}getClarityOfExplanation(e){return this.getProp(19,e)??0}setClarityOfExplanation(e,r){this.dispatchNumber(19,e,r)}get workedExamples(){return this.getProp(20)??0}set workedExamples(e){this.dispatchNumber(20,e)}getWorkedExamples(e){return this.getProp(20,e)??0}setWorkedExamples(e,r){this.dispatchNumber(20,e,r)}get exercisesAndAssessment(){return this.getProp(21)??0}set exercisesAndAssessment(e){this.dispatchNumber(21,e)}getExercisesAndAssessment(e){return this.getProp(21,e)??0}setExercisesAndAssessment(e,r){this.dispatchNumber(21,e,r)}get selfStudyReadiness(){return this.getProp(22)??0}set selfStudyReadiness(e){this.dispatchNumber(22,e)}getSelfStudyReadiness(e){return this.getProp(22,e)??0}setSelfStudyReadiness(e,r){this.dispatchNumber(22,e,r)}get referenceApparatus(){return this.getProp(23)??0}set referenceApparatus(e){this.dispatchNumber(23,e)}getReferenceApparatus(e){return this.getProp(23,e)??0}setReferenceApparatus(e,r){this.dispatchNumber(23,e,r)}get safetyGuidance(){return this.getProp(24)??0}set safetyGuidance(e){this.dispatchNumber(24,e)}getSafetyGuidance(e){return this.getProp(24,e)??0}setSafetyGuidance(e,r){this.dispatchNumber(24,e,r)}get contentCurrency(){return this.getProp(25)??0}set contentCurrency(e){this.dispatchNumber(25,e)}getContentCurrency(e){return this.getProp(25,e)??0}setContentCurrency(e,r){this.dispatchNumber(25,e,r)}get ecoRegeneration(){return this.getProp(26)??0}set ecoRegeneration(e){this.dispatchNumber(26,e)}getEcoRegeneration(e){return this.getProp(26,e)??0}setEcoRegeneration(e,r){this.dispatchNumber(26,e,r)}get communityLiving(){return this.getProp(27)??0}set communityLiving(e){this.dispatchNumber(27,e)}getCommunityLiving(e){return this.getProp(27,e)??0}setCommunityLiving(e,r){this.dispatchNumber(27,e,r)}get promotesPeace(){return this.getProp(28)??0}set promotesPeace(e){this.dispatchNumber(28,e)}getPromotesPeace(e){return this.getProp(28,e)??0}setPromotesPeace(e,r){this.dispatchNumber(28,e,r)}get businessDevelopment(){return this.getProp(29)??0}set businessDevelopment(e){this.dispatchNumber(29,e)}getBusinessDevelopment(e){return this.getProp(29,e)??0}setBusinessDevelopment(e,r){this.dispatchNumber(29,e,r)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return ae(Q,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return ae(Q,await this.collectDeepIds("inTags",e))}addIntoTag(e){if(this.isInTag(e))return;let r={operation:k.EditRelation,objectType:Q.type,objectId:e,langId:0,relationId:4,action:G.Add,targetId:this.id};J(Q.type,e)&&Y(Q.type,e).patch(r),this.applyRelationRaw("in",0,G.Add,e),$.addPatch(r)}removeFromTag(e){if(!this.isInTag(e))return;let r={operation:k.EditRelation,objectType:Q.type,objectId:e,langId:0,relationId:4,action:G.Remove,targetId:this.id};J(Q.type,e)&&Y(Q.type,e).patch(r),this.applyRelationRaw("in",0,G.Remove,e),$.addPatch(r)}get authorsIds(){return this.getBridgedRelationIdsSync(1,"has")}get authors(){return ae(Ue,this.authorsIds)}hasAuthor(e){return this._has.get(1).has(e)}addAuthor(e){this.hasAuthor(e)||this.dispatchRelation(1,G.Add,e)}removeAuthor(e){this.hasAuthor(e)&&this.dispatchRelation(1,G.Remove,e)}async authorsDeep(e){return ae(Ue,await this.collectDeepIds("authors",e))}getInstances(e=ne.userLang){return this.getInstancesData(e).map((r,n)=>new Xc(this,e,n,r))}getInstance(e,r=ne.userLang){return this.getInstances(r)[e]}getDefaultInstance(e=ne.userLang){let r=this.getInstances(e);return r.find(n=>n.isDefault)??r[0]}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:BK:${Jr("BK",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("BK",e);let r=e.split(":");return r.length>=4&&r[2]==="BK"?Pt("BK",r[3]):null}catch{return null}}static async LoadInstance(e,r){let n=globalThis.ExternalIdCrosswalk?.instance;if(!n)throw new Error("ExternalIdCrosswalk not initialized \u2014 bootup incomplete");if(await n.whenReady(),e.startsWith("DL:C:DERIVED:")){let u=await n.resolveDerived(e,r);if(!u)return null;let d=await _e.LoadAsync(BigInt(u.wireId));return d?{record:d,instanceIndex:u.instanceIndex}:null}if(e.startsWith("DL:C:")){let u=_e.fromPID(e);if(u){let d=await _e.LoadAsync(BigInt(u.wireId));return d?{record:d}:null}return null}let o=e.indexOf(":");if(o===-1)return null;let i=e.slice(0,o),s=e.slice(o+1),a=await n.resolveForInstance(i,s,r);if(!a)return null;let c=await _e.LoadAsync(BigInt(a.wireId));return c?{record:c,instanceIndex:a.instanceIndex}:null}};_e.type=0,_e.UID_STRATEGY="native-only",_e.STANDARD_PRIORITY=[],_e.isPrivate=!0,_e.serializeSlim=gy,_e.serializeExtended=yy,_e.serializeProv=hy,_e.deserializeSlim=eu,_e.deserializeExtended=tu,_e.deserializeProv=ru;var W=_e,Xc=class{constructor(e,r,n,o){this.parent=e;this.lang=r;this.index=n;this.data=o}get isDefault(){return this.data.isDefault===!0}get language(){return this.data.language??""}set language(e){this.data.language=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:30,value:e??""};this.parent.patch(r),$.addPatch(r)}get downloadTxId(){return this.data.downloadTxId??""}set downloadTxId(e){this.data.downloadTxId=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:31,value:e??""};this.parent.patch(r),$.addPatch(r)}get method(){return this.data.method??0}set method(e){this.data.method=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:32,value:e};this.parent.patch(r),$.addPatch(r)}get isAiTranslation(){return this.data.isAiTranslation??!1}set isAiTranslation(e){this.data.isAiTranslation=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:33,value:e?1:0};this.parent.patch(r),$.addPatch(r)}get aiEngine(){return this.data.aiEngine??null}set aiEngine(e){this.data.aiEngine=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:34,value:e??""};this.parent.patch(r),$.addPatch(r)}get addedAt(){return this.data.addedAt??0}set addedAt(e){this.data.addedAt=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:35,value:e};this.parent.patch(r),$.addPatch(r)}get nbPages(){return this.data.nbPages??0}set nbPages(e){this.data.nbPages=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:36,value:e};this.parent.patch(r),$.addPatch(r)}get sizeBytes(){return this.data.sizeBytes??0}set sizeBytes(e){this.data.sizeBytes=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:37,value:e};this.parent.patch(r),$.addPatch(r)}get publisher(){return this.data.publisher??null}set publisher(e){this.data.publisher=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:38,value:e??""};this.parent.patch(r),$.addPatch(r)}get publicationDate(){return this.data.publicationDate??null}set publicationDate(e){this.data.publicationDate=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:39,value:e??""};this.parent.patch(r),$.addPatch(r)}get publishedAt(){return this.data.publishedAt??null}set publishedAt(e){this.data.publishedAt=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:40,value:e??""};this.parent.patch(r),$.addPatch(r)}get qualityScore(){return this.data.qualityScore??0}set qualityScore(e){this.data.qualityScore=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:41,value:e};this.parent.patch(r),$.addPatch(r)}get isbn(){return this.data.isbn??null}set isbn(e){this.data.isbn=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:42,value:e??""};this.parent.patch(r),$.addPatch(r)}derivedSfcuid(e){let r=[this.language??""];return`DL:C:DERIVED:${e}:${r.map(n=>encodeURIComponent(String(n))).join(":")}`}get isbnNormalized(){return this.isbn?Fn.normalize(this.isbn):null}validateIsbn(){return Fn.validate(this.isbn)}sfcuid(){return this.isbn?`isbn:${Fn.normalize(this.isbn)}`:this.derivedSfcuid(this.parent.toPID())}get identityCluster(){let e=this.sfcuid(),r=[this.isbn?`isbn:${Fn.normalize(this.isbn)}`:null,this.parent.toPID()].filter(Boolean);return{sfcuid:e,native:this.parent.toPID(),aliases:r.filter(n=>n!==e),wireId:this.parent.id}}get description(){return this.parent.getDescription(this.lang)??""}set description(e){this.parent.setDescription(e,this.lang)}};Pr(W.type,W);var Z1=(t,e)=>{if(J(W.type,t,e))return Y(W.type,t,e);let r=new W(W.createNewRequest(t),e);return it(W.type,r,e),r};var xi=Yr.ClassificationSystem;de.register(xi);var J1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,name:65,institution:66,country:67,language:30,rootTagId:68};function by(t){return Hr(xi,t,Ye())}function xy(t){return Vr(xi,t)}function wy(t){return Wr(xi,t,Ye())}function Iy(t){return qr(xi,t)}function Sy(t){return Gr(xi,t)}function vy(t){return Kr(xi,t)}var ge=class ge extends Xe{constructor(e,r){super(ge.type,e,r)}static Load(e,r){return Y(ge.type,e,r)}static Has(e,r){return J(ge.type,e,r)}static async LoadAsync(e,r){return Zr(ge,e,r)}get name(){return this.getProp(65)}set name(e){this.dispatchString(65,e)}getName(e){return this.getProp(65,e)}setName(e,r){this.dispatchString(65,e,r)}get institution(){return this.getProp(66)??!1}set institution(e){this.dispatchNumber(66,e?1:0)}getInstitution(e){return this.getProp(66,e)??!1}setInstitution(e,r){this.dispatchNumber(66,e?1:0,r)}get country(){return this.getProp(67)}set country(e){this.dispatchString(67,e)}getCountry(e){return this.getProp(67,e)}setCountry(e,r){this.dispatchString(67,e,r)}get language(){return this.getProp(30)}set language(e){this.dispatchString(30,e)}getLanguage(e){return this.getProp(30,e)}setLanguage(e,r){this.dispatchString(30,e,r)}get rootTagId(){return this.getProp(68)??0}set rootTagId(e){this.dispatchNumber(68,e)}getRootTagId(e){return this.getProp(68,e)??0}setRootTagId(e,r){this.dispatchNumber(68,e,r)}get inRootTagIds(){return this.getBridgedRelationIdsSync(5,"in")}get inRootTag(){return ae(Q,this.inRootTagIds)}isInRootTag(e){return this._in.get(5).has(e)}async rootTagDeep(e){return ae(Q,await this.collectDeepIds("rootTag",e))}addIntoRootTag(e){this.isInRootTag(e)||this.dispatchRelation(5,G.Add,e)}removeFromRootTag(e){this.isInRootTag(e)&&this.dispatchRelation(5,G.Remove,e)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return ae(Q,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,G.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,G.Remove,e)}async tagsDeep(e){return ae(Q,await this.collectDeepIds("tags",e))}get booksIds(){return this.getBridgedRelationIdsSync(4,"has")}get books(){return ae(W,this.booksIds)}hasBook(e){return this._has.get(4).has(e)}addBook(e){this.hasBook(e)||this.dispatchRelation(4,G.Add,e)}removeBook(e){this.hasBook(e)&&this.dispatchRelation(4,G.Remove,e)}async booksDeep(e){return ae(W,await this.collectDeepIds("books",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:CS:${Jr("CS",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("CS",e);let r=e.split(":");return r.length>=4&&r[2]==="CS"?Pt("CS",r[3]):null}catch{return null}}static async byClassificationSystem(e,r){let n=r?.lang??ne.userLang,o=Array.from(Ze.getIndex(ge.type,"byClassificationSystem").getUidsByRawValue(e,n)),i=r?.includeDeleted??!1;return(await ae(ge,o)).filter(a=>i||!a.deleted)}static getAvailableClassificationSystems(e,r){let n=r?.lang??ne.userLang;return Ze.getIndex(ge.type,"byClassificationSystem").getAvailableKeys([e],n)}static async byClassificationSystemStandard(e,r){return ge.byClassificationSystem(e,r)}static async byClassificationSystemImported(e,r){return ge.byClassificationSystem(`imported-${e}`,r)}static async byClassificationSystemCustom(e,r){return ge.byClassificationSystem(`custom-${e}`,r)}static async byClassificationSystemOrigin(e){return ge.byClassificationSystem("origin",e)}static getAvailableStandardSystems(e){return ge.getAvailableClassificationSystems("standard",e)}static getAvailableImportedSystems(e){return ge.getAvailableClassificationSystems("imported",e)}static getAvailableCustomSystems(e){return ge.getAvailableClassificationSystems("custom",e)}};ge.type=3,ge.UID_STRATEGY="native-only",ge.STANDARD_PRIORITY=[],ge.isPrivate=!0,ge.serializeSlim=by,ge.serializeExtended=wy,ge.serializeProv=Sy,ge.deserializeSlim=xy,ge.deserializeExtended=Iy,ge.deserializeProv=vy;var qt=ge;Pr(qt.type,qt);var Y1=(t,e)=>{if(J(qt.type,t,e))return Y(qt.type,t,e);let r=new qt(qt.createNewRequest(t),e);return it(qt.type,r,e),r};var wi=Yr.Post;de.register(wi);var X1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,isPinned:70,isLocked:71};function Ay(t){return Hr(wi,t,Ye())}function Py(t){return Vr(wi,t)}function Ey(t){return Wr(wi,t,Ye())}function Ty(t){return qr(wi,t)}function Cy(t){return Gr(wi,t)}function Ry(t){return Kr(wi,t)}var Se=class Se extends Xe{constructor(e,r){super(Se.type,e,r)}static Load(e,r){return Y(Se.type,e,r)}static Has(e,r){return J(Se.type,e,r)}static async LoadAsync(e,r){return Zr(Se,e,r)}get isPinned(){return this.getProp(70)??!1}set isPinned(e){this.dispatchNumber(70,e?1:0)}getIsPinned(e){return this.getProp(70,e)??!1}setIsPinned(e,r){this.dispatchNumber(70,e?1:0,r)}get isLocked(){return this.getProp(71)??!1}set isLocked(e){this.dispatchNumber(71,e?1:0)}getIsLocked(e){return this.getProp(71,e)??!1}setIsLocked(e,r){this.dispatchNumber(71,e?1:0,r)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return ae(Q,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return ae(Q,await this.collectDeepIds("inTags",e))}addIntoTag(e){this.isInTag(e)||this.dispatchRelation(0,G.Add,e)}removeFromTag(e){this.isInTag(e)&&this.dispatchRelation(0,G.Remove,e)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return ae(Q,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,G.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,G.Remove,e)}async tagsDeep(e){return ae(Q,await this.collectDeepIds("tags",e))}get inParentPostId(){return this.getBridgedRelationIdsSync(6,"in")[0]??null}get inParentPost(){let e=this.inParentPostId;return e?Hg(Se,e):Promise.resolve(null)}addIntoParentPost(e){let r={operation:k.EditRelation,objectType:Se.type,objectId:e,langId:0,relationId:7,action:G.Add,targetId:this.id};J(Se.type,e)&&Y(Se.type,e).patch(r),this.applyRelationRaw("in",6,G.Add,e),$.addPatch(r)}removeFromParentPost(e){let r={operation:k.EditRelation,objectType:Se.type,objectId:e,langId:0,relationId:7,action:G.Remove,targetId:this.id};J(Se.type,e)&&Y(Se.type,e).patch(r),this.applyRelationRaw("in",6,G.Remove,e),$.addPatch(r)}set inParentPost(e){let r=this.inParentPostId;r!==e&&(r!=null&&this.removeFromParentPost(r),e!=null&&this.addIntoParentPost(e))}get repliesIds(){return this.getBridgedRelationIdsSync(7,"has")}get replies(){return ae(Se,this.repliesIds)}hasReplie(e){return this._has.get(7).has(e)}addReplie(e){this.hasReplie(e)||this.dispatchRelation(7,G.Add,e)}removeReplie(e){this.hasReplie(e)&&this.dispatchRelation(7,G.Remove,e)}async repliesDeep(e){return ae(Se,await this.collectDeepIds("replies",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:PO:${Jr("PO",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("PO",e);let r=e.split(":");return r.length>=4&&r[2]==="PO"?Pt("PO",r[3]):null}catch{return null}}};Se.type=4,Se.UID_STRATEGY="native-only",Se.STANDARD_PRIORITY=[],Se.isPrivate=!1,Se.serializeSlim=Ay,Se.serializeExtended=Ey,Se.serializeProv=Cy,Se.deserializeSlim=Py,Se.deserializeExtended=Ty,Se.deserializeProv=Ry;var Kt=Se;Pr(Kt.type,Kt);var ew=(t,e)=>{if(J(Kt.type,t,e))return Y(Kt.type,t,e);let r=new Kt(Kt.createNewRequest(t),e);return it(Kt.type,r,e),r};var ea={0:W,1:Ue,2:Q,3:qt,4:Kt};var LP=5,kP=6,MP=t=>t.getProp(kP)===!1&&t.getProp(LP)===!0;var ll=(t,e,r,n)=>`${r}:${t}:${e}:${n}`;function DP(t,e,r){let n=de.get(t);if(!n)return!1;let o=new Map(n.instanceFields?.map(s=>[s.name,s.propId])??[]);for(let s of Object.values(n.standardPks??{})){let a=o.get(s);if(a===void 0)continue;let c=e[s],u=r.get(a);if(c!==void 0&&u!==void 0)return c===u}let i=o.get("downloadTxId");if(i!==void 0){let s=e.downloadTxId,a=r.get(i);if(s!==void 0&&a!==void 0)return s===a}return!1}async function OP(t,e,r,n,o){let i=new Map;for(let u of r)(u.operation===k.EditInstanceFieldString||u.operation===k.EditInstanceFieldNumber)&&u.objectType===e.objectType&&u.objectId===e.objectId&&u.langId===e.langId&&u.instanceIndex===e.instanceIndex&&i.set(u.propertyId,u.value);let s=t.getInstancesData(n),a=-1;for(let u=0;u<s.length;u++)if(DP(e.objectType,s[u],i)){a=u;break}if(a===e.instanceIndex)return;let c=a;a===-1&&(c=s.length,t.growInstances(n,c)),await o.instanceRemapStore.put(e.objectId,e.langId,o.creatorUsername,e.instanceIndex,c)}async function pl(t,e){if(t.operation===k.CreateRecord){if(e.record)return;let n=t,o=ea[n.objectType];if(!o)throw new Error(`[applyPatchWithContext] Unknown objectType ${n.objectType}`);let i=new o(Xe.createNewRequest(n.objectId),e.creatorUsername);it(n.objectType,i,e.creatorUsername),En(n.objectType,n.objectId,e.creatorUsername),await e.localRecordTable.putIfAbsent({wireId:n.objectId,creatorUsername:e.creatorUsername,objectType:n.objectType,createdAt:e.blockTimestamp,status:"active"});return}if(t.operation===k.AddInstance){let n=t;if(!e.record&&!J(n.objectType,n.objectId,e.creatorUsername)){console.warn("[applyPatchWithContext] AddInstance target absent; skipping");return}let o=e.record??Y(n.objectType,n.objectId,e.creatorUsername),i=vn[n.langId];if(!i)return;o.getInstancesData(i).length>n.instanceIndex?await OP(o,n,e.batchRemainder,i,e):e.record?o.patch(n,!1,!1):o.patch(n,!1);return}let r=t;if(r.operation===k.EditInstanceFieldString||r.operation===k.EditInstanceFieldNumber){let n=e.record??(J(r.objectType,r.objectId,e.creatorUsername)?Y(r.objectType,r.objectId,e.creatorUsername):void 0),o=await e.instanceRemapStore.get(r.objectId,r.langId,e.creatorUsername,r.instanceIndex)??n?.instanceRemaps?.find(([i])=>i===ll(r.objectId,r.langId,e.creatorUsername,r.instanceIndex))?.[1];o!==void 0&&(r.instanceIndex=o)}if(r.objectType!==void 0&&r.objectId!==void 0){if(!e.record&&!J(r.objectType,r.objectId,e.creatorUsername)){console.warn("[applyPatchWithContext] Edit target absent; skipping");return}let n=e.record??Y(r.objectType,r.objectId,e.creatorUsername);if(e.record?n.patch(t,!1,!1):n.patch(t,!1),t.operation===k.EditPropertyString||t.operation===k.EditPropertyNumber){let o=t.provenance;if(o!==void 0){let i=t,s=vn[i.langId]??"eng";n.setProvenanceRaw(s,i.propertyId,o)}}}}var Rr=async(t,e="mine")=>{let r=0,n=0,o=ct.cleanData(t),i=new Set;for(let a of o)a.operation===k.CreateRecord&&i.add(`${a.objectType}:${a.objectId}`);let s=[];for(let a of o){if(!Te(a))continue;let c=a.objectType,u=a.objectId??a.fromUid;if(c!==void 0&&u!==void 0){if(i.has(`${c}:${u}`))continue;if(!J(c,u,e)){let d=ea[c];d&&(kt(u)?s.push(d.LoadAsync(u,e).catch(l=>{console.warn(`[replay] Could not load user-created record ${u}:`,l.message)})):s.push(d.LoadAsync(u,e)))}}}await Promise.all(s);for(let a=0;a<o.length;a++){let c=o[a];if(!Te(c))continue;let u=c.objectType,d=c.objectId;if(typeof d>"u"){n++;continue}let l=c.order;if(l!==void 0&&J(u,d,e)&&l<=Y(u,d,e).hydratedThrough){n++;continue}let p={localRecordTable:Cr,creatorUsername:e,blockTimestamp:Date.now(),get batchRemainder(){return o.slice(a+1)},instanceRemapStore:Cr.instanceRemaps};await pl(c,p),r++}return{applied:r,skipped:n}};var By="the_library:trash:v1";function FP(){let t=new Map;if(typeof localStorage>"u")return t;try{let e=localStorage.getItem(By);if(!e)return t;let r=JSON.parse(e);for(let[n,o]of Object.entries(r)){let i=new Map;for(let[s,a]of Object.entries(o))i.set(s,new Set(a.map(Sn)));t.set(Number(n),i)}}catch(e){console.warn("[trash] failed to load localStorage seed",e)}return t}var na=FP(),ml=new Map;function rw(){if(typeof localStorage>"u")return;let t={};for(let[e,r]of na){let n={};for(let[o,i]of r)i.size>0&&(n[o]=Array.from(i,Mt));Object.keys(n).length>0&&(t[e]=n)}try{localStorage.setItem(By,JSON.stringify(t))}catch(e){console.warn("[trash] failed to persist localStorage snapshot",e)}}function nw(t){ml.get(t)?.forEach(e=>{try{e()}catch(r){console.error("[trash] listener failed",r)}})}function jP(t,e){let r=na.get(t);r||(r=new Map,na.set(t,r));let n=r.get(e);return n||(n=new Set,r.set(e,n)),n}function ow(t){let e=t?.schema?.objectId,r=t?.id;if(typeof e!="number"||typeof r!="bigint")return null;let n=t.creatorUsername??"",o=jP(e,n),i=t.deleted===!0||t.safe===!1,s=o.has(r);return i===s?null:(i?o.add(r):o.delete(r),e)}var UP=50,ta=null,ra=null;function _P(){ra=null;let t=ta;if(ta=null,!(!t||t.size===0)){rw();for(let e of t)nw(e)}}function zP(t){let e=ow(t);e!==null&&(ta||(ta=new Set),ta.add(e),ra===null&&(ra=setTimeout(_P,UP)))}function Ly(){fl();let t=new Set;for(let e of An().values())for(let r of e.values()){let n=ow(r);n!==null&&t.add(n)}if(t.size!==0){rw();for(let e of t)nw(e)}}var tw=!1;function fl(){tw||(tw=!0,di({track(){},trigger:zP}))}function $P(){na.clear(),ml.clear(),ta=null,ra!==null&&(clearTimeout(ra),ra=null),typeof localStorage<"u"&&localStorage.removeItem(By)}var jn={list(t,e=[]){fl();let r=na.get(t);if(!r)return[];let n=new Set,o=e.length>0?e:r.keys();for(let i of o)for(let s of r.get(i)??[])n.add(s);return Array.from(n)},count(t,e=[]){return jn.list(t,e).length},usernames(t){return fl(),Array.from(na.get(t)?.keys()??[])},subscribe(t,e){fl();let r=ml.get(t);return r||(r=new Set,ml.set(t,r)),r.add(e),()=>r.delete(e)}};function iu(t){return t.deleted===!0||t.safe===!1}function nu(t){t.deleted=!1,t.safe=!0}function ky(t){iu(t)||(t.deleted=!0)}function iw(t){return`${t instanceof Q?"T":"B"}:${t.id}`}async function ou(t){if(t instanceof Q){let[e,r]=await Promise.all([t.tags,t.books]);return[...e,...r]}return[]}async function sw(t,e){if(!iu(t))if(e){nu(t);for(let r of await ou(t))await sw(r,e)}else ky(t)}async function HP(t){let e=[],r=new Set;for(let n=0;n<t.length;n++){let o=n>0?iw(t[n-1]):null;for(let i of await ou(t[n])){let s=iw(i);s===o||r.has(s)||(r.add(s),e.push(i))}}return e}async function WP(t,e,r,n,o){nu(t),e.forEach(nu),o&&o();async function i(s,a){if(iu(s))return;let c=s.id===t.id||e.some(d=>d.id===s.id),u=a;if(!c&&s instanceof Q&&(u=r.has(`${s.id}`)),u){nu(s);for(let d of await ou(s))await i(d,!0)}else ky(s)}for(let s of await ou(n))await i(s,!0)}async function aw(t,e=new Set){if(e.has(t.id))return[];e.add(t.id);let r=[];for(let n of await t.inTags)r.push(n),r.push(...await aw(n,e));return r}async function cw(t,e=new Set){if(e.has(t.id))return[];e.add(t.id);let r=[];for(let n of await t.inTags)iu(n)&&(r.push(n),r.push(...await cw(n,e)));return r}async function uw(t,e=new Set){if(e.has(t.id))return 0;e.add(t.id);let r=await t.tags;if(!r||r.length===0)return 0;let n=r.length;for(let o of r)n+=await uw(o,e);return n}var Ii=Uc,My=t=>{let e=Je();return me().then(r=>{try{let o=r.transaction(Ii,"readonly").objectStore(Ii).count(t);o.onsuccess=function(i){i.target.result>0?e.resolve(!0):e.resolve(!1)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}catch(n){console.error(n);debugger}}).catch(r=>{console.error(`[indexdb error:] hasFile(): ${r.message}`),e.reject(r)}),e.pro},dw=t=>{let e=Je();return me().then(r=>{let n=r.transaction(Ii,"readonly"),o;n.objectStore(Ii).get(t).addEventListener("success",function(i){o=i.target.result,e.resolve(o)}),n.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}).catch(e.reject),e.pro},lw=async t=>{let e=Je(),r=await me(),n=await My(t.id),o=r.transaction(Ii,"readwrite");return n?o.objectStore(Ii).put(t).onsuccess=function(){}:o.objectStore(Ii).add(t).onsuccess=function(){},o.oncomplete=function(){e.resolve(!0)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)},e.pro},GP={has:My,load:dw,store:lw};var pw=t=>{let e=Je();return me().then(r=>{try{let o=r.transaction(Er,"readonly").objectStore(Er).openCursor(t);o.onsuccess=function(i){i.target.result?e.resolve(!0):e.resolve(!1)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}catch(n){console.error(n);debugger}}).catch(r=>{console.error(`[indexdb error:] hasFile(): ${r.message}`),e.reject(r)}),e.pro},VP=t=>{let e=Je();return me().then(r=>{let n=r.transaction(Er,"readonly"),o;n.objectStore(Er).get(t).addEventListener("success",function(i){o=i.target.result}),n.oncomplete=function(){e.resolve(o)},n.onerror=function(i){e.reject(i.target)}}).catch(e.reject),e.pro},qP=t=>{let e=Je();return me().then(async r=>{let n=await pw(t.fileId),o=r.transaction(Er,"readwrite");n?o.objectStore(Er).put(t):o.objectStore(Er).add(t),o.oncomplete=function(){e.resolve(!0)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}).catch(e.reject),e.pro};function KP(t,e,r){let n=eu(t),o=e.byteLength>0?tu(e):[],i=r.byteLength>0?ru(r):[],s=n.length,a=new Array(s);for(let c=0;c<s;c++)a[c]={...n[c],...o[c]||{},...i[c]||{}};return a}function QP(t,e,r){let n=Zc(t),o=e.byteLength>0?Jc(e):[],i=r.byteLength>0?Yc(r):[],s=n.length,a=new Array(s);for(let c=0;c<s;c++)a[c]={...n[c],...o[c]||{},...i[c]||{}};return a}function ZP(t,e,r){let n=qc(t),o=e.byteLength>0?Kc(e):[],i=r.byteLength>0?Qc(r):[],s=n.length,a=new Array(s);for(let c=0;c<s;c++)a[c]={...n[c],...o[c]||{},...i[c]||{}};return a}async function JP(t){let e=new Set,r=new Set,n=0;async function o(i){if(e.has(i))return;e.add(i),++n>50&&(n=0,await new Promise(a=>setTimeout(a,0)));let s;try{s=await Q.LoadAsync(i)}catch{return}for(let a of s.booksIds)r.add(a);for(let a of s.tagsIds)await o(a)}return await o(t),r.size}var Dy=class{constructor(e){this.handlers=[];this.timer=null;this.isPolling=!1;this.inMemorySince=0;this.inMemoryDelivered=[];this.targetUserId=e.targetUserId,this.indexer=e.indexer,this.usernameResolver=e.usernameResolver,this.pollIntervalMs=e.pollIntervalMs??3e4,this.cursorKey=e.cursorKey??`dcode_subscriptions_${e.targetUserId}`}onSubscriptions(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(r=>r!==e)}}start(){this.timer||(this.poll().catch(e=>console.error("[RelationshipSubscription] initial poll failed",e)),this.timer=setInterval(()=>{this.poll().catch(e=>console.error("[RelationshipSubscription] poll failed",e))},this.pollIntervalMs))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}getLastSeenTimestamp(){return this.readSince()}readSince(){if(typeof localStorage>"u")return this.inMemorySince;try{let e=localStorage.getItem(this.cursorKey);return Math.max(e?Number(e):0,this.inMemorySince)}catch{return this.inMemorySince}}writeSince(e){if(this.inMemorySince=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.cursorKey,String(e))}catch{}}deliveredKey(){return`${this.cursorKey}:delivered`}readDelivered(){if(typeof localStorage>"u")return this.inMemoryDelivered;try{let e=localStorage.getItem(this.deliveredKey());return e?JSON.parse(e):this.inMemoryDelivered}catch{return this.inMemoryDelivered}}writeDelivered(e){if(this.inMemoryDelivered=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.deliveredKey(),JSON.stringify(e))}catch{}}async poll(){if(!this.isPolling){this.isPolling=!0;try{let e=this.readSince(),r=Math.floor(Date.now()/1e3),n=await this.indexer.getNewSubscriptionsSince(this.targetUserId,e),o=this.readDelivered(),i=n.filter(c=>!o.includes(c));if(this.writeSince(r),i.length===0)return;this.writeDelivered(i);let s=Math.floor(Date.now()/1e3),a=[];for(let c of i){let u=null;try{u=await this.usernameResolver.userIdToUsername(c)}catch{u=null}a.push({userId:c,username:u,timestamp:s})}for(let c of this.handlers)try{await c(a)}catch(u){console.error("[RelationshipSubscription] handler failed",u)}}finally{this.isPolling=!1}}}};async function YP(t,e){let r=structuredClone(e),n=a=>a.objectType===t.schema.objectId&&BigInt(a.objectId)===t.id,o=a=>a.username??a.creatorUsername??"mine",i=new Map(t.instanceRemaps),s={get:async(...a)=>i.get(ll(...a)),put:async(a,c,u,d,l)=>{i.set(ll(a,c,u,d),l)}};for(let a=0;a<r.length;a++){let c=r[a];if(n(c)&&await pl(c,{record:t,creatorUsername:o(c),localRecordTable:Cr,blockTimestamp:0,instanceRemapStore:s,batchRemainder:r.slice(a+1).filter(u=>n(u)&&o(u)===o(c))}),c.operation===k.EditRelation){let u=$r(c);u&&n(u)&&t.patch(u,!1,!1)}}t.instanceRemaps=[...i]}var XP=40,eE=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}\p{Script=Tibetan}]/u,tE=/[\p{L}\p{N}\p{M}]+/gu,rE=/[̀-ͯ]/g,nE=/\p{N}/u,oE=/\p{M}/u;function gl(t){return t.normalize("NFKD").replace(rE,"").normalize("NFC").toLowerCase()}function iE(t,e){let r=Array.from(e);r.length===1&&!nE.test(e)||t.push(r.length>40?r.slice(0,40).join(""):e)}function sE(t,e){if(e.length===1){t.push(e[0]);return}for(let r=0;r+1<e.length;r++)t.push(e[r]+e[r+1])}function su(t){if(!t)return[];let e=[];for(let[r]of gl(t).matchAll(tE)){let n=[],o=!1,i=()=>{n.length!==0&&(o?sE(e,n):iE(e,n.join("")),n=[])};for(let s of r){let a=eE.test(s)||o&&n.length>0&&oE.test(s);n.length>0&&a!==o&&i(),o=a,n.push(s)}i()}return e}var Uy=1146114865,hl=1,Oy=8,aE=65535;function au(t,e){return t<e?-1:t>e?1:0}function cE(t,e,r){if(e==null||e==="")return t.kind==="score"?0:null;if(t.kind==="label")return String(e);if(typeof e!="number"||!Number.isInteger(e)||e<0||e>255)throw new Error(`search shard: preset "${t.name}" of ${r} must be an integer 0\u2013255, got ${JSON.stringify(e)}`);return e}function bl(t,e,r){if(r.fields.length===0||r.fields.length>Oy)throw new Error(`search shard: 1\u2013${Oy} fields required, got ${r.fields.length}`);if(r.relations.length>255||r.presets.length>255)throw new Error("search shard: at most 255 relations and 255 presets");let n=[...e].sort((m,h)=>au(m.wireId,h.wireId));for(let m=1;m<n.length;m++)if(n[m].wireId===n[m-1].wireId)throw new Error(`search shard: duplicate wireId ${n[m].wireId}`);let o=n.length,i=r.fields.length,s=r.fields.map(()=>new Uint32Array(o)),a=new Map;n.forEach((m,h)=>{r.fields.forEach((b,w)=>{let x=su(m.fields[b]);s[w][h]=x.length;for(let y of x){let I=a.get(y);I||(I={docs:[],tf:[]},a.set(y,I));let S=I.docs.length-1;if(S<0||I.docs[S]!==h){I.docs.push(h);for(let P=0;P<i;P++)I.tf.push(0)}let A=(I.docs.length-1)*i+w;I.tf[A]=Math.min(aE,I.tf[A]+1)}})});let c=[...a.keys()].sort(),u=new Uint32Array(c.length+1),d=0;c.forEach((m,h)=>{u[h]=d,d+=a.get(m).docs.length}),u[c.length]=d;let l=new Uint32Array(d),p=new Uint16Array(d*i);c.forEach((m,h)=>{let{docs:b,tf:w}=a.get(m);l.set(b,u[h]),p.set(w,u[h]*i)});let f=r.relations.map(m=>{let h=n.map(I=>[...new Set(I.relations?.[m]??[])]),b=[...new Set(h.flat())].sort(au),w=new Map(b.map((I,S)=>[I,S])),x=new Uint32Array(o+1),y=[];return h.forEach((I,S)=>{x[S]=y.length,y.push(...I.map(A=>w.get(A)).sort((A,P)=>A-P))}),x[o]=y.length,{name:m,ids:b,offsets:x,values:Uint32Array.from(y)}}),g=r.presets.map(m=>{let h=n.map(y=>cE(m,y.presets?.[m.name],y.wireId)),b=new Uint8Array(o);if(m.kind==="score")return h.forEach((y,I)=>{b[I]=y}),{name:m.name,kind:m.kind,labels:[],values:b};let w=[...new Set(h.filter(y=>y!==null))].sort();if(w.length>255)throw new Error(`search shard: label preset "${m.name}" has ${w.length} distinct values (max 255)`);let x=new Map(w.map((y,I)=>[y,I+1]));return h.forEach((y,I)=>{b[I]=y===null?0:x.get(y)}),{name:m.name,kind:m.kind,labels:w,values:b}});return{lang:t,wireIds:n.map(m=>m.wireId),fields:[...r.fields],fieldLengths:s,relations:f,presets:g,terms:c,postingOffsets:u,postingDocs:l,postingTf:p}}var Fy=class{constructor(){this.buf=new Uint8Array(65536);this.pos=0;this.encoder=new TextEncoder}reserve(e){if(this.pos+e<=this.buf.length)return;let r=this.buf.length*2;for(;r<this.pos+e;)r*=2;let n=new Uint8Array(r);n.set(this.buf.subarray(0,this.pos)),this.buf=n}u8(e){this.reserve(1),this.buf[this.pos++]=e}u32(e){this.reserve(4),this.buf[this.pos++]=e>>>24&255,this.buf[this.pos++]=e>>>16&255,this.buf[this.pos++]=e>>>8&255,this.buf[this.pos++]=e&255}varuint(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`search shard: varuint out of range: ${e}`);for(this.reserve(8);e>=128;)this.buf[this.pos++]=e%128|128,e=Math.floor(e/128);this.buf[this.pos++]=e}varbig(e){if(e<0n)throw new Error(`search shard: negative id ${e}`);for(this.reserve(10);e>=0x80n;)this.buf[this.pos++]=Number(e&0x7fn)|128,e>>=7n;this.buf[this.pos++]=Number(e)}bytes(e){this.reserve(e.length),this.buf.set(e,this.pos),this.pos+=e.length}str(e){let r=this.encoder.encode(e);this.varuint(r.length),this.bytes(r)}finish(){return this.buf.slice(0,this.pos)}},jy=class{constructor(e){this.buf=e;this.pos=0;this.decoder=new TextDecoder}need(e){if(this.pos+e>this.buf.length)throw new Error("search shard: truncated")}u8(){return this.need(1),this.buf[this.pos++]}u32(){this.need(4);let e=this.buf,r=this.pos;return this.pos+=4,(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])>>>0}varuint(){let e=0,r=1;for(;;){let n=this.u8();if(e+=(n&127)*r,n<128)return e;if(r*=128,r>Number.MAX_SAFE_INTEGER)throw new Error("search shard: varuint overflow")}}varbig(){let e=0n,r=0n;for(;;){let n=this.u8();if(e|=BigInt(n&127)<<r,n<128)return e;if(r+=7n,r>63n)throw new Error("search shard: id overflow")}}bytes(e){this.need(e);let r=this.buf.subarray(this.pos,this.pos+e);return this.pos+=e,r}str(){return this.decoder.decode(this.bytes(this.varuint()))}get done(){return this.pos===this.buf.length}};function fw(t,e){let r=0n;e.forEach((n,o)=>{t.varbig(o===0?n:n-r),r=n})}function mw(t,e){let r=new Array(e),n=0n;for(let o=0;o<e;o++)n=o===0?t.varbig():n+t.varbig(),r[o]=n;return r}function uE(t,e){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)===e.charCodeAt(n);)n++;return n>0&&n<e.length&&(e.charCodeAt(n)&64512)===56320&&n--,n}function dE(t){let e=new Fy,r=t.wireIds.length,n=t.fields.length;e.u32(Uy),e.u8(hl),e.u8(0),e.str(t.lang),e.varuint(r),e.u8(n);for(let i of t.fields)e.str(i);fw(e,t.wireIds);for(let i of t.fieldLengths)for(let s of i)e.varuint(s);e.u8(t.relations.length);for(let i of t.relations){e.str(i.name),e.varuint(i.ids.length),fw(e,i.ids);for(let s=0;s<r;s++){e.varuint(i.offsets[s+1]-i.offsets[s]);for(let a=i.offsets[s];a<i.offsets[s+1];a++)e.varuint(i.values[a])}}e.u8(t.presets.length);for(let i of t.presets){if(e.str(i.name),e.u8(i.kind==="score"?0:1),i.kind==="label"){e.varuint(i.labels.length);for(let s of i.labels)e.str(s)}e.bytes(i.values)}e.varuint(t.terms.length);let o="";for(let i of t.terms){let s=uE(o,i);e.varuint(s),e.str(i.slice(s)),o=i}for(let i=0;i<t.terms.length;i++){let s=t.postingOffsets[i],a=t.postingOffsets[i+1];e.varuint(a-s);let c=0;for(let u=s;u<a;u++){let d=t.postingDocs[u];e.varuint(u===s?d:d-c),c=d;let l=0;for(let p=0;p<n;p++)t.postingTf[u*n+p]>0&&(l|=1<<p);e.u8(l);for(let p=0;p<n;p++)l&1<<p&&e.varuint(t.postingTf[u*n+p])}}return e.finish()}function yl(t,e,r){if(t>=e)throw new Error(`search shard: ${r} ${t} out of range (< ${e})`);return t}function _y(t){let e=new jy(t instanceof Uint8Array?t:new Uint8Array(t)),r=e.u32();if(r!==Uy)throw new Error(`Invalid search shard magic 0x${r.toString(16)} (expected DPS1)`);let n=e.u8();if(n!==hl)throw new Error(`Unsupported search shard format version ${n} (this reader handles ${hl})`);e.u8();let o=e.str(),i=e.varuint(),s=e.u8();if(s===0||s>Oy)throw new Error(`search shard: bad field count ${s}`);let a=Array.from({length:s},()=>e.str()),c=mw(e,i),u=a.map(()=>{let w=new Uint32Array(i);for(let x=0;x<i;x++)w[x]=e.varuint();return w}),d=Array.from({length:e.u8()},()=>{let w=e.str(),x=mw(e,e.varuint()),y=new Uint32Array(i+1),I=[];for(let S=0;S<i;S++){y[S]=I.length;let A=e.varuint();for(let P=0;P<A;P++)I.push(yl(e.varuint(),x.length,`relation "${w}" id index`))}return y[i]=I.length,{name:w,ids:x,offsets:y,values:Uint32Array.from(I)}}),l=Array.from({length:e.u8()},()=>{let w=e.str(),x=e.u8()===0?"score":"label",y=x==="label"?Array.from({length:e.varuint()},()=>e.str()):[],I=e.bytes(i).slice();return x==="label"&&I.forEach(S=>yl(S,y.length+1,`preset "${w}" label`)),{name:w,kind:x,labels:y,values:I}}),p=e.varuint(),f=new Array(p),g="";for(let w=0;w<p;w++){let x=e.varuint();g=g.slice(0,x)+e.str(),f[w]=g}let m=new Uint32Array(p+1),h=[],b=[];for(let w=0;w<p;w++){m[w]=h.length;let x=e.varuint(),y=0;for(let I=0;I<x;I++){y=yl(I===0?e.varuint():y+e.varuint(),i,"posting doc"),h.push(y);let S=yl(e.u8(),1<<s,"posting field mask");for(let A=0;A<s;A++)b.push(S&1<<A?e.varuint():0)}}if(m[p]=h.length,!e.done)throw new Error("search shard: trailing bytes");return{lang:o,wireIds:c,fields:a,fieldLengths:u,relations:d,presets:l,terms:f,postingOffsets:m,postingDocs:Uint32Array.from(h),postingTf:Uint16Array.from(b)}}var $y={quality:["illustrations","educationQuality","practicality","accessibilityLevel"],education:["pedagogicalScaffolding","clarityOfExplanation","workedExamples","exercisesAndAssessment","selfStudyReadiness","referenceApparatus","safetyGuidance","contentCurrency"],themeRelevance:["ecoRegeneration","communityLiving","promotesPeace","businessDevelopment"]},gw={no_ecological_harm:"noEcologicalHarm",no_ai_generation:"noAiGeneration",no_explicit_or_violence:"noExplicitOrViolence",no_stolen_content:"noStolenContent",no_politics:"noPolitics",no_spirituality:"noSpirituality",no_history:"noHistory",no_medicine:"noMedicine",no_fiction:"noFiction",no_psychological_profiling:"noPsychologicalProfiling"},yw={electronic_warfare:"watchlistElectronicWarfare",interrogation:"watchlistInterrogation",distillation:"watchlistDistillation",alcohol:"watchlistAlcohol"},zy=t=>({name:t,kind:"score"}),oa=t=>({name:t,kind:"label"}),wl={fields:["title","authors","description"],relations:["topic","author"],presets:[...Object.values($y).flat().map(zy),zy("overallScore"),...Object.values(gw).map(zy),oa("teacherMaterials"),...Object.values(yw).map(oa),oa("ageGradeBand"),oa("screenResult"),oa("dsafeTextQuality"),oa("copyrightStatus")]},Hy=[...Object.values($y).flat(),"teacherMaterials"],Il={title:3,authors:2,description:1},xl=t=>typeof t=="number"&&Number.isInteger(t)&&t>=0&&t<=255?t:void 0;function hw(t,e,r){let n={};for(let[s,a]of Object.entries($y))for(let c of a){let u=xl(t?.[c]);n[c]=r?.has(c)||u?u??null:xl(e?.[s]?.[c]?.score)??null}n.overallScore=xl(e?.dsafe?.overallScore)??null;for(let[s,a]of Object.entries(gw))n[a]=xl(e?.dsafe?.exclusions?.[s]?.score)??null;let o=r?.has("teacherMaterials")||t?.teacherMaterials===!0?t?.teacherMaterials:e?.education?.teacherMaterials;n.teacherMaterials=typeof o=="boolean"?o:null;for(let[s,a]of Object.entries(yw)){let c=e?.dsafe?.watchlistTopics?.[s]?.present;n[a]=typeof c=="boolean"?c:null}let i=s=>typeof s=="string"&&s!==""?s:null;return n.ageGradeBand=i(e?.education?.ageGradeBand),n.screenResult=i(e?.dsafe?.screenResult),n.dsafeTextQuality=i(e?.dsafe?.textQuality),n.copyrightStatus=i(e?.metadata?.copyrightStatus),n}function Wy(t,e="deepseek",r="deepseek-chat"){let n=t?.get(e)?.get(r),o;for(let i of n??[])(!o||i.ts>o.ts)&&(o=i);return o?.value}function cu(t){return t.safe===!1||t.deleted===!0||!t.title?null:{wireId:t.wireId,fields:{title:t.title,authors:t.authorNames.filter(Boolean).join(", "),description:t.description??""},relations:{topic:[...t.topicIds],author:[...t.authorIds]},presets:hw(t.extended,t.ai,t.curated)}}var bw=1.2,xw=.75,lE=.6,ww=new WeakMap;function Sl(t){let e=ww.get(t);return e||(e={presets:new Map(t.presets.map(r=>[r.name,r])),relations:new Map(t.relations.map(r=>[r.name,r]))},ww.set(t,e)),e}function Gy(t,e){let r=t?t.values[e]:0;return r===0?null:t.kind==="label"?t.labels[r-1]:r}var pE=/[\p{L}\p{N}\p{M}]+$/u;function fE(t){let e=su(t);if(/\s$/u.test(t))return{words:[...new Set(e)],prefixWord:null};let r=pE.exec(gl(t))?.[0];return r&&Array.from(r).length===1&&e[e.length-1]!==r&&e.push(r),{words:[...new Set(e)],prefixWord:e.length?e[e.length-1]:null}}function mE(t,e){let r=0,n=t.length;for(;r<n;){let o=r+n>>>1;t[o]<e?r=o+1:n=o}return r}function Vy(t,e){let r=0,n=t.length-1;for(;r<=n;){let o=r+n>>>1;if(t[o]===e)return o;t[o]<e?r=o+1:n=o-1}return-1}var ia=class{constructor(e={}){this.langs=new Map;this.hidden=new Set;this.fieldWeights=e.fieldWeights??{}}state(e){let r=this.langs.get(e);return r||(r={published:[],overlay:null,hidden:new Set,resolved:null,stats:null},this.langs.set(e,r)),r}invalidate(e){e.resolved=null,e.stats=null}addShard(e){let r=this.state(e.lang);r.published.push(e),this.invalidate(r)}clearPublished(e){let r=this.langs.get(e);r&&(r.published=[],this.invalidate(r))}setOverlay(e,r){if(r&&r.lang!==e)throw new Error(`overlay shard is ${r.lang}, not ${e}`);let n=this.state(e);n.overlay=r,this.invalidate(n)}hide(e){for(let r of e)this.hidden.add(r);for(let r of this.langs.values())r.stats=null}unhide(e){for(let r of e)this.hidden.delete(r);for(let r of this.langs.values())r.stats=null}setHidden(e){this.hidden.clear(),this.hide(e)}hideForLanguage(e,r){let n=this.state(e);for(let o of r)n.hidden.add(o);n.stats=null}unhideForLanguage(e,r){let n=this.state(e);for(let o of r)n.hidden.delete(o);n.stats=null}setHiddenForLanguage(e,r){let n=this.state(e);n.hidden.clear();for(let o of r)n.hidden.add(o);n.stats=null}publishedPresets(e,r){let n=this.langs.get(e);if(n)for(let o=n.published.length-1;o>=0;o--){let i=n.published[o],s=Vy(i.wireIds,r);if(s<0)continue;let a={};for(let c of i.presets){let u=Gy(c,s);u!==null&&(a[c.name]=u)}return a}}publishedIdsWithRelation(e,r,n){let o=[];for(let i of this.langs.get(e)?.published??[]){let s=Sl(i).relations.get(r),a=s?Vy(s.ids,n):-1;if(!(a<0)){for(let c=0;c<i.wireIds.length;c++)for(let u=s.offsets[c];u<s.offsets[c+1];u++)if(s.values[u]===a){o.push(i.wireIds[c]);break}}}return o}languages(){return[...this.langs.entries()].filter(([,e])=>e.published.length>0||e.overlay).map(([e])=>e)}size(e){return this.stats(this.state(e)).docCount}resolve(e){if(e.resolved)return e.resolved;let r=new Map;for(let n of[...e.published,...e.overlay?[e.overlay]:[]])n.wireIds.forEach((o,i)=>r.set(o,{shard:n,doc:i}));return e.resolved=r,r}isLive(e,r,n){let o=r.wireIds[n];if(this.hidden.has(o)||e.hidden.has(o))return!1;let i=this.resolve(e).get(o);return i!==void 0&&i.shard===r&&i.doc===n}stats(e){if(e.stats)return e.stats;let r=new Map,n=0;for(let i of this.resolve(e).values()){let s=i.shard.wireIds[i.doc];this.hidden.has(s)||e.hidden.has(s)||(n++,i.shard.fields.forEach((a,c)=>r.set(a,(r.get(a)??0)+i.shard.fieldLengths[c][i.doc])))}let o=new Map;for(let[i,s]of r)o.set(i,n?s/n:0);return e.stats={docCount:n,avgLen:o},e.stats}shardsOf(e){return e.overlay?[...e.published,e.overlay]:e.published}search(e){let r=this.state(e.lang),n=this.shardsOf(r),{words:o,prefixWord:i}=fE(e.text??""),s=e.fieldWeights??this.fieldWeights,a=null;if(o.length>0){let{docCount:m,avgLen:h}=this.stats(r);for(let b of o){let w=this.scoreWord(n,b,b===i,m,h,s);if(a===null){a=w;continue}let x=new Map;for(let[y,I]of a){let S=w.get(y);if(!S)continue;let A=new Map;for(let[P,N]of I){let T=S.get(P);T!==void 0&&A.set(P,N+T)}A.size&&x.set(y,A)}a=x}}let c=[],u=this.compileFilters(e.filters),d=(m,h,b)=>{this.isLive(r,m,h)&&u(m,h)&&c.push({shard:m,doc:h,score:b})};if(a===null)for(let m of n)for(let h=0;h<m.wireIds.length;h++)d(m,h,0);else for(let[m,h]of a)for(let[b,w]of h)d(m,b,w);let l=(m,h)=>h.score-m.score||au(m.shard.wireIds[m.doc],h.shard.wireIds[h.doc]);if(e.sort){let{preset:m,dir:h="desc"}=e.sort,b=h==="asc"?1:-1,w=c.map(x=>({h:x,v:Gy(Sl(x.shard).presets.get(m),x.doc)}));w.sort((x,y)=>x.v!==y.v?x.v===null?1:y.v===null?-1:(x.v<y.v?-1:1)*b:l(x.h,y.h)),w.forEach((x,y)=>{c[y]=x.h})}else c.sort(l);let p={};for(let m of e.facets??[])p[m]=this.countFacet(m,c);let f=e.offset??0,g=e.limit??20;return{total:c.length,hits:c.slice(f,f+g).map(m=>({wireId:m.shard.wireIds[m.doc],score:m.score})),facets:p}}scoreWord(e,r,n,o,i,s){let a=e.map(d=>{let l=[],p=mE(d.terms,r);if(p<d.terms.length&&d.terms[p]===r&&(l.push({t:p,exact:!0}),p++),n)for(;p<d.terms.length&&d.terms[p].startsWith(r);p++)l.push({t:p,exact:!1});return l}),c=new Map;e.forEach((d,l)=>{for(let{t:p}of a[l]){let f=d.terms[p];c.set(f,(c.get(f)??0)+d.postingOffsets[p+1]-d.postingOffsets[p])}});let u=new Map;return e.forEach((d,l)=>{if(a[l].length===0)return;let p=d.fields.length,f=d.fields.map(h=>s?.[h]??1),g=d.fields.map(h=>i.get(h)||1),m=new Map;for(let{t:h,exact:b}of a[l]){let w=Math.min(c.get(d.terms[h]),o),x=Math.log(1+(o-w+.5)/(w+.5)),y=b?1:lE;for(let I=d.postingOffsets[h];I<d.postingOffsets[h+1];I++){let S=d.postingDocs[I],A=0;for(let T=0;T<p;T++){let M=d.postingTf[I*p+T];M&&(A+=f[T]*M/(1-xw+xw*d.fieldLengths[T][S]/g[T]))}let P=y*x*(A*(bw+1)/(A+bw)),N=m.get(S);(N===void 0||P>N)&&m.set(S,P)}}m.size&&u.set(d,m)}),u}compileFilters(e){let r=Object.entries(e?.presets??{}).filter(([,s])=>!("in"in s)||s.in.length>0),n=Object.entries(e?.relations??{}).filter(([,s])=>s.length>0).map(([s,a])=>[s,a.map(c=>BigInt(c))]);if(r.length===0&&n.length===0)return()=>!0;let o=new WeakMap,i=s=>{let a=[],{presets:c,relations:u}=Sl(s);for(let[d,l]of r){let p=c.get(d);if("in"in l){let f=new Set;p&&l.in.forEach(g=>{let m=p.labels.indexOf(g);m>=0&&f.add(m+1)}),a.push(g=>p!==void 0&&f.has(p.values[g]))}else{let f=l.min??0,g=l.max??255;a.push(m=>{let h=p?p.values[m]:0;return h===0?l.includeUnknown===!0:h>=f&&h<=g})}}for(let[d,l]of n){let p=u.get(d),f=new Set;if(p)for(let g of l){let m=Vy(p.ids,g);m>=0&&f.add(m)}a.push(g=>{if(!p||f.size===0)return!1;for(let m=p.offsets[g];m<p.offsets[g+1];m++)if(f.has(p.values[m]))return!0;return!1})}return d=>a.every(l=>l(d))};return(s,a)=>{let c=o.get(s);return c||(c=i(s),o.set(s,c)),c(a)}}countFacet(e,r){let n={},o=i=>{n[i]=(n[i]??0)+1};for(let{shard:i,doc:s}of r){let{presets:a,relations:c}=Sl(i),u=a.get(e);if(u){let l=Gy(u,s);l!==null&&o(String(l));continue}let d=c.get(e);if(d)for(let l=d.offsets[s];l<d.offsets[s+1];l++)o(d.ids[d.values[l]].toString())}return n}};var uu=class extends Error{constructor(e,r){super(`Sidecar temporarily unavailable (${r}): ${e}`),this.name="SidecarFetchError"}},gE=18,Iw=[500,1500,4e3],yE=t=>{if(t.byteLength!==2)return!1;let e=new Uint8Array(t);return e[0]===123&&e[1]===125};async function hE(t,e=!1){let r;for(let n=0;n<Iw.length+1;n++)try{let o=n===0?t:`${t}${t.includes("?")?"&":"?"}_retry=${n}`,i=await fetch(o,n===0?void 0:{cache:"reload"});if(!i.ok)throw new uu(t,`HTTP ${i.status}`);let s=await i.arrayBuffer();if(s.byteLength<gE&&!(e&&yE(s)))throw new uu(t,`only ${s.byteLength} byte(s) returned`);return s}catch(o){r=o;let i=Iw[n];i!==void 0&&await new Promise(s=>setTimeout(s,i))}throw r instanceof Error?r:new uu(t,String(r))}async function bE(t){let e=new Uint8Array(t,0,Math.min(2,t.byteLength));if(e[0]!==31||e[1]!==139)return t;let r=new DecompressionStream("gzip"),n=r.writable.getWriter(),o=r.readable.getReader();n.write(new Uint8Array(t)),n.close();let i=[],s=!1;for(;!s;){let{value:d,done:l}=await o.read();d&&i.push(d),s=l}let a=i.reduce((d,l)=>d+l.byteLength,0),c=new Uint8Array(a),u=0;for(let d of i)c.set(d,u),u+=d.byteLength;return c.buffer}async function Sw(t,e=!1){return bE(await hE(t,e))}var xE=500,wE=150,vw=()=>new Promise(t=>setTimeout(t,0));function vl(t,e){let r=M1(W.type,t.id),n={},o=new Set;for(let s of Hy){let a=Xs[s];n[s]=t.getProp(a,e);let c=r?.properties.get(a)?.some(({langId:u})=>{let d=vn[u]??"";return d===""||d===e});(t.getProvenance(a,e)!==0||c)&&o.add(s)}let i=t.authorsIds;return{wireId:t.id,title:t.getTitle(e),description:t.getDescription(e),safe:t.getProp(Xs.safe,e)??!0,deleted:t.getProp(Xs.deleted,e)??!1,authorIds:i,authorNames:i.map(s=>Ue.Has(s)?Ue.Load(s).getTitle(e):null),topicIds:t.inTagsIds,extended:n,ai:Wy(t.getAiResults(e)),curated:o}}var IE=()=>{let t;return{promise:new Promise(r=>{t=r}),resolve:t}},Al=class{constructor(){this.index=new ia({fieldWeights:Il});this.states=new Map;this.loads=new Map;this.waiters=new Map;this.listeners=new Set;this.dirtyBooks=new Set;this.dirtyTags=new Set;this.dirtyPersons=new Set;this.removedByOverlay=new Map;this.generation=0;this.overlayTimer=null;this.unhook=null}trackLocalChanges(){if(this.unhook)return;let e=di({track(){},trigger:n=>this.onRecordChanged(n)}),r=jn.subscribe(W.type,()=>{this.syncHidden(),this.notify()});this.unhook=()=>{e(),r()}}load(e,r){let n=this.loads.get(e);return n||(n=this.doLoad(e,r,this.generation),this.loads.set(e,n)),n}ready(e=ne.userLang){let r=this.states.get(e)?.status;return r==="ready"||r==="error"?Promise.resolve():this.waiter(e).promise}state(e=ne.userLang){return this.states.get(e)??{status:"idle",source:null,shards:0}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}search(e){let r=e.lang??ne.userLang,n=e.filters?.relations?.topic,o=n?.length?{...e.filters,relations:{...e.filters.relations,topic:Aw(n.map(i=>BigInt(i)))}}:e.filters;return this.index.search({...e,lang:r,filters:o})}reset(){this.generation++,this.unhook?.(),this.unhook=null,this.overlayTimer&&clearTimeout(this.overlayTimer),this.overlayTimer=null;for(let e of this.waiters.values())e.resolve();this.index=new ia({fieldWeights:Il});for(let e of[this.dirtyBooks,this.dirtyTags,this.dirtyPersons])e.clear();this.removedByOverlay.clear(),this.states.clear(),this.loads.clear(),this.waiters.clear(),this.listeners.clear()}waiter(e){let r=this.waiters.get(e);return r||(r=IE(),this.waiters.set(e,r)),r}setState(e,r){this.states.set(e,{...this.state(e),...r}),this.notify()}async doLoad(e,r,n){if(this.setState(e,{status:"loading",source:r.length?"published":"records",shards:0,error:void 0}),n===this.generation)try{if(r.length){let o=r.map(i=>Sw(i));o.forEach(i=>i.catch(()=>{}));for(let i of o){let s=_y(await i);if(n!==this.generation)return;if(s.lang!==e)throw new Error(`search shard is ${s.lang}, expected ${e}`);if(this.index.addShard(s),this.setState(e,{shards:this.state(e).shards+1}),await vw(),n!==this.generation)return}}else await this.buildFromRecords(e,n);if(n!==this.generation)return;this.rebuildOverlay(e),this.syncHidden(e),this.setState(e,{status:"ready"})}catch(o){if(n!==this.generation)return;console.warn(`[search] ${e} index unavailable; search is off for this language`,o),this.index.clearPublished(e),this.loads.delete(e),this.setState(e,{status:"error",shards:0,error:o instanceof Error?o.message:String(o)})}finally{n===this.generation&&(this.waiters.get(e)?.resolve(),this.waiters.delete(e))}}async buildFromRecords(e,r){let n=new Set,o=[],i=async()=>r!==this.generation?!1:o.length?(this.index.addShard(bl(e,o,wl)),this.setState(e,{shards:this.state(e).shards+1}),o=[],await vw(),r===this.generation):!0;for(let s of An().get(W.type)?.values()??[]){let a=s;if(n.has(a.id))continue;n.add(a.id);let c=cu(vl(a,e));if(c&&o.push(c),o.length>=xE&&!await i())return}await i()}onRecordChanged(e){let r=e?.id;if(typeof r=="bigint"){switch(e.objectType){case W.type:this.dirtyBooks.add(r);break;case Q.type:this.dirtyTags.add(r);for(let n of e.booksIds??[])this.dirtyBooks.add(n);break;case Ue.type:this.dirtyPersons.add(r);for(let n of e.inAuthorOfIds??[])this.dirtyBooks.add(n);break;default:return}this.overlayTimer===null&&(this.overlayTimer=setTimeout(()=>{this.overlayTimer=null;for(let n of this.states.keys())this.rebuildOverlay(n);this.syncHidden(),this.notify()},wE))}}changedBooks(e){let r=new Set(this.dirtyBooks);for(let n of this.dirtyTags)for(let o of this.index.publishedIdsWithRelation(e,"topic",n))r.add(o);for(let n of this.dirtyPersons)for(let o of this.index.publishedIdsWithRelation(e,"author",n))r.add(o);return r}rebuildOverlay(e){let r=[],n=this.removedByOverlay.get(e);n||this.removedByOverlay.set(e,n=new Set);for(let o of this.changedBooks(e)){let i=W.Has(o)?cu(vl(W.Load(o),e)):null;if(!i){n.add(o);continue}n.delete(o);let s=this.index.publishedPresets(e,o),a=i.presets;if(s)for(let[c,u]of Object.entries(s))a[c]==null&&(a[c]=u);r.push(i)}this.index.setOverlay(e,r.length?bl(e,r,wl):null)}syncHidden(e){let r=e?[e]:[...this.states.keys()],n=jn.list(W.type);for(let o of r){let i=new Set(this.removedByOverlay.get(o)??[]);for(let s of n)(!W.Has(s)||!cu(vl(W.Load(s),o)))&&i.add(s);this.index.setHiddenForLanguage(o,i)}}notify(){for(let e of this.listeners)try{e()}catch(r){console.error("[search] listener failed",r)}}};function Aw(t){let e=new Set,r=[...t];for(;r.length;){let n=r.pop();e.has(n)||(e.add(n),Q.Has(n)&&r.push(...Q.Load(n).tagsIds))}return[...e]}var Nr=new Al;var Zy={};vt(Zy,{bootstrapModelsV2:()=>jE,clearLocalPatches:()=>Mw,installVueReactivity:()=>$w,loadSearch:()=>Nl,resetModelsV2Session:()=>kw,useBookSearch:()=>HE,useDraft:()=>$E,useLevel:()=>UE,useStatsTick:()=>zE,useTrash:()=>_E});var ye=wo(Un(),1);var SE=(t,e)=>{typeof window<"u"&&typeof CustomEvent<"u"&&window.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0}))},Ky=class{constructor(e){this._rrRequest={};this._eventListeners={};this._proReady=Je();this._counter=0;this._worker=new Worker(e,{type:"module"}),this._rrRequest={},this._worker.addEventListener("message",r=>{this._onMessage(r.data)}),this._worker.addEventListener("messageerror",r=>{this._onError(r)}),this._worker.onerror=r=>this._onError(r),this.addEventListener("workerready",()=>{this._proReady.resolve(!0)}),this.addEventListener("workerLoadingError",r=>{console.log("Worker loading Error",r),this._proReady.reject(r)})}get ready(){return this._proReady.pro}addEventListener(e,r){e in this._eventListeners||(this._eventListeners[e]=[]),this._eventListeners[e].push(r)}_onMessage(e){let{id:r,result:n,eventName:o,payload:i}=e;if(o&&o!=="undefined"&&o.length>0){SE(o,i),o in this._eventListeners&&this._eventListeners[o].forEach(c=>c(i));return}let{data:s,error:a}=n;if(r in this._rrRequest){let{res:c,rej:u}=this._rrRequest[r];delete this._rrRequest[r],a?u(a):c(s)}else console.error("nop; invalid request id:",r)}_onError(e){console.error("error in Thread",this,e),this._cancelPendingRequests()}_sendRequest(e,r={transferables:[]}){return new Promise((n,o)=>{let i;do i=`req-id-${this._counter}-${Math.random()}`,this._counter+=1;while(i in this._rrRequest);this._rrRequest[i]={res:n,rej:o},this._worker?this._worker.postMessage({id:i,data:e},r.transferables.length>0?r.transferables:void 0):console.log("_sendRequest(): nop (worker already terminated?)")})}sendRequest(e,r=[]){return this._sendRequest(e,{transferables:r})}getWorker(){return this._worker}_cancelPendingRequests(){let e=0;if(Object.entries(this._rrRequest).forEach(([r,n])=>{n.rej(`canceled: ${r}`),delete this._rrRequest[r],e+=1}),Object.keys(this._rrRequest).length!==0)throw"panic: the rr map should have been cleared!"}terminate(){this._cancelPendingRequests();let e=null;return this._worker.terminate(),this._worker=null,e||void 0}},Pl,sa=Je(),Ew=async t=>(sa.isStarted()||(sa.start(),Pl=new Ky(t),Pl.addEventListener("workerready",()=>{sa.resolve(Pl)}),Pl.addEventListener("workerLoadingError",e=>{sa.reject(e)})),sa.pro);var El=null,Tw=async t=>{t.cacheLimit&&$g({cacheLimit:t.cacheLimit}),El===null&&(El=await Ew(t.workerPath??"/patch-worker.js")),$.initThread(El);let e=await El.sendRequest({cmd:"init",payload:{sidecars:t.sidecars,selectedLangs:t.selectedLangs}}),r=await Qr("mine");return Tr(rl(r).filter(n=>!Te(n))),await ct.calculateLevel("mine"),console.log("InitPatchWorker() done"),e};var Nw="https://arweave.net",Qy=t=>t.replace(/\/+$/,""),du=(t,e)=>e?`${Qy(t)}/${e}`:void 0,lu=(t,e)=>e?`${Qy(t)}/${e}`:void 0;function vE(t,e,r,n=!1){let o=[];for(let[i,s]of Object.entries(e.objects??{}))for(let a of r){let c=s.tiers.slim?.find(p=>p.file.startsWith(`${a}_`)),u=s.tiers.extended?.find(p=>p.file.startsWith(`${a}_`)),d=s.tiers.prov?.find(p=>p.file.startsWith(`${a}_`)),l=s.tiers["ai-for-D-safe"]?.find(p=>p.file.startsWith(`${a}_`));!c&&!u&&!d||o.push({objectType:Number(i),lang:a,slimUrl:du(t,c?.file),extendedUrl:du(t,u?.file),provUrl:du(t,d?.file),aiUrl:n?du(t,l?.file):void 0})}return o}function AE(t,e,r=Nw,n=!1){let o=[];for(let[i,s]of Object.entries(t.objects??{}))for(let a of e){let c=s[a];c&&o.push({objectType:Number(i),lang:a,slimUrl:lu(r,c.slim?.[0]),extendedUrl:lu(r,c.extended?.[0]),provUrl:lu(r,c.prov?.[0]),aiUrl:n?lu(r,c["ai-for-D-safe"]?.[0]):void 0})}return o}function PE(t,e,r){let n=o=>Number(/_(\d+)\.bin$/.exec(o)?.[1]??0);return(e.objects?.["0"]?.tiers.search??[]).filter(o=>o.file.startsWith(`${r}_`)).sort((o,i)=>n(o.file)-n(i.file)).map(o=>du(t,o.file))}function EE(t,e,r=Nw){return(t.objects?.["0"]?.[e]?.search??[]).map(n=>lu(r,n))}function TE(){let t=0;for(let e of An().values())for(let r of e.values())r.restoreInverses(),t++;return t}function CE(t,e){Ze.bootstrapSidecars(t);let r=new Map(e.map(i=>[i.type,i.create])),n=0,o=Oc();tl(o||"mine");try{for(let i of t){let s=r.get(i.objectType);if(!s)continue;let a=i.slim?So(i.slim):null,c=i.extended?So(i.extended):null,u=i.prov?So(i.prov):null;for(let[d,l]of i.idIndex){let p=typeof d=="bigint"?d:BigInt(d),f=s(p);a&&f.mergeSlim(a,l,i.lang),c&&f.mergeExtended(c,l,i.lang),u&&f.mergeProv(u,l,i.lang);let g=i.ai?.get(p);if(g)for(let[m,h]of g.entries())for(let[b,w]of h.entries())for(let x of w)f.attachAiResult(m,b,i.lang,x);n++}}}finally{tl(o)}return TE(),Ly(),n}async function RE(t){Cr.init(await me()),sy(t.userLang);let e=t.selectedLangs??[t.userLang],r=t.loadAiSidecars||!1;ay(r);let n;if(t.localMode){let u;if(t.localManifest)u=t.localManifest;else{let d=await fetch(`${Qy(t.localMode)}/corpus-index.json?t=${Date.now()}`);if(!d.ok)throw new Error(`local corpus-index.json fetch failed: ${d.status}`);u=await d.json()}n=vE(t.localMode,u,e,r),Rl=u}else if(t.registry)n=AE(t.registry.dataBlock,e,t.registry.gateway,r);else throw new Error("bootModelsV2: provide `localMode` (folder) or `registry` (data block)");let o=await Tw({workerPath:t.workerPath,sidecars:n,selectedLangs:e});t.search!==!1&&Nr.trackLocalChanges(),Ze.bootstrapSidecars(o.sidecars);let i=CE(o.sidecars,t.models);for(let u of Object.keys(o.patches)){if(u==="mine")continue;let d=o.patches[u];if(!d?.length)continue;let{applied:l,skipped:p}=await Rr(d,u);console.log(`[models_v2] replayed ${d.length} stored patch(es) for followed user "${u}": ${l} applied, ${p} skipped`)}let s=(o.patches.mine??[]).length;console.log(`[models_v2] replaying ${s} patches from IndexedDB...`);let{applied:a,skipped:c}=await Rr(o.patches.mine??[]);console.log(`[models_v2] patch replay complete: ${a} applied, ${c} skipped`),console.log(`[models_v2] booted: ${i} records (${t.localMode?`local ${t.localMode}`:"registry"})`),Br=t;for(let u of e)Bw.add(u);return BE(e),o}var Rl=null;function NE(t){return Br?.localMode?Rl?PE(Br.localMode,Rl,t):[]:Br?.registry?EE(Br.registry.dataBlock,t,Br.registry.gateway):[]}function Nl(t=ne.userLang){return!Br||Br.search===!1?Promise.resolve():Nr.load(t,NE(t))}function BE(t){if(!Br||Br.search===!1)return;let e=()=>{for(let n of t)Nl(n)},r=globalThis.requestIdleCallback;r?r(e,{timeout:2e3}):setTimeout(e,0)}var Br=null,Bw=new Set;var LE=new Set;var Tl=null,Cw=!1,Cl,kE=2,Rw=4e3;async function ME(t){for(let e=0;;e++)try{if(t.init)await t.init();else{let r=await RE(t);await t.onBoot?.(r)}return}catch(r){if(e<kE){console.warn(`[models_v2] boot attempt ${e+1} failed, retrying in ${Rw}ms...`,r),await new Promise(n=>setTimeout(n,Rw));continue}throw console.error("[models_v2] session init failed after retries",r),t.onBootError?.(r),r}}var Lw=(t,e)=>(Cl=t.onNavigate,e(),Tl===null?Tl=ME(t):Cl?.(),typeof document<"u"&&!Cw&&(Cw=!0,document.addEventListener("astro:after-swap",()=>{e(),Cl?.()})),Tl),kw=()=>{Tl=null,Cl=void 0,Br=null,Rl=null,Bw.clear(),LE.clear(),Nr.reset()},Mw=()=>S1();var DE=Symbol("isDraft"),Dw=Symbol("commit"),Ow=Symbol("rollback"),Fw=Symbol("isDirty"),OE=Symbol("changes"),FE=Symbol("target");function jw(t,e){let r=new Map;return new Proxy(t,{get(o,i,s){if(i===DE)return!0;if(i===FE)return o;if(i===Fw)return r.size>0;if(i===OE)return r;if(i===Dw)return()=>{if(r.size!==0){for(let[c,u]of r.entries()){if(!(c in o)){console.warn(`[models_v2 Draft] Failed to commit property "${String(c)}" to target instance of "${o.constructor.name}". This property does not exist on the target (possible typo or misspelled field).`);continue}Reflect.set(o,c,u)||console.warn(`[models_v2 Draft] Failed to commit property "${String(c)}" to target instance of "${o.constructor.name}". This property might be read-only (getter-only relations/IDs).`)}r.clear(),e?.()}};if(i===Ow)return()=>{r.size>0&&(r.clear(),e?.())};if(r.has(i))return r.get(i);let a=Reflect.get(o,i,s);return typeof a=="function"?a.bind(o):a},set(o,i,s,a){return Reflect.get(o,i,a)===s?(r.has(i)&&(r.delete(i),e?.()),!0):(r.set(i,s),e?.(),!0)}})}var Uw=t=>!!t?.[Fw];var _w=t=>t?.[Dw]?.(),zw=t=>t?.[Ow]?.();var Lr=wo(Un(),1);var Bl=null,$w=()=>{if(Bl)return Bl;let t=new WeakMap;return Bl=di({track(r){let n=t.get(r);n||(n=(0,ye.shallowRef)(0),t.set(r,n)),n.value},trigger(r){let n=t.get(r);n&&n.value++}}),Bl},jE=t=>Lw(t,$w),UE=t=>{let e=(0,ye.shallowRef)(0),r=Xg(n=>{n===t&&e.value++});return(0,ye.onUnmounted)(r),(0,ye.computed)(()=>(e.value,Yg(t)))},_E=(t,e=[])=>{let r=(0,ye.shallowRef)(0),n=jn.subscribe(t,()=>{r.value++});return(0,ye.onUnmounted)(n),{count:(0,ye.computed)(()=>(r.value,jn.count(t,e))),getIds:()=>jn.list(t,e)}},zE=()=>{let t=(0,ye.shallowRef)(0);return(0,ye.onUnmounted)(ty(()=>{t.value++})),t},$E=t=>{let e=(0,ye.shallowRef)(0),r=(0,ye.computed)(()=>{let n=typeof t=="function"?t():t.value;return jw(n,()=>{e.value++})});return{draft:r,isDirty:(0,ye.computed)(()=>(e.value,Uw(r.value))),commit:()=>{_w(r.value),e.value++},rollback:()=>{zw(r.value),e.value++}}},HE=(t={})=>{let e=t.pageSize??20,r=(0,Lr.ref)(""),n=(0,Lr.ref)({}),o=(0,Lr.ref)(),i=(0,Lr.ref)(0),s=(0,ye.shallowRef)(0);(0,ye.onUnmounted)(Nr.subscribe(()=>{s.value++}));let a=(0,Lr.ref)(""),c;(0,Lr.watch)(r,g=>{clearTimeout(c),c=setTimeout(()=>{a.value=g},t.debounceMs??120)}),(0,ye.onUnmounted)(()=>clearTimeout(c)),(0,Lr.watch)([a,n,o],()=>{i.value=0},{deep:!0});let u=(0,ye.computed)(()=>(0,Lr.unref)(t.lang)??void 0),d=(0,ye.computed)(()=>(s.value,Nr.state(u.value))),l=(0,ye.computed)(()=>{s.value;let g=performance.now();return{result:Nr.search({lang:u.value,text:a.value,filters:n.value,sort:o.value,limit:e,offset:i.value*e,facets:t.facets}),ms:performance.now()-g}}),p=(g,m)=>{let h={...n.value.presets};m?h[g]=m:delete h[g],n.value={...n.value,presets:h}},f=(g,m)=>{let h={...n.value.relations};m?.length?h[g]=m:delete h[g],n.value={...n.value,relations:h}};return{text:r,filters:n,sort:o,page:i,pageSize:e,state:d,ready:(0,ye.computed)(()=>d.value.status==="ready"),indexedCount:(0,ye.computed)(()=>(s.value,Nr.index.size(u.value??ne.userLang))),result:(0,ye.computed)(()=>l.value.result),elapsedMs:(0,ye.computed)(()=>l.value.ms),pageCount:(0,ye.computed)(()=>Math.max(1,Math.ceil(l.value.result.total/e))),setPresetFilter:p,setRelationFilter:f,clearFilters:()=>{n.value={},o.value=void 0},whenReady:()=>Nr.ready(u.value),load:()=>Nl(u.value)}};var Jb={};vt(Jb,{Browser:()=>qb,CONTRACT_DISPLAY_NAMES:()=>Vb,EventBus:()=>Ym,EventName:()=>wv,EvmClient:()=>bc,EvmWriteClient:()=>xc,LibraryOwnership:()=>Hw,MetaMaskConnector:()=>vc,NodeFileCacheStorage:()=>Ps,PROJECT_CACHE_TTL_MS:()=>Kv,Platform:()=>Kb,PrivateKeyConnector:()=>Sc,RegistryAddressLoader:()=>gc,SubscriptionClient:()=>wc,WalletError:()=>Sv,WalletEvents:()=>lr,WalletState:()=>Iv,WalletUxError:()=>vv,acknowledgeOwnSave:()=>Mb,addressFromPrivateKey:()=>Ad,addressLoader:()=>xe,addressRegistryAbi:()=>Wt,allRegisteredAccounts:()=>$R,createEvmClient:()=>UR,createMetaMaskConnector:()=>I3,createNodeFileCacheStorage:()=>yb,createPrivateKeyConnector:()=>s3,createPrivateKeyWalletClient:()=>Pd,createPrivateKeyWriteClient:()=>a3,createSessionStore:()=>xv,createWriteClient:()=>$b,cursorKey:()=>wd,cursorStore:()=>Ic,dSafeHRStorageAbi:()=>Zv,deserializeCursor:()=>Bv,emptyCursor:()=>QR,formatEther:()=>Rt,getCachedEmail:()=>XR,getConnector:()=>Ob,getContractAbi:()=>hb,getContractDisplayName:()=>Jv,getDecryptedPrivateKey:()=>o3,getEventBus:()=>Xm,getEvmClient:()=>Qm,getPrivateKey:()=>ho,getReadClient:()=>vr,getReadyEvmClient:()=>Zm,getRegisteredConnectors:()=>Fb,getRegistryBaseUrl:()=>gb,getSessionEnvironment:()=>St,getSubscriptionClient:()=>Rb,handleWriteOperationErrors:()=>Gv,hasAnyPrivateKey:()=>r3,hasEncryptedPrivateKey:()=>i3,hasPrivateKey:()=>ig,hasUnsavedPatches:()=>ZR,isOwnWrite:()=>Dv,loadNetworkInfos:()=>JR,loadProject:()=>w3,loadProjects:()=>Gb,parseEther:()=>dd,parseUserAgent:()=>Qb,projectLocale:()=>qv,pythAbi:()=>Ts,readOnlyClients:()=>gv,readOnlyStagingClients:()=>yv,registerConnector:()=>ng,relationshipIndexerStorageAbi:()=>qm,resetTransactionState:()=>Wv,restoreAccountSave:()=>kb,saveMyLevel:()=>h3,serializeCursor:()=>Nv,sessionStore:()=>X,setCachedEmail:()=>e3,setRegistryBaseUrl:()=>mb,setSessionEnvironment:()=>Pb,sidecarUrlsFromManifest:()=>zm,storeEncryptedPrivateKey:()=>n3,storePrivateKey:()=>jv,syncAccount:()=>ri,toViemChain:()=>Xo,walletMeta:()=>v3,writeOperations:()=>Vv});var Hw=(r=>(r[r.Public=0]="Public",r[r.Private=1]="Private",r))(Hw||{});function R(t,e,r){let n=t[e.name];if(typeof n=="function")return n;let o=t[r];return typeof o=="function"?o:i=>e(t,i)}Me();K();var fp=class extends v{constructor(e){super(`Filter type "${e}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};ze();er();Pu();qn();zn();Bo();var t5="/docs/contract/encodeEventTopics";function sn(t){let{abi:e,eventName:r,args:n}=t,o=e[0];if(r){let c=zt({abi:e,name:r});if(!c)throw new bu(r,{docsPath:t5});o=c}if(o.type!=="event")throw new bu(void 0,{docsPath:t5});let i=Ge(o),s=No(i),a=[];if(n&&"inputs"in o){let c=o.inputs?.filter(d=>"indexed"in d&&d.indexed),u=Array.isArray(n)?n:Object.values(n).length>0?c?.map(d=>n[d.name])??[]:[];u.length>0&&(a=c?.map((d,l)=>Array.isArray(u[l])?u[l].map((p,f)=>r5({param:d,value:u[l][f]})):typeof u[l]<"u"&&u[l]!==null?r5({param:d,value:u[l]}):null)??[])}return[s,...a]}function r5({param:t,value:e}){if(t.type==="string"||t.type==="bytes")return ie(Xt(e));if(t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/))throw new fp(t.type);return Tt([t],[e])}H();function Lo(t,{method:e}){let r={};return t.transport.type==="fallback"&&t.transport.onResponse?.(({method:n,response:o,status:i,transport:s})=>{i==="success"&&e===n&&(r[o]=s.request)}),(n=>r[n]||t.request)}async function Bp(t,e){let{address:r,abi:n,args:o,eventName:i,fromBlock:s,strict:a,toBlock:c}=e,u=Lo(t,{method:"eth_newFilter"}),d=i?sn({abi:n,args:o,eventName:i}):void 0,l=await t.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof c=="bigint"?E(c):c,topics:d}]});return{abi:n,args:o,eventName:i,id:l,request:u(l),strict:!!a,type:"event"}}Ne();Ct();Me();K();Qn();ko();Zi();var HT=3;function nr(t,{abi:e,address:r,args:n,docsPath:o,functionName:i,sender:s}){let a=t instanceof jr?t:t instanceof v?t.walk(g=>"data"in g)||t.walk():{},{code:c,data:u,details:d,message:l,shortMessage:p}=a,f=t instanceof fr?new Nu({functionName:i,cause:t}):[HT,cn.code].includes(c)&&(u||d||l||p)||c===rr.code&&d==="execution reverted"&&u?new Fr({abi:e,data:typeof u=="object"?u.data:u,functionName:i,message:a instanceof Zn?d:p??l,cause:t}):t;return new Bi(f,{abi:e,args:n,contractAddress:r,docsPath:o,functionName:i,sender:s})}Ne();K();nn();er();function Kp(t){let e=ie(`0x${t.substring(4)}`).substring(26);return rn(`0x${e}`)}Zt();Jt();qe();H();async function i2({hash:t,signature:e}){let r=he(t)?t:Ae(t),{secp256k1:n}=await Promise.resolve().then(()=>(Ma(),n2));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){let{r:u,s:d,v:l,yParity:p}=e,f=Number(p??l),g=o2(f);return new n.Signature(Ce(u),Ce(d)).addRecoveryBit(g)}let s=he(e)?e:Ae(e);if(te(s)!==65)throw new Error("invalid signature length");let a=ve(`0x${s.slice(130)}`),c=o2(a);return n.Signature.fromCompact(s.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function o2(t){if(t===0||t===1)return t;if(t===27)return 0;if(t===28)return 1;throw new Error("Invalid yParityOrV value")}async function ts({hash:t,signature:e}){return Kp(await i2({hash:t,signature:e}))}ut();ze();H();K();Dp();ze();H();function ao(t,e="hex"){let r=s2(t),n=Ia(new Uint8Array(r.length));return r.encode(n),e==="hex"?oe(n.bytes):n.bytes}function s2(t){return Array.isArray(t)?x8(t.map(e=>s2(e))):w8(t)}function x8(t){let e=t.reduce((o,i)=>o+i.length,0),r=a2(e);return{length:e<=55?1+e:1+r+e,encode(o){e<=55?o.pushByte(192+e):(o.pushByte(247+r),r===1?o.pushUint8(e):r===2?o.pushUint16(e):r===3?o.pushUint24(e):o.pushUint32(e));for(let{encode:i}of t)i(o)}}}function w8(t){let e=typeof t=="string"?De(t):t,r=a2(e.length);return{length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+r+e.length,encode(o){e.length===1&&e[0]<128?o.pushBytes(e):e.length<=55?(o.pushByte(128+e.length),o.pushBytes(e)):(o.pushByte(183+r),r===1?o.pushUint8(e.length):r===2?o.pushUint16(e.length):r===3?o.pushUint24(e.length):o.pushUint32(e.length),o.pushBytes(e))}}}function a2(t){if(t<2**8)return 1;if(t<2**16)return 2;if(t<2**24)return 3;if(t<2**32)return 4;throw new v("Length is too large.")}er();function of(t){let{chainId:e,nonce:r,to:n}=t,o=t.contractAddress??t.address,i=ie(Ke(["0x05",ao([e?E(e):"0x",o,r?E(r):"0x"])]));return n==="bytes"?De(i):i}async function Uo(t){let{authorization:e,signature:r}=t;return ts({hash:of(e),signature:r??e})}H();Ru();va();K();gr();var sf=class extends v{constructor(e,{account:r,docsPath:n,chain:o,data:i,gas:s,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:p}){let f=Ci({from:r?.address,to:l,value:typeof p<"u"&&`${Rt(p)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:i,gas:s,gasPrice:typeof a<"u"&&`${Qe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Qe(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Qe(u)} gwei`,nonce:d});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Estimate Gas Arguments:",f].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}};co();$u();function c2(t,{docsPath:e,...r}){let n=(()=>{let o=_o(t,r);return o instanceof ar?t:o})();return new sf(n,{docsPath:e,...r})}cs();uo();af();fn();Ne();va();K();var Fa=class extends v{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},zo=class extends v{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},cf=class extends v{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Qe(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};qe();K();var ja=class extends v{constructor({blockHash:e,blockNumber:r}){let n="Block";e&&(n=`Block at hash "${e}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}};H();qe();var Zh={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Ua(t,e){let r={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,...t.blockTimestamp!=null&&{blockTimestamp:BigInt(t.blockTimestamp)},chainId:t.chainId?ve(t.chainId):void 0,gas:t.gas?BigInt(t.gas):void 0,gasPrice:t.gasPrice?BigInt(t.gasPrice):void 0,maxFeePerBlobGas:t.maxFeePerBlobGas?BigInt(t.maxFeePerBlobGas):void 0,maxFeePerGas:t.maxFeePerGas?BigInt(t.maxFeePerGas):void 0,maxPriorityFeePerGas:t.maxPriorityFeePerGas?BigInt(t.maxPriorityFeePerGas):void 0,nonce:t.nonce?ve(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?Zh[t.type]:void 0,typeHex:t.type?t.type:void 0,value:t.value?BigInt(t.value):void 0,v:t.v?BigInt(t.v):void 0};return t.authorizationList&&(r.authorizationList=A8(t.authorizationList)),r.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}function A8(t){return t.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function uf(t,e){let r=(t.transactions??[]).map(n=>typeof n=="string"?n:Ua(n));return{...t,baseFeePerGas:t.baseFeePerGas?BigInt(t.baseFeePerGas):null,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,difficulty:t.difficulty?BigInt(t.difficulty):void 0,excessBlobGas:t.excessBlobGas?BigInt(t.excessBlobGas):void 0,gasLimit:t.gasLimit?BigInt(t.gasLimit):void 0,gasUsed:t.gasUsed?BigInt(t.gasUsed):void 0,hash:t.hash?t.hash:null,logsBloom:t.logsBloom?t.logsBloom:null,nonce:t.nonce?t.nonce:null,number:t.number?BigInt(t.number):null,size:t.size?BigInt(t.size):void 0,timestamp:t.timestamp?BigInt(t.timestamp):void 0,transactions:r,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}async function tt(t,{blockHash:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",includeTransactions:o}={}){let i=o??!1,s=r!==void 0?E(r):void 0,a=null;if(e?a=await t.request({method:"eth_getBlockByHash",params:[e,i]},{dedupe:!0}):a=await t.request({method:"eth_getBlockByNumber",params:[s||n,i]},{dedupe:!!s}),!a)throw new ja({blockHash:e,blockNumber:r});return(t.chain?.formatters?.block?.format||uf)(a,"getBlock")}async function _a(t){let e=await t.request({method:"eth_gasPrice"});return BigInt(e)}async function d2(t,e){return Jh(t,e)}async function Jh(t,e){let{block:r,chain:n=t.chain,request:o}=e||{};try{let i=n?.fees?.maxPriorityFeePerGas??n?.fees?.defaultPriorityFee;if(typeof i=="function"){let a=r||await R(t,tt,"getBlock")({}),c=await i({block:a,client:t,request:o});if(c===null)throw new Error;return c}if(typeof i<"u")return i;let s=await t.request({method:"eth_maxPriorityFeePerGas"});return Ce(s)}catch{let[i,s]=await Promise.all([r?Promise.resolve(r):R(t,tt,"getBlock")({}),R(t,_a,"getGasPrice")({})]);if(typeof i.baseFeePerGas!="bigint")throw new zo;let a=s-i.baseFeePerGas;return a<0n?0n:a}}async function l2(t,e){return df(t,e)}async function df(t,e){let{block:r,chain:n=t.chain,request:o,type:i="eip1559"}=e||{},s=await(async()=>typeof n?.fees?.baseFeeMultiplier=="function"?n.fees.baseFeeMultiplier({block:r,client:t,request:o}):n?.fees?.baseFeeMultiplier??1.2)();if(s<1)throw new Fa;let c=10**(s.toString().split(".")[1]?.length??0),u=p=>p*BigInt(Math.ceil(s*c))/BigInt(c),d=r||await R(t,tt,"getBlock")({});if(typeof n?.fees?.estimateFeesPerGas=="function"){let p=await n.fees.estimateFeesPerGas({block:r,client:t,multiply:u,request:o,type:i});if(p!==null)return p}if(i==="eip1559"){if(typeof d.baseFeePerGas!="bigint")throw new zo;let p=typeof o?.maxPriorityFeePerGas=="bigint"?o.maxPriorityFeePerGas:await Jh(t,{block:d,chain:n,request:o}),f=u(d.baseFeePerGas);return{maxFeePerGas:o?.maxFeePerGas??f+p,maxPriorityFeePerGas:p}}return{gasPrice:o?.gasPrice??u(await R(t,_a,"getGasPrice")({}))}}qe();H();async function za(t,{address:e,blockTag:r="latest",blockNumber:n}){let o=await t.request({method:"eth_getTransactionCount",params:[e,typeof n=="bigint"?E(n):r]},{dedupe:!!n});return ve(o)}ze();H();function $a(t){let{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(i=>De(i)):t.blobs,o=[];for(let i of n)o.push(Uint8Array.from(e.blobToKzgCommitment(i)));return r==="bytes"?o:o.map(i=>oe(i))}ze();H();function Ha(t){let{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(s=>De(s)):t.blobs,o=typeof t.commitments[0]=="string"?t.commitments.map(s=>De(s)):t.commitments,i=[];for(let s=0;s<n.length;s++){let a=n[s],c=o[s];i.push(Uint8Array.from(e.computeBlobKzgProof(a,c)))}return r==="bytes"?i:i.map(s=>oe(s))}H();Ih();var p2=Ji;Zt();ze();H();function f2(t,e){let r=e||"hex",n=p2(he(t,{strict:!1})?Xt(t):t);return r==="bytes"?n:Ae(n)}function m2(t){let{commitment:e,version:r=1}=t,n=t.to??(typeof e=="string"?"hex":"bytes"),o=f2(e,"bytes");return o.set([r],0),n==="bytes"?o:oe(o)}function lf(t){let{commitments:e,version:r}=t,n=t.to??(typeof e[0]=="string"?"hex":"bytes"),o=[];for(let i of e)o.push(m2({commitment:i,to:n,version:r}));return o}K();var pf=class extends v{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},Wa=class extends v{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},ff=class extends v{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},mf=class extends v{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};Dp();Jt();ze();H();function g2(t){let e=t.to??(typeof t.data=="string"?"hex":"bytes"),r=typeof t.data=="string"?De(t.data):t.data,n=te(r);if(!n)throw new Wa;if(n>761855)throw new pf({maxSize:761855,size:n});let o=[],i=!0,s=0;for(;i;){let a=Ia(new Uint8Array(131072)),c=0;for(;c<4096;){let u=r.slice(s,s+31);if(a.pushByte(0),a.pushBytes(u),u.length<31){a.pushByte(128),i=!1;break}c++,s+=31}o.push(a)}return e==="bytes"?o.map(a=>a.bytes):o.map(a=>oe(a.bytes))}function gf(t){let{data:e,kzg:r,to:n}=t,o=t.blobs??g2({data:e,to:n}),i=t.commitments??$a({blobs:o,kzg:r,to:n}),s=t.proofs??Ha({blobs:o,commitments:i,kzg:r,to:n}),a=[];for(let c=0;c<o.length;c++)a.push({blob:o[c],commitment:i[c],proof:s[c]});return a}Ti();fn();gr();function yf(t){if(t.type)return t.type;if(typeof t.authorizationList<"u")return"eip7702";if(typeof t.blobs<"u"||typeof t.blobVersionedHashes<"u"||typeof t.maxFeePerBlobGas<"u"||typeof t.sidecars<"u")return"eip4844";if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")return"eip1559";if(typeof t.gasPrice<"u")return typeof t.accessList<"u"?"eip2930":"legacy";throw new Hp({transaction:t})}Ne();co();gr();$u();function $o(t,{docsPath:e,...r}){let n=(()=>{let o=_o(t,r);return o instanceof ar?t:o})();return new Gp(n,{docsPath:e,...r})}cs();uo();fn();qe();async function xt(t){let e=await t.request({method:"eth_chainId"},{dedupe:!0});return ve(e)}async function Ga(t,e){let{account:r=t.account,accessList:n,authorizationList:o,chain:i=t.chain,blobVersionedHashes:s,blobs:a,data:c,gas:u,gasPrice:d,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:g,nonceManager:m,to:h,type:b,value:w,...x}=e,y=await(async()=>{if(!r||!m||typeof g<"u")return g;let P=q(r),N=i?i.id:await R(t,xt,"getChainId")({});return await m.consume({address:P.address,chainId:N,client:t})})();et(e);let I=i?.formatters?.transactionRequest?.format,A=(I||bt)({...yr(x,{format:I}),account:r?q(r):void 0,accessList:n,authorizationList:o,blobs:a,blobVersionedHashes:s,data:c,gas:u,gasPrice:d,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:y,to:h,type:b,value:w},"fillTransaction");try{let P=await t.request({method:"eth_fillTransaction",params:[A]}),T=(i?.formatters?.transaction?.format||Ua)(P.tx);delete T.blockHash,delete T.blockNumber,delete T.r,delete T.s,delete T.transactionIndex,delete T.v,delete T.yParity,T.data=T.input,T.gas&&(T.gas=e.gas??T.gas),T.gasPrice&&(T.gasPrice=e.gasPrice??T.gasPrice),T.maxFeePerBlobGas&&(T.maxFeePerBlobGas=e.maxFeePerBlobGas??T.maxFeePerBlobGas),T.maxFeePerGas&&(T.maxFeePerGas=e.maxFeePerGas??T.maxFeePerGas),T.maxPriorityFeePerGas&&(T.maxPriorityFeePerGas=e.maxPriorityFeePerGas??T.maxPriorityFeePerGas),typeof T.nonce<"u"&&(T.nonce=e.nonce??T.nonce);let M=await(async()=>{if(typeof i?.fees?.baseFeeMultiplier=="function"){let B=await R(t,tt,"getBlock")({});return i.fees.baseFeeMultiplier({block:B,client:t,request:e})}return i?.fees?.baseFeeMultiplier??1.2})();if(M<1)throw new Fa;let F=10**(M.toString().split(".")[1]?.length??0),z=B=>B*BigInt(Math.ceil(M*F))/BigInt(F);return T.feePayerSignature||(T.maxFeePerGas&&!e.maxFeePerGas&&(T.maxFeePerGas=z(T.maxFeePerGas)),T.gasPrice&&!e.gasPrice&&(T.gasPrice=z(T.gasPrice))),{raw:P.raw,transaction:{from:A.from,...T},...P.capabilities?{capabilities:P.capabilities}:{}}}catch(P){throw $o(P,{...e,chain:t.chain})}}var Hu=["blobVersionedHashes","chainId","fees","gas","nonce","type"],y2=new Map,Yh=new jt(128);async function mn(t,e){let r=e;r.account??(r.account=t.account),r.parameters??(r.parameters=Hu);let{account:n,chain:o=t.chain,nonceManager:i,parameters:s}=r,a=(()=>{if(typeof o?.prepareTransactionRequest=="function")return{fn:o.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(o?.prepareTransactionRequest))return{fn:o.prepareTransactionRequest[0],runAt:o.prepareTransactionRequest[1].runAt}})(),c;async function u(){return c||(typeof r.chainId<"u"?r.chainId:o?o.id:(c=await R(t,xt,"getChainId")({}),c))}let d=n&&q(n),l=r.nonce;if(s.includes("nonce")&&typeof l>"u"&&d&&i){let y=await u();l=await i.consume({address:d.address,chainId:y,client:t})}a?.fn&&a.runAt?.includes("beforeFillTransaction")&&(r=await a.fn({...r,chain:o},{phase:"beforeFillTransaction"}),l??(l=r.nonce));let f=((s.includes("blobVersionedHashes")||s.includes("sidecars"))&&r.kzg&&r.blobs||Yh.get(t.uid)===!1||!["fees","gas"].some(I=>s.includes(I))?!1:!!(s.includes("chainId")&&typeof r.chainId!="number"||s.includes("nonce")&&typeof l!="number"||s.includes("fees")&&typeof r.gasPrice!="bigint"&&(typeof r.maxFeePerGas!="bigint"||typeof r.maxPriorityFeePerGas!="bigint")||s.includes("gas")&&typeof r.gas!="bigint"))?await R(t,Ga,"fillTransaction")({...r,nonce:l}).then(y=>{let{chainId:I,from:S,gas:A,gasPrice:P,nonce:N,maxFeePerBlobGas:T,maxFeePerGas:M,maxPriorityFeePerGas:O,type:F,...z}=y.transaction;return Yh.set(t.uid,!0),{...r,...S?{from:S}:{},...F&&!r.type?{type:F}:{},...typeof I<"u"?{chainId:I}:{},...typeof A<"u"?{gas:A}:{},...typeof P<"u"?{gasPrice:P}:{},...typeof N<"u"?{nonce:N}:{},...typeof T<"u"&&r.type!=="legacy"&&r.type!=="eip2930"?{maxFeePerBlobGas:T}:{},...typeof M<"u"&&r.type!=="legacy"&&r.type!=="eip2930"?{maxFeePerGas:M}:{},...typeof O<"u"&&r.type!=="legacy"&&r.type!=="eip2930"?{maxPriorityFeePerGas:O}:{},..."nonceKey"in z&&typeof z.nonceKey<"u"?{nonceKey:z.nonceKey}:{},..."keyAuthorization"in z&&typeof z.keyAuthorization<"u"&&z.keyAuthorization!==null&&!("keyAuthorization"in r)?{keyAuthorization:z.keyAuthorization}:{},..."feePayerSignature"in z&&typeof z.feePayerSignature<"u"&&z.feePayerSignature!==null?{feePayerSignature:z.feePayerSignature}:{},..."feeToken"in z&&typeof z.feeToken<"u"&&z.feeToken!==null&&!("feeToken"in r)?{feeToken:z.feeToken}:{},...y.capabilities?{_capabilities:y.capabilities}:{}}}).catch(y=>{let I=y;if(I.name!=="TransactionExecutionError")return r;if(I.walk?.(P=>P.name==="ExecutionRevertedError"))throw y;return I.walk?.(P=>{let N=P;return N.name==="MethodNotFoundRpcError"||N.name==="MethodNotSupportedRpcError"||N.message?.includes("eth_fillTransaction is not available")})&&Yh.set(t.uid,!1),r}):r;l??(l=f.nonce),r={...f,...d?{from:d?.address}:{},...typeof l<"u"?{nonce:l}:{}};let{blobs:g,gas:m,kzg:h,type:b}=r;a?.fn&&a.runAt?.includes("beforeFillParameters")&&(r=await a.fn({...r,chain:o},{phase:"beforeFillParameters"}));let w;async function x(){return w||(w=await R(t,tt,"getBlock")({blockTag:"latest"}),w)}if(s.includes("nonce")&&typeof l>"u"&&d&&!i&&(r.nonce=await R(t,za,"getTransactionCount")({address:d.address,blockTag:"pending"})),(s.includes("blobVersionedHashes")||s.includes("sidecars"))&&g&&h){let y=$a({blobs:g,kzg:h});if(s.includes("blobVersionedHashes")){let I=lf({commitments:y,to:"hex"});r.blobVersionedHashes=I}if(s.includes("sidecars")){let I=Ha({blobs:g,commitments:y,kzg:h}),S=gf({blobs:g,commitments:y,proofs:I,to:"hex"});r.sidecars=S}}if(s.includes("chainId")&&(r.chainId=await u()),(s.includes("fees")||s.includes("type"))&&typeof b>"u")try{r.type=yf(r)}catch{let y=y2.get(t.uid);typeof y>"u"&&(y=typeof(await x())?.baseFeePerGas=="bigint",y2.set(t.uid,y)),r.type=y?"eip1559":"legacy"}if(s.includes("fees"))if(r.type!=="legacy"&&r.type!=="eip2930"){if(typeof r.maxFeePerGas>"u"||typeof r.maxPriorityFeePerGas>"u"){let y=await x(),{maxFeePerGas:I,maxPriorityFeePerGas:S}=await df(t,{block:y,chain:o,request:r});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<S)throw new cf({maxPriorityFeePerGas:S});r.maxPriorityFeePerGas=S,r.maxFeePerGas=I}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new zo;if(typeof r.gasPrice>"u"){let y=await x(),{gasPrice:I}=await df(t,{block:y,chain:o,request:r,type:"legacy"});r.gasPrice=I}}return s.includes("gas")&&typeof m>"u"&&(r.gas=await R(t,Va,"estimateGas")({...r,account:d,prepare:d?.type==="local"?[]:["blobVersionedHashes"]})),a?.fn&&a.runAt?.includes("afterFillParameters")&&(r=await a.fn({...r,chain:o},{phase:"afterFillParameters"})),et(r),delete r.parameters,r}async function Va(t,e){let{account:r=t.account,prepare:n=!0}=e,o=r?q(r):void 0,i=(()=>{if(Array.isArray(n))return n;if(o?.type!=="local")return["blobVersionedHashes"]})();try{let s=await(async()=>{if(e.to)return e.to;if(e.authorizationList&&e.authorizationList.length>0)return await Uo({authorization:e.authorizationList[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:d,blockNumber:l,blockTag:p,data:f,gas:g,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,value:y,stateOverride:I,...S}=n?await mn(t,{...e,parameters:i,to:s}):e;if(g&&e.gas!==g)return g;let P=(typeof l=="bigint"?E(l):void 0)||p,N=Da(I);et(e);let T=t.chain?.formatters?.transactionRequest?.format,O=(T||bt)({...yr(S,{format:T}),account:o,accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:d,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,to:s,value:y},"estimateGas");return BigInt(await t.request({method:"eth_estimateGas",params:N?[O,P??t.experimental_blockTag??"latest",N]:P?[O,P]:[O]}))}catch(s){throw c2(s,{...e,account:o,chain:t.chain})}}async function h2(t,e){let{abi:r,address:n,args:o,functionName:i,dataSuffix:s=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,...a}=e,c=ue({abi:r,args:o,functionName:i});try{return await R(t,Va,"estimateGas")({data:`${c}${s?s.replace("0x",""):""}`,to:n,...a})}catch(u){let d=a.account?q(a.account):void 0;throw nr(u,{abi:r,address:n,args:o,docsPath:"/docs/contract/estimateContractGas",functionName:i,sender:d?.address})}}Bo();us();ze();function rt(t,{args:e,eventName:r}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,blockTimestamp:t.blockTimestamp?BigInt(t.blockTimestamp):t.blockTimestamp===null?null:void 0,logIndex:t.logIndex?Number(t.logIndex):null,transactionHash:t.transactionHash?t.transactionHash:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,...r?{args:e,eventName:r}:{}}}er();Pu();Me();gh();Jt();Pu();Cu();zn();var b2="/docs/contract/decodeEventLog";function ds(t){let{abi:e,data:r,strict:n,topics:o}=t,i=n??!0,[s,...a]=o;if(!s)throw new sp({docsPath:b2});let c=e.find(b=>b.type==="event"&&s===No(Ge(b)));if(!(c&&"name"in c)||c.type!=="event")throw new ap(s,{docsPath:b2});let{name:u,inputs:d}=c,l=d?.some(b=>!("name"in b&&b.name)),p=l?[]:{},f=d.map((b,w)=>[b,w]).filter(([b])=>"indexed"in b&&b.indexed),g=[];for(let b=0;b<f.length;b++){let[w,x]=f[b],y=a[b];if(!y){if(i)throw new Eo({abiItem:c,param:w});g.push([w,x]);continue}p[l?x:w.name||x]=T8({param:w,value:y})}let m=d.filter(b=>!("indexed"in b&&b.indexed)),h=i?m:[...g.map(([b])=>b),...m];if(h.length>0){if(r&&r!=="0x")try{let b=Kn(h,r);if(b){let w=0;if(!i)for(let[x,y]of g)p[l?y:x.name||y]=b[w++];if(l)for(let x=0;x<d.length;x++)p[x]===void 0&&w<b.length&&(p[x]=b[w++]);else for(let x=0;x<m.length;x++)p[m[x].name]=b[w++]}}catch(b){if(i)throw b instanceof la||b instanceof wa?new $n({abiItem:c,data:r,params:h,size:te(r)}):b}else if(i)throw new $n({abiItem:c,data:"0x",params:h,size:0})}return{eventName:u,args:Object.values(p).length>0?p:void 0}}function T8({param:t,value:e}){return t.type==="string"||t.type==="bytes"||t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/)?e:(Kn([t],e)||[])[0]}function qa(t){let{abi:e,args:r,logs:n,strict:o=!0}=t,i=(()=>{if(t.eventName)return Array.isArray(t.eventName)?t.eventName:[t.eventName]})(),s=e.filter(a=>a.type==="event").map(a=>({abi:a,selector:No(a)}));return n.map(a=>{let c=typeof a.blockNumber=="string"?rt(a):a,u=s.filter(p=>c.topics[0]===p.selector);if(u.length===0)return null;let d,l;for(let p of u)try{d=ds({...c,abi:[p.abi],strict:!0}),l=p;break}catch{}if(!d&&!o){l=u[0];try{d=ds({data:c.data,topics:c.topics,abi:[l.abi],strict:!1})}catch{let p=l.abi.inputs?.some(f=>!("name"in f&&f.name));return{...c,args:p?[]:{},eventName:l.abi.name}}}return!d||!l||i&&!i.includes(d.eventName)||!C8({args:d.args,inputs:l.abi.inputs,matchArgs:r})?null:{...d,...c}}).filter(Boolean)}function C8(t){let{args:e,inputs:r,matchArgs:n}=t;if(!n)return!0;if(!e)return!1;function o(i,s,a){try{return i.type==="address"?cr(s,a):i.type==="string"||i.type==="bytes"?ie(Xt(s))===a:s===a}catch{return!1}}return Array.isArray(e)&&Array.isArray(n)?n.every((i,s)=>{if(i==null)return!0;let a=r[s];return a?(Array.isArray(i)?i:[i]).some(u=>o(a,u,e[s])):!1}):typeof e=="object"&&!Array.isArray(e)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([i,s])=>{if(s==null)return!0;let a=r.find(u=>u.name===i);return a?(Array.isArray(s)?s:[s]).some(u=>o(a,u,e[i])):!1}):!1}H();async function Ka(t,{address:e,blockHash:r,fromBlock:n,toBlock:o,event:i,events:s,args:a,strict:c}={}){let u=c??!1,d=s??(i?[i]:void 0),l=[];d&&(l=[d.flatMap(m=>sn({abi:[m],eventName:m.name,args:s?void 0:a}))],i&&(l=l[0]));let p;r?p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,blockHash:r}]}):p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,fromBlock:typeof n=="bigint"?E(n):n,toBlock:typeof o=="bigint"?E(o):o}]});let f=p.map(g=>rt(g));return d?qa({abi:d,args:a,logs:f,strict:u}):f}async function hf(t,e){let{abi:r,address:n,args:o,blockHash:i,eventName:s,fromBlock:a,toBlock:c,strict:u}=e,d=s?zt({abi:r,name:s}):void 0,l=d?void 0:r.filter(p=>p.type==="event");return R(t,Ka,"getLogs")({address:n,args:o,blockHash:i,event:d,events:l,fromBlock:a,toBlock:c,strict:u})}lo();Ct();ys();async function He(t,e){let{abi:r,address:n,args:o,functionName:i,...s}=e,a=ue({abi:r,args:o,functionName:i});try{let{data:c}=await R(t,xr,"call")({...s,data:a,to:n});return wt({abi:r,args:o,functionName:i,data:c||"0x"})}catch(c){throw nr(c,{abi:r,address:n,args:o,docsPath:"/docs/contract/readContract",functionName:i})}}Ne();lo();Ct();ys();async function iI(t,e){let{abi:r,address:n,args:o,functionName:i,dataSuffix:s=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,...a}=e,c=a.account?q(a.account):t.account,u=ue({abi:r,args:o,functionName:i});try{let{data:d}=await R(t,xr,"call")({batch:!1,data:`${u}${s?s.replace("0x",""):""}`,to:n,...a,account:c}),l=wt({abi:r,args:o,functionName:i,data:d||"0x"}),p=r.filter(f=>"name"in f&&f.name===e.functionName);return{result:l,request:{abi:p,address:n,args:o,dataSuffix:s,functionName:i,...a,account:c}}}catch(d){throw nr(d,{abi:r,address:n,args:o,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}Me();Zi();var I0=new Map,sI=new Map,K8=0;function It(t,e,r){let n=++K8,o=()=>I0.get(t)||[],i=()=>{let d=o();I0.set(t,d.filter(l=>l.id!==n))},s=()=>{let d=o();if(!d.some(p=>p.id===n))return;let l=sI.get(t);if(d.length===1&&l){let p=l();p instanceof Promise&&p.catch(()=>{})}i()},a=o();if(I0.set(t,[...a,{id:n,fns:e}]),a&&a.length>0)return s;let c={};for(let d in e)c[d]=((...l)=>{let p=o();if(p.length!==0)for(let f of p)f.fns[d]?.(...l)});let u=r(c);return typeof u=="function"&&sI.set(t,u),s}async function Xu(t){return new Promise(e=>setTimeout(e,t))}function wr(t,{emitOnBegin:e,initialWaitTime:r,interval:n}){let o=!0,i=()=>o=!1;return(async()=>{let a;e&&(a=await t({unpoll:i}));let c=await r?.(a)??n;await Xu(c);let u=async()=>{o&&(await t({unpoll:i}),await Xu(n),u())};u()})(),i}yt();var Q8=new Map,Z8=new Map;function aI(t){let e=(o,i)=>({clear:()=>i.delete(o),get:()=>i.get(o),set:s=>i.set(o,s)}),r=e(t,Q8),n=e(t,Z8);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function cI(t,{cacheKey:e,cacheTime:r=Number.POSITIVE_INFINITY}){let n=aI(e),o=n.response.get();if(o&&r>0&&Date.now()-o.created.getTime()<r)return o.data;let i=n.promise.get();i||(i=t(),n.promise.set(i));try{let s=await i;return n.response.set({created:new Date,data:s}),s}finally{n.promise.clear()}}var J8=t=>`blockNumber.${t}`;async function bn(t,{cacheTime:e=t.cacheTime}={}){let r=await cI(()=>t.request({method:"eth_blockNumber"}),{cacheKey:J8(t.uid),cacheTime:e});return BigInt(r)}async function Go(t,{filter:e}){let r="strict"in e&&e.strict,n=await e.request({method:"eth_getFilterChanges",params:[e.id]});if(typeof n[0]=="string")return n;let o=n.map(i=>rt(i));return!("abi"in e)||!e.abi?o:qa({abi:e.abi,logs:o,strict:r})}async function Vo(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}function uI(t,e){let{abi:r,address:n,args:o,batch:i=!0,eventName:s,fromBlock:a,onError:c,onLogs:u,poll:d,pollingInterval:l=t.pollingInterval,strict:p}=e;return(typeof d<"u"?d:typeof a=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")))?(()=>{let h=p??!1,b=re(["watchContractEvent",n,o,i,t.uid,s,l,h,a]);return It(b,{onLogs:u,onError:c},w=>{let x;a!==void 0&&(x=a-1n);let y,I=!1,S=wr(async()=>{if(!I){try{y=await R(t,Bp,"createContractEventFilter")({abi:r,address:n,args:o,eventName:s,strict:h,fromBlock:a})}catch{}I=!0;return}try{let A;if(y)A=await R(t,Go,"getFilterChanges")({filter:y});else{let P=await R(t,bn,"getBlockNumber")({});x&&x<P?A=await R(t,hf,"getContractEvents")({abi:r,address:n,args:o,eventName:s,fromBlock:x+1n,toBlock:P,strict:h}):A=[],x=P}if(A.length===0)return;if(i)w.onLogs(A);else for(let P of A)w.onLogs([P])}catch(A){y&&A instanceof rr&&(I=!1),w.onError?.(A)}},{emitOnBegin:!0,interval:l});return async()=>{y&&await R(t,Vo,"uninstallFilter")({filter:y}),S()}})})():(()=>{let h=p??!1,b=re(["watchContractEvent",n,o,i,t.uid,s,l,h]),w=!0,x=()=>w=!1;return It(b,{onLogs:u,onError:c},y=>((async()=>{try{let I=(()=>{if(t.transport.type==="fallback"){let P=t.transport.transports.find(N=>N.config.type==="webSocket"||N.config.type==="ipc");return P?P.value:t.transport}return t.transport})(),S=s?sn({abi:r,eventName:s,args:o}):[],{unsubscribe:A}=await I.subscribe({params:["logs",{address:n,topics:S}],onData(P){if(!w)return;let N=P.result;try{let{eventName:T,args:M}=ds({abi:r,data:N.data,topics:N.topics,strict:p}),O=rt(N,{args:M,eventName:T});y.onLogs([O])}catch(T){let M,O;if(T instanceof $n||T instanceof Eo){if(p)return;M=T.abiItem.name,O=T.abiItem.inputs?.some(z=>!("name"in z&&z.name))}let F=rt(N,{args:O?[]:{},eventName:M});y.onLogs([F])}},onError(P){y.onError?.(P)}});x=A,w||x()}catch(I){c?.(I)}})(),()=>x()))})()}Ne();K();var ot=class extends v{constructor({docsPath:e}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
|
|
41
|
-
`),{docsPath:e,docsSlug:"account",name:"AccountNotFoundError"})}},Ir=class extends v{constructor({docsPath:e,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:e,metaMessages:r,name:"AccountTypeNotSupportedError"})}};Ct();Ne();K();Ju();function nc({chain:t,currentChainId:e}){if(!t)throw new Lf;if(e!==t.id)throw new Bf({chain:t,currentChainId:e})}ut();cs();uo();Ti();fn();async function oc(t,{serializedTransaction:e}){return t.request({method:"eth_sendRawTransaction",params:[e]},{retryCount:0})}var S0=new jt(128);async function qo(t,e){let{account:r=t.account,assertChainId:n=!0,chain:o=t.chain,accessList:i,authorizationList:s,blobs:a,data:c,dataSuffix:u=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,type:h,value:b,...w}=e;if(typeof r>"u")throw new ot({docsPath:"/docs/actions/wallet/sendTransaction"});let x=r?q(r):null;try{et(e);let y=await(async()=>{if(e.to)return e.to;if(e.to!==null&&s&&s.length>0)return await Uo({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(x?.type==="json-rpc"||x===null){let I;o!==null&&(I=await R(t,xt,"getChainId")({}),n&&nc({currentChainId:I,chain:o}));let S=t.chain?.formatters?.transactionRequest?.format,P=(S||bt)({...yr(w,{format:S}),accessList:i,account:x,authorizationList:s,blobs:a,chainId:I,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,to:y,type:h,value:b},"sendTransaction"),N=S0.get(t.uid),T=N?"wallet_sendTransaction":"eth_sendTransaction";try{return await t.request({method:T,params:[P]},{retryCount:0})}catch(M){if(N===!1)throw M;let O=M;if(O.name==="InvalidInputRpcError"||O.name==="InvalidParamsRpcError"||O.name==="MethodNotFoundRpcError"||O.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[P]},{retryCount:0}).then(F=>(S0.set(t.uid,!0),F)).catch(F=>{let z=F;throw z.name==="MethodNotFoundRpcError"||z.name==="MethodNotSupportedRpcError"?(S0.set(t.uid,!1),O):z});throw O}}if(x?.type==="local"){let I=await R(t,mn,"prepareTransactionRequest")({account:x,accessList:i,authorizationList:s,blobs:a,chain:o,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,nonceManager:x.nonceManager,parameters:[...Hu,"sidecars"],type:h,value:b,...w,to:y}),S=o?.serializers?.transaction,A=await x.signTransaction(I,{serializer:S});return await R(t,oc,"sendRawTransaction")({serializedTransaction:A})}throw x?.type==="smart"?new Ir({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ir({docsPath:"/docs/actions/wallet/sendTransaction",type:x?.type})}catch(y){throw y instanceof Ir?y:$o(y,{...e,account:x,chain:e.chain||void 0})}}async function hs(t,e){return hs.internal(t,qo,"sendTransaction",e)}(function(t){async function e(r,n,o,i){let{abi:s,account:a=r.account,address:c,args:u,functionName:d,...l}=i;if(typeof a>"u")throw new ot({docsPath:"/docs/contract/writeContract"});let p=a?q(a):null,f=ue({abi:s,args:u,functionName:d});try{return await R(r,n,o)({data:f,to:c,account:p,...l})}catch(g){throw nr(g,{abi:s,address:c,args:u,docsPath:"/docs/contract/writeContract",functionName:d,sender:p?.address})}}t.internal=e})(hs||(hs={}));K();K();var _f=class extends v{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Df();function bs(t,{delay:e=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((o,i)=>{let s=async({count:a=0}={})=>{let c=async({error:u})=>{let d=typeof e=="function"?e({count:a,error:u}):e;d&&await Xu(d),s({count:a+1})};try{let u=await t();o(u)}catch(u){if(a<r&&await n({count:a,error:u}))return c({error:u});i(u)}};s()})}yt();Vn();vi();qe();qe();var v0={"0x0":"reverted","0x1":"success"};function zf(t,e){let r={...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,contractAddress:t.contractAddress?t.contractAddress:null,cumulativeGasUsed:t.cumulativeGasUsed?BigInt(t.cumulativeGasUsed):null,effectiveGasPrice:t.effectiveGasPrice?BigInt(t.effectiveGasPrice):null,gasUsed:t.gasUsed?BigInt(t.gasUsed):null,logs:t.logs?t.logs.map(n=>rt(n)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?ve(t.transactionIndex):null,status:t.status?v0[t.status]:null,type:t.type?Zh[t.type]||t.type:null};return t.blobGasPrice&&(r.blobGasPrice=BigInt(t.blobGasPrice)),t.blobGasUsed&&(r.blobGasUsed=BigInt(t.blobGasUsed)),r}Ne();K();Zi();Ct();ut();qe();H();var A0="0x5792579257925792579257925792579257925792579257925792579257925792",P0=E(0,{size:32});async function $f(t,e){let{account:r=t.account,chain:n=t.chain,experimental_fallback:o,experimental_fallbackDelay:i=32,forceAtomic:s=!1,id:a,version:c="2.0.0"}=e,u=r?q(r):null,d=e.capabilities;t.dataSuffix&&!e.capabilities?.dataSuffix&&(typeof t.dataSuffix=="string"?d={...e.capabilities,dataSuffix:{value:t.dataSuffix,optional:!0}}:d={...e.capabilities,dataSuffix:{value:t.dataSuffix.value,...t.dataSuffix.required?{}:{optional:!0}}});let l=e.calls.map(p=>{let f=p,g=f.abi?ue({abi:f.abi,functionName:f.functionName,args:f.args}):f.data;return{data:f.dataSuffix&&g?be([g,f.dataSuffix]):g,to:f.to,value:f.value?E(f.value):void 0}});try{let p=await t.request({method:"wallet_sendCalls",params:[{atomicRequired:s,calls:l,capabilities:d,chainId:E(n.id),from:u?.address,id:a,version:c}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){let f=p;if(o&&(f.name==="MethodNotFoundRpcError"||f.name==="MethodNotSupportedRpcError"||f.name==="UnknownRpcError"||f.details.toLowerCase().includes("does not exist / is not available")||f.details.toLowerCase().includes("missing or invalid. request()")||f.details.toLowerCase().includes("did not match any variant of untagged enum")||f.details.toLowerCase().includes("account upgraded to unsupported contract")||f.details.toLowerCase().includes("eip-7702 not supported")||f.details.toLowerCase().includes("unsupported wc_ method")||f.details.toLowerCase().includes("feature toggled misconfigured")||f.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(d&&Object.values(d).some(w=>!w.optional)){let w="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Xn(new v(w,{details:w}))}if(s&&l.length>1){let b="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new eo(new v(b,{details:b}))}let g=[];for(let b of l){let w=qo(t,{account:u,chain:n,data:b.data,to:b.to,value:b.value?Ce(b.value):void 0});g.push(w),i>0&&await new Promise(x=>setTimeout(x,i))}let m=await Promise.allSettled(g);if(m.every(b=>b.status==="rejected"))throw m[0].reason;let h=m.map(b=>b.status==="fulfilled"?b.value:P0);return{id:be([...h,E(n.id,{size:32}),A0])}}throw $o(p,{...e,account:u,chain:e.chain})}}async function Hf(t,e){async function r(d){if(d.endsWith(A0.slice(2))){let p=Ve(Tp(d,-64,-32)),f=Tp(d,0,-64).slice(2).match(/.{1,64}/g),g=await Promise.all(f.map(h=>P0.slice(2)!==h?t.request({method:"eth_getTransactionReceipt",params:[`0x${h}`]},{dedupe:!0}):void 0)),m=g.some(h=>h===null)?100:g.every(h=>h?.status==="0x1")?200:g.every(h=>h?.status==="0x0")?500:600;return{atomic:!1,chainId:ve(p),receipts:g.filter(Boolean),status:m,version:"2.0.0"}}return t.request({method:"wallet_getCallsStatus",params:[d]})}let{atomic:n=!1,chainId:o,receipts:i,version:s="2.0.0",...a}=await r(e.id),[c,u]=(()=>{let d=a.status;return d>=100&&d<200?["pending",d]:d>=200&&d<300?["success",d]:d>=300&&d<700?["failure",d]:d==="CONFIRMED"?["success",200]:d==="PENDING"?["pending",100]:[void 0,d]})();return{...a,atomic:n,chainId:o?ve(o):void 0,receipts:i?.map(d=>({...d,blockNumber:Ce(d.blockNumber),gasUsed:Ce(d.gasUsed),status:v0[d.status]}))??[],statusCode:u,status:c,version:s}}async function Wf(t,e){let{id:r,pollingInterval:n=t.pollingInterval,status:o=({statusCode:m})=>m===200||m>=300,retryCount:i=4,retryDelay:s=({count:m})=>~~(1<<m)*200,timeout:a=6e4,throwOnFailure:c=!1}=e,u=re(["waitForCallsStatus",t.uid,r]),{promise:d,resolve:l,reject:p}=rc(),f,g=It(u,{resolve:l,reject:p},m=>{let h=wr(async()=>{let b=w=>{clearTimeout(f),h(),w(),g()};try{let w=await bs(async()=>{let x=await R(t,Hf,"getCallsStatus")({id:r});if(c&&x.status==="failure")throw new _f(x);return x},{retryCount:i,delay:s});if(!o(w))return;b(()=>m.resolve(w))}catch(w){b(()=>m.reject(w))}},{interval:n,emitOnBegin:!0});return h});return f=a?setTimeout(()=>{g(),clearTimeout(f),p(new E0({id:r}))},a):void 0,await d}var E0=class extends v{constructor({id:e}){super(`Timed out while waiting for call bundle with id "${e}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};Ne();var Gf=256,Vf;function qf(t=11){if(!Vf||Gf+t>256*2){Vf="",Gf=0;for(let e=0;e<256;e++)Vf+=(256+Math.random()*256|0).toString(16).substring(1)}return Vf.substring(Gf,Gf+++t)}function Kf(t){let{batch:e,chain:r,ccipRead:n,dataSuffix:o,key:i="base",name:s="Base Client",type:a="base"}=t,c=t.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),u=r?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),l=t.pollingInterval??d,p=t.cacheTime??l,f=t.account?q(t.account):void 0,{config:g,request:m,value:h}=t.transport({account:f,chain:r,pollingInterval:l}),b={...g,...h},w={account:f,batch:e,cacheTime:p,ccipRead:n,chain:r,dataSuffix:o,key:i,name:s,pollingInterval:l,request:m,transport:b,type:a,uid:qf(),...c?{experimental_blockTag:c}:{}};function x(y){return I=>{let S=I(y);for(let P in w)delete S[P];let A={...y,...S};return Object.assign(A,{extend:x(A)})}}return Object.assign(w,{extend:x(w)})}mo();lo();Ct();gs();vi();H();K();Qn();function ic(t){if(!(t instanceof v))return!1;let e=t.walk(r=>r instanceof Fr);return e instanceof Fr?e.data?.errorName==="HttpError"||e.data?.errorName==="ResolverError"||e.data?.errorName==="ResolverNotContract"||e.data?.errorName==="ResolverNotFound"||e.data?.errorName==="ReverseAddressMismatch"||e.data?.errorName==="UnsupportedResolverProfile":!1}Yu();ut();ze();H();er();Zt();function Qf(t){if(t.length!==66||t.indexOf("[")!==0||t.indexOf("]")!==65)return null;let e=`0x${t.slice(1,65)}`;return he(e)?e:null}function ed(t){let e=new Uint8Array(32).fill(0);if(!t)return oe(e);let r=t.split(".");for(let n=r.length-1;n>=0;n-=1){let o=Qf(r[n]),i=o?Xt(o):ie(Ft(r[n]),"bytes");e=ie(be([e,i]),"bytes")}return oe(e)}ze();function dI(t){return`[${t.slice(2)}]`}ze();H();er();function lI(t){let e=new Uint8Array(32).fill(0);return t?Qf(t)||ie(Ft(t)):oe(e)}function sc(t){let e=t.replace(/^\.|\.$/gm,"");if(e.length===0)return new Uint8Array(1);let r=new Uint8Array(Ft(e).byteLength+2),n=0,o=e.split(".");for(let i=0;i<o.length;i++){let s=Ft(o[i]);s.byteLength>255&&(s=Ft(dI(lI(o[i])))),r[n]=s.length,r.set(s,n+1),n+=s.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function pI(t,e){let{blockNumber:r,blockTag:n,coinType:o,name:i,gatewayUrls:s,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),d=c?.ensTlds;if(d&&!d.some(p=>i.endsWith(p)))return null;let l=o!=null?[ed(i),BigInt(o)]:[ed(i)];try{let p=ue({abi:d0,functionName:"addr",args:l}),f={address:u,abi:Rf,functionName:"resolveWithGateways",args:[Ae(sc(i)),p,s??[go]],blockNumber:r,blockTag:n},m=await R(t,He,"readContract")(f);if(m[0]==="0x")return null;let h=wt({abi:d0,args:l,functionName:"addr",data:m[0]});return h==="0x"||Ve(h)==="0x00"?null:h}catch(p){if(a)throw p;if(ic(p))return null;throw p}}K();var Zf=class extends v{constructor({data:e}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(e)}`],name:"EnsAvatarInvalidMetadataError"})}},Ko=class extends v{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}},ac=class extends v{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}},Jf=class extends v{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var Y8=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,X8=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,eC=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,tC=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function rC(t){try{let e=await fetch(t,{method:"HEAD"});return e.status===200?e.headers.get("content-type")?.startsWith("image/"):!1}catch(e){return typeof e=="object"&&typeof e.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{let n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=t})}}function fI(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function T0({uri:t,gatewayUrls:e}){let r=eC.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};let n=fI(e?.ipfs,"https://ipfs.io"),o=fI(e?.arweave,"https://arweave.net"),i=t.match(Y8),{protocol:s,subpath:a,target:c,subtarget:u=""}=i?.groups||{},d=s==="ipns:/"||a==="ipns/",l=s==="ipfs:/"||a==="ipfs/"||X8.test(t);if(t.startsWith("http")&&!d&&!l){let f=t;return e?.arweave&&(f=t.replace(/https:\/\/arweave.net/g,e?.arweave)),{uri:f,isOnChain:!1,isEncoded:!1}}if((d||l)&&c)return{uri:`${n}/${d?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if(s==="ar:/"&&c)return{uri:`${o}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let p=t.replace(tC,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new ac({uri:t})}function C0(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new Zf({data:t});return t.image||t.image_url||t.image_data}async function mI({gatewayUrls:t,uri:e}){try{let r=await fetch(e).then(o=>o.json());return await Yf({gatewayUrls:t,uri:C0(r)})}catch{throw new ac({uri:e})}}async function Yf({gatewayUrls:t,uri:e}){let{uri:r,isOnChain:n}=T0({uri:e,gatewayUrls:t});if(n||await rC(r))return r;throw new ac({uri:e})}function gI(t){let e=t;e.startsWith("did:nft:")&&(e=e.replace("did:nft:","").replace(/_/g,"/"));let[r,n,o]=e.split("/"),[i,s]=r.split(":"),[a,c]=n.split(":");if(!i||i.toLowerCase()!=="eip155")throw new Ko({reason:"Only EIP-155 supported"});if(!s)throw new Ko({reason:"Chain ID not found"});if(!c)throw new Ko({reason:"Contract address not found"});if(!o)throw new Ko({reason:"Token ID not found"});if(!a)throw new Ko({reason:"ERC namespace not found"});return{chainID:Number.parseInt(s,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:o}}async function yI(t,{nft:e}){if(e.namespace==="erc721")return He(t,{address:e.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(e.tokenID)]});if(e.namespace==="erc1155")return He(t,{address:e.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(e.tokenID)]});throw new Jf({namespace:e.namespace})}async function hI(t,{gatewayUrls:e,record:r}){return/eip155:/i.test(r)?nC(t,{gatewayUrls:e,record:r}):Yf({uri:r,gatewayUrls:e})}async function nC(t,{gatewayUrls:e,record:r}){let n=gI(r),o=await yI(t,{nft:n}),{uri:i,isOnChain:s,isEncoded:a}=T0({uri:o,gatewayUrls:e});if(s&&(i.includes("data:application/json;base64,")||i.startsWith("{"))){let u=a?atob(i.replace("data:application/json;base64,","")):i,d=JSON.parse(u);return Yf({uri:C0(d),gatewayUrls:e})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),mI({gatewayUrls:e,uri:i.replace(/(?:0x)?{id}/,c)})}mo();lo();Ct();gs();H();Yu();async function Xf(t,e){let{blockNumber:r,blockTag:n,key:o,name:i,gatewayUrls:s,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),d=c?.ensTlds;if(d&&!d.some(l=>i.endsWith(l)))return null;try{let l={address:u,abi:Rf,args:[Ae(sc(i)),ue({abi:u0,functionName:"text",args:[ed(i),o]}),s??[go]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},f=await R(t,He,"readContract")(l);if(f[0]==="0x")return null;let g=wt({abi:u0,functionName:"text",data:f[0]});return g===""?null:g}catch(l){if(a)throw l;if(ic(l))return null;throw l}}async function bI(t,{blockNumber:e,blockTag:r,assetGatewayUrls:n,name:o,gatewayUrls:i,strict:s,universalResolverAddress:a}){let c=await R(t,Xf,"getEnsText")({blockNumber:e,blockTag:r,key:"avatar",name:o,universalResolverAddress:a,gatewayUrls:i,strict:s});if(!c)return null;try{return await hI(t,{record:c,gatewayUrls:n})}catch{return null}}mo();gs();Yu();async function xI(t,e){let{address:r,blockNumber:n,blockTag:o,coinType:i=60n,gatewayUrls:s,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{let d={address:u,abi:H2,args:[r,i,s??[go]],functionName:"reverseWithGateways",blockNumber:n,blockTag:o},l=R(t,He,"readContract"),[p]=await l(d);return p||null}catch(d){if(a)throw d;if(ic(d))return null;throw d}}gs();H();async function wI(t,e){let{blockNumber:r,blockTag:n,name:o}=e,{chain:i}=t,s=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!i)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:r,chain:i,contract:"ensUniversalResolver"})})(),a=i?.ensTlds;if(a&&!a.some(u=>o.endsWith(u)))throw new Error(`${o} is not a valid ENS TLD (${a?.join(", ")}) for chain "${i.name}" (id: ${i.id}).`);let[c]=await R(t,He,"readContract")({address:s,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Ae(sc(o))],blockNumber:r,blockTag:n});return c}ys();Ne();H();m0();cs();uo();fn();async function em(t,e){let{account:r=t.account,blockNumber:n,blockTag:o="latest",blobs:i,data:s,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:d,maxPriorityFeePerGas:l,to:p,value:f,...g}=e,m=r?q(r):void 0;try{et(e);let b=(typeof n=="bigint"?E(n):void 0)||o,w=t.chain?.formatters?.transactionRequest?.format,y=(w||bt)({...yr(g,{format:w}),account:m,blobs:i,data:s,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:d,maxPriorityFeePerGas:l,to:p,value:f},"createAccessList"),I=await t.request({method:"eth_createAccessList",params:[y,b]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(h){throw Mf(h,{...e,account:m,chain:t.chain})}}async function II(t){let e=Lo(t,{method:"eth_newBlockFilter"}),r=await t.request({method:"eth_newBlockFilter"});return{id:r,request:e(r),type:"block"}}H();async function tm(t,{address:e,args:r,event:n,events:o,fromBlock:i,strict:s,toBlock:a}={}){let c=o??(n?[n]:void 0),u=Lo(t,{method:"eth_newFilter"}),d=[];c&&(d=[c.flatMap(f=>sn({abi:[f],eventName:f.name,args:r}))],n&&(d=d[0]));let l=await t.request({method:"eth_newFilter",params:[{address:e,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof a=="bigint"?E(a):a,...d.length?{topics:d}:{}}]});return{abi:c,args:r,eventName:n?n.name:void 0,fromBlock:i,id:l,request:u(l),strict:!!s,toBlock:a,type:"event"}}async function rm(t){let e=Lo(t,{method:"eth_newPendingTransactionFilter"}),r=await t.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:e(r),type:"transaction"}}mo();lo();Ct();H();ys();async function SI(t,{address:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest"}){if(t.batch?.multicall&&t.chain?.contracts?.multicall3){let s=t.chain.contracts.multicall3.address,a=ue({abi:hn,functionName:"getEthBalance",args:[e]}),{data:c}=await R(t,xr,"call")({to:s,data:a,blockNumber:r,blockTag:n});return wt({abi:hn,functionName:"getEthBalance",args:[e],data:c||"0x"})}let o=typeof r=="bigint"?E(r):void 0,i=await t.request({method:"eth_getBalance",params:[e,o||n]});return BigInt(i)}async function vI(t){let e=await t.request({method:"eth_blobBaseFee"});return BigInt(e)}qe();H();async function AI(t,{blockHash:e,blockNumber:r,blockTag:n="latest"}={}){let o=r!==void 0?E(r):void 0,i;return e?i=await t.request({method:"eth_getBlockTransactionCountByHash",params:[e]},{dedupe:!0}):i=await t.request({method:"eth_getBlockTransactionCountByNumber",params:[o||n]},{dedupe:!!o}),ve(i)}H();async function xs(t,{address:e,blockNumber:r,blockTag:n="latest"}){let o=r!==void 0?E(r):void 0,i=await t.request({method:"eth_getCode",params:[e,o||n]},{dedupe:!!o});if(i!=="0x")return i}nn();Jt();Vn();async function PI(t,{address:e,blockNumber:r,blockTag:n="latest"}){let o=await xs(t,{address:e,...r!==void 0?{blockNumber:r}:{blockTag:n}});if(o&&te(o)===23&&o.startsWith("0xef0100"))return Re(_t(o,3,23))}K();var nm=class extends v{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function EI(t,e){let{address:r,factory:n,factoryData:o}=e;try{let[i,s,a,c,u,d,l]=await R(t,He,"readContract")({abi:oC,address:r,functionName:"eip712Domain",factory:n,factoryData:o});return{domain:{name:s,version:a,chainId:Number(c),verifyingContract:u,salt:d},extensions:l,fields:i}}catch(i){let s=i;throw s.name==="ContractFunctionExecutionError"&&s.cause.name==="ContractFunctionZeroDataError"?new nm({address:r}):s}}var oC=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];H();function TI(t){return{baseFeePerGas:t.baseFeePerGas.map(e=>BigInt(e)),gasUsedRatio:t.gasUsedRatio,oldestBlock:BigInt(t.oldestBlock),reward:t.reward?.map(e=>e.map(r=>BigInt(r)))}}async function CI(t,{blockCount:e,blockNumber:r,blockTag:n="latest",rewardPercentiles:o}){let i=typeof r=="bigint"?E(r):void 0,s=await t.request({method:"eth_feeHistory",params:[E(e),i||n,o]},{dedupe:!!i});return TI(s)}async function RI(t,{filter:e}){let r=e.strict??!1,o=(await e.request({method:"eth_getFilterLogs",params:[e.id]})).map(i=>rt(i));return e.abi?qa({abi:e.abi,logs:o,strict:r}):o}H();Me();Or();Ut();ut();Su();H();Rp();function R0(t,e){if(t.length!==e.length)throw new pa({expectedLength:t.length,givenLength:e.length});let r=[];for(let n=0;n<t.length;n++){let o=t[n],i=e[n];r.push(NI(o,i))}return Ke(r)}function NI(t,e,r=!1){if(t==="address"){let s=e;if(!Z(s))throw new le({address:s});return mr(s.toLowerCase(),{size:r?32:null})}if(t==="string")return Yt(e);if(t==="bytes")return e;if(t==="bool")return mr(ha(e),{size:r?32:1});let n=t.match(ba);if(n){let[s,a,c="256"]=n,u=Number.parseInt(c,10)/8;return E(e,{size:r?32:u,signed:a==="int"})}let o=t.match(Cp);if(o){let[s,a]=o;if(Number.parseInt(a,10)!==(e.length-2)/2)throw new ga({expectedSize:Number.parseInt(a,10),givenSize:(e.length-2)/2});return mr(e,{dir:"right",size:r?32:null})}let i=t.match(X6);if(i&&Array.isArray(e)){let[s,a]=i,c=[];for(let u=0;u<e.length;u++)c.push(NI(a,e[u],!0));return c.length===0?"0x":Ke(c)}throw new pp(t)}H();gr();ut();vi();H();Qh();Or();K();Ju();co();Ut();Jt();Vn();qe();function BI(t){let{authorizationList:e}=t;if(e)for(let r of e){let{chainId:n}=r,o=r.address;if(!Z(o))throw new le({address:o});if(n<0)throw new fs({chainId:n})}om(t)}function LI(t){let{blobVersionedHashes:e}=t;if(e){if(e.length===0)throw new Wa;for(let r of e){let n=te(r),o=ve(_t(r,0,1));if(n!==32)throw new ff({hash:r,size:n});if(o!==1)throw new mf({hash:r,version:o})}}om(t)}function om(t){let{chainId:e,maxPriorityFeePerGas:r,maxFeePerGas:n,to:o}=t;if(e<=0)throw new fs({chainId:e});if(o&&!Z(o))throw new le({address:o});if(n&&n>Oa)throw new sr({maxFeePerGas:n});if(r&&n&&r>n)throw new zr({maxFeePerGas:n,maxPriorityFeePerGas:r})}function kI(t){let{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:o,to:i}=t;if(e<=0)throw new fs({chainId:e});if(i&&!Z(i))throw new le({address:i});if(r||o)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Oa)throw new sr({maxFeePerGas:n})}function MI(t){let{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:o,to:i}=t;if(i&&!Z(i))throw new le({address:i});if(typeof e<"u"&&e<=0)throw new fs({chainId:e});if(r||o)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Oa)throw new sr({maxFeePerGas:n})}Or();gr();Ut();function td(t){if(!t||t.length===0)return[];let e=[];for(let r=0;r<t.length;r++){let{address:n,storageKeys:o}=t[r];for(let i=0;i<o.length;i++)if(o[i].length-2!==64)throw new Wp({storageKey:o[i]});if(!Z(n,{strict:!1}))throw new le({address:n});e.push([n,o])}return e}function DI(t,e){let r=yf(t);return r==="eip1559"?aC(t,e):r==="eip2930"?cC(t,e):r==="eip4844"?sC(t,e):r==="eip7702"?iC(t,e):uC(t,e)}function iC(t,e){let{authorizationList:r,chainId:n,gas:o,nonce:i,to:s,value:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:d,data:l}=t;BI(t);let p=td(d),f=OI(r);return Ke(["0x04",ao([E(n),i?E(i):"0x",u?E(u):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",a?E(a):"0x",l??"0x",p,f,...cc(t,e)])])}function sC(t,e){let{chainId:r,gas:n,nonce:o,to:i,value:s,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:d,data:l}=t;LI(t);let p=t.blobVersionedHashes,f=t.sidecars;if(t.blobs&&(typeof p>"u"||typeof f>"u")){let x=typeof t.blobs[0]=="string"?t.blobs:t.blobs.map(S=>oe(S)),y=t.kzg,I=$a({blobs:x,kzg:y});if(typeof p>"u"&&(p=lf({commitments:I})),typeof f>"u"){let S=Ha({blobs:x,commitments:I,kzg:y});f=gf({blobs:x,commitments:I,proofs:S})}}let g=td(d),m=[E(r),o?E(o):"0x",u?E(u):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",s?E(s):"0x",l??"0x",g,a?E(a):"0x",p??[],...cc(t,e)],h=[],b=[],w=[];if(f)for(let x=0;x<f.length;x++){let{blob:y,commitment:I,proof:S}=f[x];h.push(y),b.push(I),w.push(S)}return Ke(["0x03",f?ao([m,h,b,w]):ao(m)])}function aC(t,e){let{chainId:r,gas:n,nonce:o,to:i,value:s,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:u,data:d}=t;om(t);let l=td(u),p=[E(r),o?E(o):"0x",c?E(c):"0x",a?E(a):"0x",n?E(n):"0x",i??"0x",s?E(s):"0x",d??"0x",l,...cc(t,e)];return Ke(["0x02",ao(p)])}function cC(t,e){let{chainId:r,gas:n,data:o,nonce:i,to:s,value:a,accessList:c,gasPrice:u}=t;kI(t);let d=td(c),l=[E(r),i?E(i):"0x",u?E(u):"0x",n?E(n):"0x",s??"0x",a?E(a):"0x",o??"0x",d,...cc(t,e)];return Ke(["0x01",ao(l)])}function uC(t,e){let{chainId:r=0,gas:n,data:o,nonce:i,to:s,value:a,gasPrice:c}=t;MI(t);let u=[i?E(i):"0x",c?E(c):"0x",n?E(n):"0x",s??"0x",a?E(a):"0x",o??"0x"];if(e){let d=(()=>{if(e.v>=35n)return(e.v-35n)/2n>0?e.v:27n+(e.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+e.v-27n);let f=27n+(e.v===27n?0n:1n);if(e.v!==f)throw new $p({v:e.v});return f})(),l=Ve(e.r),p=Ve(e.s);u=[...u,E(d),l==="0x00"?"0x":l,p==="0x00"?"0x":p]}else r>0&&(u=[...u,E(r),"0x","0x"]);return ao(u)}function cc(t,e){let r=e??t,{v:n,yParity:o}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof o>"u")return[];let i=Ve(r.r),s=Ve(r.s);return[typeof o=="number"?o?E(1):"0x":n===0n?"0x":n===1n?E(1):n===27n?"0x":E(1),i==="0x00"?"0x":i,s==="0x00"?"0x":s]}function OI(t){if(!t||t.length===0)return[];let e=[];for(let r of t){let{chainId:n,nonce:o,...i}=r,s=r.address;e.push([n?Ae(n):"0x",s,o?Ae(o):"0x",...cc({},i)])}return e}nn();us();async function FI({address:t,authorization:e,signature:r}){return cr(Re(t),await Uo({authorization:e,signature:r}))}K();ko();Zi();Ti();var im=new jt(8192);function jI(t,{enabled:e=!0,id:r}){if(!e||!r)return t();if(im.get(r))return im.get(r);let n=t().finally(()=>im.delete(r));return im.set(r,n),n}yt();function UI(t,e={}){return async(r,n={})=>{let{dedupe:o=!1,methods:i,retryDelay:s=150,retryCount:a=3,uid:c}={...e,...n},{method:u}=r;if(i?.exclude?.includes(u))throw new Yn(new Error("method not supported"),{method:u});if(i?.include&&!i.include.includes(u))throw new Yn(new Error("method not supported"),{method:u});let d=o?lC(`${c}.${re(r)}`):void 0;return jI(()=>bs(async()=>{try{return await t(r)}catch(l){let p=l;switch(p.code){case Li.code:throw new Li(p);case ki.code:throw new ki(p);case Mi.code:throw new Mi(p,{method:r.method});case Di.code:throw new Di(p);case cn.code:throw new cn(p);case rr.code:throw new rr(p);case Oi.code:throw new Oi(p);case Fi.code:throw new Fi(p);case ji.code:throw new ji(p);case Yn.code:throw new Yn(p,{method:r.method});case Mo.code:throw new Mo(p);case Ui.code:throw new Ui(p);case Ur.code:throw new Ur(p);case _i.code:throw new _i(p);case zi.code:throw new zi(p);case $i.code:throw new $i(p);case Hi.code:throw new Hi(p);case Wi.code:throw new Wi(p);case Xn.code:throw new Xn(p);case Gi.code:throw new Gi(p);case Vi.code:throw new Vi(p);case qi.code:throw new qi(p);case Ki.code:throw new Ki(p);case Qi.code:throw new Qi(p);case eo.code:throw new eo(p);case 5e3:throw new Ur(p);case Ta.code:throw new Ta(p);default:throw l instanceof v?l:new Lu(p)}}},{delay:({count:l,error:p})=>{if(p&&p instanceof tr){let f=p?.headers?.get("Retry-After");if(f?.match(/\d/))return Number.parseInt(f,10)*1e3}return~~(1<<l)*s},retryCount:a,shouldRetry:({error:l})=>dC(l)}),{enabled:o,id:d})}}function dC(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===Mo.code||t.code===cn.code||t.code===429:t instanceof tr&&t.status?t.status===403||t.status===408||t.status===413||t.status===429||t.status===500||t.status===502||t.status===503||t.status===504:!0}function lC(t,e=0){let r=3735928559^e,n=1103547991^e;for(let o=0;o<t.length;o++){let i=t.charCodeAt(o);r=Math.imul(r^i,2654435761),n=Math.imul(n^i,1597334677)}return r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),(4294967296*(2097151&n)+(r>>>0)).toString(36)}function N0(t){let e={formatters:void 0,fees:void 0,serializers:void 0,...t};function r(n){return o=>{let i=typeof o=="function"?o(n):o,s={...n,...i};return Object.assign(s,{extend:r(s)})}}return Object.assign(e,{extend:r(e)})}qe();ko();function _I(t,{errorInstance:e=new Error("timed out"),timeout:r,signal:n}){return new Promise((o,i)=>{(async()=>{let s;try{let a=new AbortController;r>0&&(s=setTimeout(()=>{n?a.abort():i(e)},r)),o(await t({signal:a?.signal||null}))}catch(a){a?.name==="AbortError"&&i(e),i(a)}finally{clearTimeout(s)}})()})}yt();function pC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var B0=pC();function zI(t,e={}){let{url:r,headers:n}=fC(t);return{async request(o){let{body:i,fetchFn:s=e.fetchFn??fetch,onRequest:a=e.onRequest,onResponse:c=e.onResponse,timeout:u=e.timeout??1e4}=o,d={...e.fetchOptions??{},...o.fetchOptions??{}},{headers:l,method:p,signal:f}=d;try{let g=await _I(async({signal:h})=>{let b={...d,body:Array.isArray(i)?re(i.map(I=>({jsonrpc:"2.0",id:I.id??B0.take(),...I}))):re({jsonrpc:"2.0",id:i.id??B0.take(),...i}),headers:{...n,"Content-Type":"application/json",...l},method:p||"POST",signal:f||(u>0?h:null)},w=new Request(r,b),x=await a?.(w,b)??{...b,url:r};return await s(x.url??r,x)},{errorInstance:new Jn({body:i,url:r}),timeout:u,signal:!0});c&&await c(g);let m;if(g.headers.get("Content-Type")?.startsWith("application/json"))m=await g.json();else{m=await g.text();try{m=JSON.parse(m||"{}")}catch(h){if(g.ok)throw h;m={error:m}}}if(!g.ok){if(typeof m.error?.code=="number"&&typeof m.error?.message=="string")return m;throw new tr({body:i,details:re(m.error)||g.statusText,headers:g.headers,status:g.status,url:r})}return m}catch(g){throw g instanceof tr||g instanceof Jn?g:new tr({body:i,cause:g,url:r})}}}}function fC(t){try{let e=new URL(t),r=(()=>{if(e.username){let n=`${decodeURIComponent(e.username)}:${decodeURIComponent(e.password)}`;return e.username="",e.password="",{url:e.toString(),headers:{Authorization:`Basic ${btoa(n)}`}}}})();return{url:e.toString(),...r}}catch{return{url:t}}}er();var $I=`Ethereum Signed Message:
|
|
42
|
-
`;ut();Jt();H();function HI(t){let e=typeof t=="string"?Yt(t):typeof t.raw=="string"?t.raw:oe(t.raw),r=Yt(`${$I}${te(e)}`);return be([r,e])}function Qo(t,e){return ie(HI(t),e)}qn();ut();H();er();Me();Or();yt();K();var sm=class extends v{constructor({domain:e}){super(`Invalid domain "${re(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},am=class extends v{constructor({primaryType:e,types:r}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}},cm=class extends v{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};Ut();Jt();H();Rp();yt();function WI(t){let{domain:e,message:r,primaryType:n,types:o}=t,i=(c,u)=>{let d={...u};for(let l of c){let{name:p,type:f}=l;f==="address"&&(d[p]=d[p].toLowerCase())}return d},s=o.EIP712Domain?e?i(o.EIP712Domain,e):{}:{},a=(()=>{if(n!=="EIP712Domain")return i(o[n],r)})();return re({domain:s,message:a,primaryType:n,types:o})}function um(t){let{domain:e,message:r,primaryType:n,types:o}=t,i=(s,a)=>{for(let c of s){let{name:u,type:d}=c,l=a[u],p=d.match(ba);if(p&&(typeof l=="number"||typeof l=="bigint")){let[m,h,b]=p;E(l,{signed:h==="int",size:Number.parseInt(b,10)/8})}if(d==="address"&&typeof l=="string"&&!Z(l))throw new le({address:l});let f=d.match(Cp);if(f){let[m,h]=f;if(h&&te(l)!==Number.parseInt(h,10))throw new ga({expectedSize:Number.parseInt(h,10),givenSize:te(l)})}let g=o[d];g&&(mC(d),i(g,l))}};if(o.EIP712Domain&&e){if(typeof e!="object")throw new sm({domain:e});i(o.EIP712Domain,e)}if(n!=="EIP712Domain")if(o[n])i(o[n],r);else throw new am({primaryType:n,types:o})}function dm({domain:t}){return[typeof t?.name=="string"&&{name:"name",type:"string"},t?.version&&{name:"version",type:"string"},(typeof t?.chainId=="number"||typeof t?.chainId=="bigint")&&{name:"chainId",type:"uint256"},t?.verifyingContract&&{name:"verifyingContract",type:"address"},t?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function mC(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new cm({type:t})}function lm(t){let{domain:e={},message:r,primaryType:n}=t,o={EIP712Domain:dm({domain:e}),...t.types};um({domain:e,message:r,primaryType:n,types:o});let i=["0x1901"];return e&&i.push(gC({domain:e,types:o})),n!=="EIP712Domain"&&i.push(GI({data:r,primaryType:n,types:o})),ie(be(i))}function gC({domain:t,types:e}){return GI({data:t,primaryType:"EIP712Domain",types:e})}function GI({data:t,primaryType:e,types:r}){let n=VI({data:t,primaryType:e,types:r});return ie(n)}function VI({data:t,primaryType:e,types:r}){let n=[{type:"bytes32"}],o=[yC({primaryType:e,types:r})];for(let i of r[e]){let[s,a]=KI({types:r,name:i.name,type:i.type,value:t[i.name]});n.push(s),o.push(a)}return Tt(n,o)}function yC({primaryType:t,types:e}){let r=Ae(hC({primaryType:t,types:e}));return ie(r)}function hC({primaryType:t,types:e}){let r="",n=qI({primaryType:t,types:e});n.delete(t);let o=[t,...Array.from(n).sort()];for(let i of o)r+=`${i}(${e[i].map(({name:s,type:a})=>`${a} ${s}`).join(",")})`;return r}function qI({primaryType:t,types:e},r=new Set){let o=t.match(/^\w*/u)?.[0];if(r.has(o)||e[o]===void 0)return r;r.add(o);for(let i of e[o])qI({primaryType:i.type,types:e},r);return r}function KI({types:t,name:e,type:r,value:n}){if(t[r]!==void 0)return[{type:"bytes32"},ie(VI({data:n,primaryType:r,types:t}))];if(r==="bytes")return[{type:"bytes32"},ie(n)];if(r==="string")return[{type:"bytes32"},ie(Ae(n))];if(r.lastIndexOf("]")===r.length-1){let o=r.slice(0,r.lastIndexOf("[")),i=n.map(s=>KI({name:e,type:o,types:t,value:s}));return[{type:"bytes32"},ie(Tt(i.map(([s])=>s),i.map(([,s])=>s)))]}return[{type:r},n]}var cd={};vt(cd,{InvalidWrappedSignatureError:()=>Em,assert:()=>Tm,from:()=>YC,magicBytes:()=>nb,suffixParameters:()=>ob,unwrap:()=>gS,validate:()=>eR,wrap:()=>XC});mu();Ho();var pm=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let r=super.get(e);return super.has(e)&&r!==void 0&&(this.delete(e),super.set(e,r)),r}set(e,r){if(super.set(e,r),this.maxSize&&this.size>this.maxSize){let n=this.keys().next().value;n&&this.delete(n)}return this}};var bC={checksum:new pm(8192)},fm=bC.checksum;Ht();ah();Ho();nt();function ws(t,e={}){let{as:r=typeof t=="string"?"Hex":"Bytes"}=e,n=Pp(L2(t));return r==="Bytes"?n:je(n)}Ho();Ht();nt();Vu();function QI(t,e={}){let{compressed:r}=e,{prefix:n,x:o,y:i}=t;if(r===!1||typeof o=="bigint"&&typeof i=="bigint"){if(n!==4)throw new mm({prefix:n,cause:new D0});return}if(r===!0||typeof o=="bigint"&&typeof i>"u"){if(n!==3&&n!==2)throw new mm({prefix:n,cause:new M0});return}throw new k0({publicKey:t})}function ZI(t){let e=(()=>{if(Ku(t))return JI(t);if(j2(t))return wC(t);let{prefix:r,x:n,y:o}=t;return typeof n=="bigint"&&typeof o=="bigint"?{prefix:r??4,x:n,y:o}:{prefix:r,x:n}})();return QI(e),e}function wC(t){return JI(je(t))}function JI(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new O0({publicKey:t});if(t.length===130){let n=BigInt(Ee(t,0,32)),o=BigInt(Ee(t,32,64));return{prefix:4,x:n,y:o}}if(t.length===132){let n=Number(Ee(t,0,1)),o=BigInt(Ee(t,1,33)),i=BigInt(Ee(t,33,65));return{prefix:n,x:o,y:i}}let e=Number(Ee(t,0,1)),r=BigInt(Ee(t,1,33));return{prefix:e,x:r}}function F0(t,e={}){QI(t);let{prefix:r,x:n,y:o}=t,{includePrefix:i=!0}=e;return Be(i?ce(r,{size:1}):"0x",ce(n,{size:32}),typeof o=="bigint"?ce(o,{size:32}):"0x")}var k0=class extends _{constructor({publicKey:e}){super(`Value \`${Wo(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}},mm=class extends _{constructor({prefix:e,cause:r}){super(`Prefix "${e}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}},M0=class extends _{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}},D0=class extends _{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},O0=class extends _{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${Pe(Xa(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var IC=/^0x[a-fA-F0-9]{40}$/;function Is(t,e={}){let{strict:r=!0}=e;if(!IC.test(t))throw new gm({address:t,cause:new j0});if(r){if(t.toLowerCase()===t)return;if(ym(t)!==t)throw new gm({address:t,cause:new U0})}}function ym(t){if(fm.has(t))return fm.get(t);Is(t,{strict:!1});let e=t.substring(2).toLowerCase(),r=ws(k2(e),{as:"Bytes"}),n=e.split("");for(let i=0;i<40;i+=2)r[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(r[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());let o=`0x${n.join("")}`;return fm.set(t,o),o}function SC(t,e={}){let{checksum:r=!1}=e;return Is(t),r?ym(t):t}function XI(t,e={}){let r=ws(`0x${F0(t).slice(4)}`).substring(26);return SC(`0x${r}`,e)}function hm(t,e={}){let{strict:r=!0}=e??{};try{return Is(t,{strict:r}),!0}catch{return!1}}var gm=class extends _{constructor({address:e,cause:r}){super(`Address "${e}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}},j0=class extends _{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}},U0=class extends _{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Ho();Ht();nt();Ho();Ht();nt();var eS=/^(.*)\[([0-9]*)\]$/,tS=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,xm=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,cY=2n**(8n-1n)-1n,uY=2n**(16n-1n)-1n,dY=2n**(24n-1n)-1n,lY=2n**(32n-1n)-1n,pY=2n**(40n-1n)-1n,fY=2n**(48n-1n)-1n,mY=2n**(56n-1n)-1n,gY=2n**(64n-1n)-1n,yY=2n**(72n-1n)-1n,hY=2n**(80n-1n)-1n,bY=2n**(88n-1n)-1n,xY=2n**(96n-1n)-1n,wY=2n**(104n-1n)-1n,IY=2n**(112n-1n)-1n,SY=2n**(120n-1n)-1n,vY=2n**(128n-1n)-1n,AY=2n**(136n-1n)-1n,PY=2n**(144n-1n)-1n,EY=2n**(152n-1n)-1n,TY=2n**(160n-1n)-1n,CY=2n**(168n-1n)-1n,RY=2n**(176n-1n)-1n,NY=2n**(184n-1n)-1n,BY=2n**(192n-1n)-1n,LY=2n**(200n-1n)-1n,kY=2n**(208n-1n)-1n,MY=2n**(216n-1n)-1n,DY=2n**(224n-1n)-1n,OY=2n**(232n-1n)-1n,FY=2n**(240n-1n)-1n,jY=2n**(248n-1n)-1n,UY=2n**(256n-1n)-1n,_Y=-(2n**(8n-1n)),zY=-(2n**(16n-1n)),$Y=-(2n**(24n-1n)),HY=-(2n**(32n-1n)),WY=-(2n**(40n-1n)),GY=-(2n**(48n-1n)),VY=-(2n**(56n-1n)),qY=-(2n**(64n-1n)),KY=-(2n**(72n-1n)),QY=-(2n**(80n-1n)),ZY=-(2n**(88n-1n)),JY=-(2n**(96n-1n)),YY=-(2n**(104n-1n)),XY=-(2n**(112n-1n)),eX=-(2n**(120n-1n)),tX=-(2n**(128n-1n)),rX=-(2n**(136n-1n)),nX=-(2n**(144n-1n)),oX=-(2n**(152n-1n)),iX=-(2n**(160n-1n)),sX=-(2n**(168n-1n)),aX=-(2n**(176n-1n)),cX=-(2n**(184n-1n)),uX=-(2n**(192n-1n)),dX=-(2n**(200n-1n)),lX=-(2n**(208n-1n)),pX=-(2n**(216n-1n)),fX=-(2n**(224n-1n)),mX=-(2n**(232n-1n)),gX=-(2n**(240n-1n)),yX=-(2n**(248n-1n)),hX=-(2n**(256n-1n)),bX=2n**8n-1n,xX=2n**16n-1n,wX=2n**24n-1n,IX=2n**32n-1n,SX=2n**40n-1n,vX=2n**48n-1n,AX=2n**56n-1n,PX=2n**64n-1n,EX=2n**72n-1n,TX=2n**80n-1n,CX=2n**88n-1n,RX=2n**96n-1n,NX=2n**104n-1n,BX=2n**112n-1n,LX=2n**120n-1n,kX=2n**128n-1n,MX=2n**136n-1n,DX=2n**144n-1n,OX=2n**152n-1n,FX=2n**160n-1n,jX=2n**168n-1n,UX=2n**176n-1n,_X=2n**184n-1n,zX=2n**192n-1n,$X=2n**200n-1n,HX=2n**208n-1n,WX=2n**216n-1n,GX=2n**224n-1n,VX=2n**232n-1n,qX=2n**240n-1n,KX=2n**248n-1n,_0=2n**256n-1n;function Ss(t,e,r){let{checksumAddress:n,staticPosition:o}=r,i=H0(e.type);if(i){let[s,a]=i;return AC(t,{...e,type:a},{checksumAddress:n,length:s,staticPosition:o})}if(e.type==="tuple")return CC(t,e,{checksumAddress:n,staticPosition:o});if(e.type==="address")return vC(t,{checksum:n});if(e.type==="bool")return PC(t);if(e.type.startsWith("bytes"))return EC(t,e,{staticPosition:o});if(e.type.startsWith("uint")||e.type.startsWith("int"))return TC(t,e);if(e.type==="string")return RC(t,{staticPosition:o});throw new uc(e.type)}var nS=32,z0=32;function vC(t,e={}){let{checksum:r=!1}=e,n=t.readBytes(32);return[(i=>r?ym(i):i)(je(M2(n,-20))),32]}function AC(t,e,r){let{checksumAddress:n,length:o,staticPosition:i}=r;if(!o){let c=gn(t.readBytes(z0)),u=i+c,d=u+nS;t.setPosition(u);let l=gn(t.readBytes(nS)),p=rd(e),f=0,g=[];for(let m=0;m<l;++m){t.setPosition(d+(p?m*32:f));let[h,b]=Ss(t,e,{checksumAddress:n,staticPosition:d});f+=b,g.push(h)}return t.setPosition(i+32),[g,32]}if(rd(e)){let c=gn(t.readBytes(z0)),u=i+c,d=[];for(let l=0;l<o;++l){t.setPosition(u+l*32);let[p]=Ss(t,e,{checksumAddress:n,staticPosition:u});d.push(p)}return t.setPosition(i+32),[d,32]}let s=0,a=[];for(let c=0;c<o;++c){let[u,d]=Ss(t,e,{checksumAddress:n,staticPosition:i+s});s+=d,a.push(u)}return[a,s]}function PC(t){return[O2(t.readBytes(32),{size:32}),32]}function EC(t,e,{staticPosition:r}){let[n,o]=e.type.split("bytes");if(!o){let s=gn(t.readBytes(32));t.setPosition(r+s);let a=gn(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];let c=t.readBytes(a);return t.setPosition(r+32),[je(c),32]}return[je(t.readBytes(Number.parseInt(o,10),32)),32]}function TC(t,e){let r=e.type.startsWith("int"),n=Number.parseInt(e.type.split("int")[1]||"256",10),o=t.readBytes(32);return[n>48?D2(o,{signed:r}):gn(o,{signed:r}),32]}function CC(t,e,r){let{checksumAddress:n,staticPosition:o}=r,i=e.components.length===0||e.components.some(({name:c})=>!c),s=i?[]:{},a=0;if(rd(e)){let c=gn(t.readBytes(z0)),u=o+c;for(let d=0;d<e.components.length;++d){let l=e.components[d];t.setPosition(u+a);let[p,f]=Ss(t,l,{checksumAddress:n,staticPosition:u});a+=f,s[i?d:l?.name]=p}return t.setPosition(o+32),[s,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[d,l]=Ss(t,u,{checksumAddress:n,staticPosition:o});s[i?c:u?.name]=d,a+=l}return[s,a]}function RC(t,{staticPosition:e}){let r=gn(t.readBytes(32)),n=e+r;t.setPosition(n);let o=gn(t.readBytes(32));if(o===0)return t.setPosition(e+32),["",32];let i=t.readBytes(o,32),s=F2(i0(i));return t.setPosition(e+32),[s,32]}function oS({checksumAddress:t,parameters:e,values:r}){let n=[];for(let o=0;o<e.length;o++)n.push($0({checksumAddress:t,parameter:e[o],value:r[o]}));return n}function $0({checksumAddress:t=!1,parameter:e,value:r}){let n=e,o=H0(n.type);if(o){let[i,s]=o;return BC(r,{checksumAddress:t,length:i,parameter:{...n,type:s}})}if(n.type==="tuple")return OC(r,{checksumAddress:t,parameter:n});if(n.type==="address")return NC(r,{checksum:t});if(n.type==="bool")return kC(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){let i=n.type.startsWith("int"),[,,s="256"]=xm.exec(n.type)??[];return MC(r,{signed:i,size:Number(s)})}if(n.type.startsWith("bytes"))return LC(r,{type:n.type});if(n.type==="string")return DC(r);throw new uc(n.type)}function wm(t){let e=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?e+=32:e+=Pe(a)}let r=[],n=[],o=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?(r.push(ce(e+o,{size:32})),n.push(a),o+=Pe(a)):r.push(a)}return Be(...r,...n)}function NC(t,e){let{checksum:r=!1}=e;return Is(t,{strict:r}),{dynamic:!1,encoded:fo(t.toLowerCase())}}function BC(t,e){let{checksumAddress:r,length:n,parameter:o}=e,i=n===null;if(!Array.isArray(t))throw new Sm(t);if(!i&&t.length!==n)throw new Im({expectedLength:n,givenLength:t.length,type:`${o.type}[${n}]`});let s=!1,a=[];for(let c=0;c<t.length;c++){let u=$0({checksumAddress:r,parameter:o,value:t[c]});u.dynamic&&(s=!0),a.push(u)}if(i||s){let c=wm(a);if(i){let u=ce(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Be(u,c):u}}if(s)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Be(...a.map(({encoded:c})=>c))}}function LC(t,{type:e}){let[,r]=e.split("bytes"),n=Pe(t);if(!r){let o=t;return n%32!==0&&(o=yn(o,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:Be(fo(ce(n,{size:32})),o)}}if(n!==Number.parseInt(r,10))throw new nd({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:yn(t)}}function kC(t){if(typeof t!="boolean")throw new _(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:fo(Ef(t))}}function MC(t,{signed:e,size:r}){if(typeof r=="number"){let n=2n**(BigInt(r)-(e?1n:0n))-1n,o=e?-n-1n:0n;if(t>n||t<o)throw new qu({max:n.toString(),min:o.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:ce(t,{size:32,signed:e})}}function DC(t){let e=ec(t),r=Math.ceil(Pe(e)/32),n=[];for(let o=0;o<r;o++)n.push(yn(Ee(e,o*32,(o+1)*32)));return{dynamic:!0,encoded:Be(yn(ce(Pe(e),{size:32})),...n)}}function OC(t,e){let{checksumAddress:r,parameter:n}=e,o=!1,i=[];for(let s=0;s<n.components.length;s++){let a=n.components[s],c=Array.isArray(t)?s:a.name,u=$0({checksumAddress:r,parameter:a,value:t[c]});i.push(u),u.dynamic&&(o=!0)}return{dynamic:o,encoded:o?wm(i):Be(...i.map(({encoded:s})=>s))}}function H0(t){let e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function rd(t){let{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return!0;if(e==="tuple")return t.components?.some(rd);let r=H0(t.type);return!!(r&&rd({...t,type:r[1]}))}Ht();var jC={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new G0({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new W0({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new vm({offset:t});let e=this.position-t;this.assertPosition(e),this.position=e},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new vm({offset:t});let e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){let r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){let e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){let e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){let e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();let r=this.inspectBytes(t);return this.position+=e??t,r},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function Am(t,{recursiveReadLimit:e=8192}={}){let r=Object.create(jC);return r.bytes=t,r.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}var vm=class extends _{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},W0=class extends _{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}},G0=class extends _{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}};function dc(t,e,r={}){let{as:n="Array",checksumAddress:o=!1}=r,i=typeof e=="string"?Ya(e):e,s=Am(i);if(hr(i)===0&&t.length>0)throw new K0;if(hr(i)&&hr(i)<32)throw new q0({data:typeof e=="string"?e:je(e),parameters:t,size:hr(i)});let a=0,c=n==="Array"?[]:{};for(let u=0;u<t.length;++u){let d=t[u];s.setPosition(a);let[l,p]=Ss(s,d,{checksumAddress:o,staticPosition:0});a+=p,n==="Array"?c.push(l):c[d.name??u]=l}return c}function Zo(t,e,r){let{checksumAddress:n=!1}=r??{};if(t.length!==e.length)throw new Pm({expectedLength:t.length,givenLength:e.length});let o=oS({checksumAddress:n,parameters:t,values:e}),i=wm(o);return i.length===0?"0x":i}function V0(t,e){if(t.length!==e.length)throw new Pm({expectedLength:t.length,givenLength:e.length});let r=[];for(let n=0;n<t.length;n++){let o=t[n],i=e[n];r.push(V0.encode(o,i))}return Be(...r)}(function(t){function e(r,n,o=!1){if(r==="address"){let c=n;return Is(c),fo(c.toLowerCase(),o?32:0)}if(r==="string")return ec(n);if(r==="bytes")return n;if(r==="bool")return fo(Ef(n),o?32:1);let i=r.match(xm);if(i){let[c,u,d="256"]=i,l=Number.parseInt(d,10)/8;return ce(n,{size:o?32:l,signed:u==="int"})}let s=r.match(tS);if(s){let[c,u]=s;if(Number.parseInt(u,10)!==(n.length-2)/2)throw new nd({expectedSize:Number.parseInt(u,10),value:n});return yn(n,o?32:0)}let a=r.match(eS);if(a&&Array.isArray(n)){let[c,u]=a,d=[];for(let l=0;l<n.length;l++)d.push(e(u,n[l],!0));return d.length===0?"0x":Be(...d)}throw new uc(r)}t.encode=e})(V0||(V0={}));function id(t){return Array.isArray(t)&&typeof t[0]=="string"?ep(t):typeof t=="string"?ep(t):t}var q0=class extends _{constructor({data:e,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${_n(r)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},K0=class extends _{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},Im=class extends _{constructor({expectedLength:e,givenLength:r,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${e}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}},nd=class extends _{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${Pe(r)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},Pm=class extends _{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${r}`].join(`
|
|
43
|
-
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}},Sm=class extends _{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},uc=class extends _{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}};nt();Ho();Ht();nt();function UC(t,e){let{as:r}=e,n=aS(t),o=Am(new Uint8Array(n.length));return n.encode(o),r==="Hex"?je(o.bytes):o.bytes}function sS(t,e={}){let{as:r="Hex"}=e;return UC(t,{as:r})}function aS(t){return Array.isArray(t)?_C(t.map(e=>aS(e))):zC(t)}function _C(t){let e=t.reduce((o,i)=>o+i.length,0),r=cS(e);return{length:e<=55?1+e:1+r+e,encode(o){e<=55?o.pushByte(192+e):(o.pushByte(247+r),r===1?o.pushUint8(e):r===2?o.pushUint16(e):r===3?o.pushUint24(e):o.pushUint32(e));for(let{encode:i}of t)i(o)}}}function zC(t){let e=typeof t=="string"?Ya(t):t,r=cS(e.length);return{length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+r+e.length,encode(o){e.length===1&&e[0]<128?o.pushBytes(e):e.length<=55?(o.pushByte(128+e.length),o.pushBytes(e)):(o.pushByte(183+r),r===1?o.pushUint8(e.length):r===2?o.pushUint16(e.length):r===3?o.pushUint24(e.length):o.pushUint32(e.length),o.pushBytes(e))}}}function cS(t){if(t<=255)return 1;if(t<=65535)return 2;if(t<=16777215)return 3;if(t<=4294967295)return 4;throw new _("Length is too large.")}Ht();nt();Vu();function X0(t,e={}){let{recovered:r}=e;if(typeof t.r>"u")throw new sd({signature:t});if(typeof t.s>"u")throw new sd({signature:t});if(r&&typeof t.yParity>"u")throw new sd({signature:t});if(t.r<0n||t.r>_0)throw new Z0({value:t.r});if(t.s<0n||t.s>_0)throw new J0({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new ad({value:t.yParity})}function HC(t){return uS(je(t))}function uS(t){if(t.length!==130&&t.length!==132)throw new Q0({signature:t});let e=BigInt(Ee(t,0,32)),r=BigInt(Ee(t,32,64)),n=(()=>{let o=+`0x${t.slice(130)}`;if(!Number.isNaN(o))try{return rb(o)}catch{throw new ad({value:o})}})();return typeof n>"u"?{r:e,s:r}:{r:e,s:r,yParity:n}}function eb(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return tb(t)}function tb(t){let e=typeof t=="string"?uS(t):t instanceof Uint8Array?HC(t):typeof t.r=="string"?GC(t):t.v?WC(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return X0(e),e}function WC(t){return{r:t.r,s:t.s,yParity:rb(t.v)}}function GC(t){let e=(()=>{let r=t.v?Number(t.v):void 0,n=t.yParity?Number(t.yParity):void 0;if(typeof r=="number"&&typeof n!="number"&&(n=rb(r)),typeof n!="number")throw new ad({value:t.yParity});return n})();return{r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function dS(t){let{r:e,s:r,yParity:n}=t;return[n?"0x01":"0x",e===0n?"0x":a0(ce(e)),r===0n?"0x":a0(ce(r))]}function rb(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new Y0({value:t})}var Q0=class extends _{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Pe(Xa(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},sd=class extends _{constructor({signature:e}){super(`Signature \`${Wo(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},Z0=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}},J0=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}},ad=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}},Y0=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}};function pS(t,e={}){return typeof t.chainId=="string"?VC(t):{...t,...e.signature}}function VC(t){let{address:e,chainId:r,nonce:n}=t,o=eb(t);return{address:e,chainId:Number(r),nonce:BigInt(n),...o}}function fS(t){return qC(t,{presign:!0})}function qC(t,e={}){let{presign:r}=e;return ws(Be("0x05",sS(KC(r?{address:t.address,chainId:t.chainId,nonce:t.nonce}:t))))}function KC(t){let{address:e,chainId:r,nonce:n}=t,o=eb(t);return[r?ce(r):"0x",e,n?ce(n):"0x",...o?dS(o):[]]}Ht();nt();Ma();nt();function mS(t){return XI(ZC(t))}function ZC(t){let{payload:e,signature:r}=t,{r:n,s:o,yParity:i}=r,a=new ir.Signature(BigInt(n),BigInt(o)).addRecoveryBit(i).recoverPublicKey(Xa(e).substring(2));return ZI(a)}var nb="0x8010801080108010801080108010801080108010801080108010801080108010",ob=id("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function Tm(t){if(typeof t=="string"){if(Ee(t,-32)!==nb)throw new Em(t)}else X0(t.authorization)}function YC(t){return typeof t=="string"?gS(t):t}function gS(t){Tm(t);let e=vf(Ee(t,-64,-32)),r=Ee(t,-e-64,-64),n=Ee(t,0,-e-64),[o,i,s]=dc(ob,r);return{authorization:pS({address:o.delegation,chainId:Number(o.chainId),nonce:o.nonce,yParity:o.yParity,r:o.r,s:o.s}),signature:n,...s&&s!=="0x"?{data:s,to:i}:{}}}function XC(t){let{data:e,signature:r}=t;Tm(t);let n=mS({payload:fS(t.authorization),signature:tb(t.authorization)}),o=Zo(ob,[{...t.authorization,delegation:t.authorization.address,chainId:BigInt(t.authorization.chainId)},t.to??n,e??"0x"]),i=ce(Pe(o),{size:32});return Be(r,o,i,nb)}function eR(t){try{return Tm(t),!0}catch{return!1}}var Em=class extends _{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};async function ud({message:t,signature:e}){return ts({hash:Qo(t),signature:e})}jp();K();var Cm=class extends v{constructor({value:e}){super(`Number \`${e}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function yS(t,e){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(t))throw new Cm({value:t});let[r,n="0"]=t.split("."),o=r.startsWith("-");if(o&&(r=r.slice(1)),n=n.replace(/(0+)$/,""),e===0)Math.round(+`.${n}`)===1&&(r=`${BigInt(r)+1n}`),n="";else if(n.length>e){let[i,s,a]=[n.slice(0,e-1),n.slice(e-1,e),n.slice(e)],c=Math.round(+`${s}.${a}`);c>9?n=`${BigInt(i)+BigInt(1)}0`.padStart(i.length+1,"0"):n=`${i}${c}`,n.length>e&&(n=n.slice(1),r=`${BigInt(r)+1n}`),n=n.slice(0,e)}else n=n.padEnd(e,"0");return BigInt(`${o?"-":""}${r}${n}`)}function dd(t,e="wei"){return yS(t,Fp[e])}function rR(t){return t.map(e=>({...e,value:BigInt(e.value)}))}function hS(t){return{...t,balance:t.balance?BigInt(t.balance):void 0,nonce:t.nonce?ve(t.nonce):void 0,storageProof:t.storageProof?rR(t.storageProof):void 0}}async function bS(t,{address:e,blockNumber:r,blockTag:n,storageKeys:o}){let i=n??"latest",s=r!==void 0?E(r):void 0,a=await t.request({method:"eth_getProof",params:[e,o,s||i]});return hS(a)}H();async function xS(t,{address:e,blockNumber:r,blockTag:n="latest",slot:o}){let i=r!==void 0?E(r):void 0;return await t.request({method:"eth_getStorageAt",params:[e,o,i||n]})}gr();H();async function lc(t,{blockHash:e,blockNumber:r,blockTag:n,hash:o,index:i,sender:s,nonce:a}){let c=n||"latest",u=r!==void 0?E(r):void 0,d=null;if(o?d=await t.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):e?d=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[e,E(i)]},{dedupe:!0}):(u||c)&&typeof i=="number"?d=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||c,E(i)]},{dedupe:!!u}):s&&typeof a=="number"&&(d=await t.request({method:"eth_getTransactionBySenderAndNonce",params:[s,E(a)]},{dedupe:!0})),!d)throw new Aa({blockHash:e,blockNumber:r,blockTag:c,hash:o,index:i});return(t.chain?.formatters?.transaction?.format||Ua)(d,"getTransaction")}async function wS(t,{hash:e,transactionReceipt:r}){let[n,o]=await Promise.all([R(t,bn,"getBlockNumber")({}),e?R(t,lc,"getTransaction")({hash:e}):void 0]),i=r?.blockNumber||o?.blockNumber;return i?n-i+1n:0n}gr();async function pc(t,{hash:e}){let r=await t.request({method:"eth_getTransactionReceipt",params:[e]},{dedupe:!0});if(!r)throw new Pa({hash:e});return(t.chain?.formatters?.transactionReceipt?.format||zf)(r,"getTransactionReceipt")}mo();Qu();Me();K();Qn();lo();Ct();gs();async function IS(t,e){let{account:r,authorizationList:n,allowFailure:o=!0,blockNumber:i,blockOverrides:s,blockTag:a,stateOverride:c}=e,u=e.contracts,{batchSize:d=e.batchSize??1024,deployless:l=e.deployless??!1}=typeof t.batch?.multicall=="object"?t.batch.multicall:{},p=(()=>{if(e.multicallAddress)return e.multicallAddress;if(l)return null;if(t.chain)return br({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),f=[[]],g=0,m=0;for(let w=0;w<u.length;w++){let{abi:x,address:y,args:I,functionName:S}=u[w];try{let A=ue({abi:x,args:I,functionName:S});m+=(A.length-2)/2,d>0&&m>d&&f[g].length>0&&(g++,m=(A.length-2)/2,f[g]=[]),f[g]=[...f[g],{allowFailure:!0,callData:A,target:y}]}catch(A){let P=nr(A,{abi:x,address:y,args:I,docsPath:"/docs/contract/multicall",functionName:S,sender:r});if(!o)throw P;f[g]=[...f[g],{allowFailure:!0,callData:"0x",target:y}]}}let h=await Promise.allSettled(f.map(w=>R(t,He,"readContract")({...p===null?{code:tc}:{address:p},abi:hn,account:r,args:[w],authorizationList:n,blockNumber:i,blockOverrides:s,blockTag:a,functionName:"aggregate3",stateOverride:c}))),b=[];for(let w=0;w<h.length;w++){let x=h[w];if(x.status==="rejected"){if(!o)throw x.reason;for(let I=0;I<f[w].length;I++)b.push({status:"failure",error:x.reason,result:void 0});continue}let y=x.value;for(let I=0;I<y.length;I++){let{returnData:S,success:A}=y[I],{callData:P}=f[w][I],{abi:N,address:T,functionName:M,args:O}=u[b.length];try{if(P==="0x")throw new fr;if(!A)throw new jr({data:S});let F=wt({abi:N,args:O,data:S,functionName:M});b.push(o?{result:F,status:"success"}:F)}catch(F){let z=nr(F,{abi:N,address:T,args:O,docsPath:"/docs/contract/multicall",functionName:M});if(!o)throw z;b.push({error:z,result:void 0,status:"failure"})}}}if(b.length!==u.length)throw new v("multicall results mismatch");return b}c0();Ne();Me();Qn();co();lo();Ct();ut();H();$u();uo();af();fn();async function ld(t,e){let{blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",blocks:o,returnFullTransactions:i,traceTransfers:s,validation:a}=e;try{let c=[];for(let p of o){let f=p.blockOverrides?Tf(p.blockOverrides):void 0,g=p.calls.map(h=>{let b=h,w=b.account?q(b.account):void 0,x=b.abi?ue(b):b.data,y={...b,account:w,data:b.dataSuffix?be([x||"0x",b.dataSuffix]):x,from:b.from??w?.address};return et(y),bt(y)}),m=p.stateOverrides?Da(p.stateOverrides):void 0;c.push({blockOverrides:f,calls:g,stateOverrides:m})}let d=(typeof r=="bigint"?E(r):void 0)||n;return(await t.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:i,traceTransfers:s,validation:a},d]})).map((p,f)=>({...uf(p),calls:p.calls.map((g,m)=>{let{abi:h,args:b,functionName:w,to:x}=o[f].calls[m],y=g.error?.data??g.returnData,I=BigInt(g.gasUsed),S=g.logs?.map(T=>rt(T)),A=g.status==="0x1"?"success":"failure",P=h&&A==="success"&&y!=="0x"?wt({abi:h,data:y,functionName:w}):null,N=(()=>{if(A==="success")return;let T;if(y==="0x"?T=new fr:y&&(T=new jr({data:y})),!!T)return nr(T,{abi:h??[],address:x??"0x",args:b,functionName:w??"<unknown>"})})();return{data:y,gasUsed:I,logs:S,status:A,...A==="success"?{result:P}:{error:N}}})}))}catch(c){let u=c,d=_o(u,{});throw d instanceof ar?u:d}}mu();Ht();nt();Ht();function Nm(t){let e=!0,r="",n=0,o="",i=!1;for(let s=0;s<t.length;s++){let a=t[s];if(["(",")",","].includes(a)&&(e=!0),a==="("&&n++,a===")"&&n--,!!e){if(n===0){if(a===" "&&["event","function","error",""].includes(o))o="";else if(o+=a,a===")"){i=!0;break}continue}if(a===" "){t[s-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}o+=a,r+=a}}if(!i)throw new _("Unable to normalize signature.");return o}function Rm(t,e){let r=typeof t,n=e.type;switch(n){case"address":return hm(t,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in e?Object.values(e.components).every((o,i)=>Rm(Object.values(t)[i],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(t)&&t.every(o=>Rm(o,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ib(t,e,r){for(let n in t){let o=t[n],i=e[n];if(o.type==="tuple"&&i.type==="tuple"&&"components"in o&&"components"in i)return ib(o.components,i.components,r[n]);let s=[o.type,i.type];if(s.includes("address")&&s.includes("bytes20")?!0:s.includes("address")&&s.includes("string")?hm(r[n],{strict:!1}):s.includes("address")&&s.includes("bytes")?hm(r[n],{strict:!1}):!1)return s}}function Bm(t,e={}){let{prepare:r=!0}=e,n=Array.isArray(t)?Xl(t):typeof t=="string"?Xl(t):t;return{...n,...r?{hash:fc(n)}:{}}}function pd(t,e,r){let{args:n=[],prepare:o=!0}=r??{},i=Ku(e,{strict:!1}),s=t.filter(u=>i?u.type==="function"||u.type==="error"?ab(u)===Ee(e,0,4):u.type==="event"?fc(u)===e:!1:"name"in u&&u.name===e);if(s.length===0)throw new Jo({name:e});if(s.length===1)return{...s[0],...o?{hash:fc(s[0])}:{}};let a;for(let u of s){if(!("inputs"in u))continue;if(!n||n.length===0){if(!u.inputs||u.inputs.length===0)return{...u,...o?{hash:fc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==n.length)continue;if(n.every((l,p)=>{let f="inputs"in u&&u.inputs[p];return f?Rm(l,f):!1})){if(a&&"inputs"in a&&a.inputs){let l=ib(u.inputs,a.inputs,n);if(l)throw new sb({abiItem:u,type:l[0]},{abiItem:a,type:l[1]})}a=u}}let c=(()=>{if(a)return a;let[u,...d]=s;return{...u,overloads:d}})();if(!c)throw new Jo({name:e});return{...c,...o?{hash:fc(c)}:{}}}function ab(...t){let e=(()=>{if(Array.isArray(t[0])){let[r,n]=t;return pd(r,n)}return t[0]})();return Ee(fc(e),0,4)}function oR(...t){let e=(()=>{if(Array.isArray(t[0])){let[n,o]=t;return pd(n,o)}return t[0]})(),r=typeof e=="string"?e:Si(e);return Nm(r)}function fc(...t){let e=(()=>{if(Array.isArray(t[0])){let[r,n]=t;return pd(r,n)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:ws(ec(oR(e)))}var sb=class extends _{constructor(e,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${Nm(Si(e.abiItem))}\`, and`,`\`${r.type}\` in \`${Nm(Si(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}},Jo=class extends _{constructor({name:e,data:r,type:n="item"}){let o=e?` with name "${e}"`:r?` with data "${r}"`:"";super(`ABI ${n}${o} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}};nt();function vS(...t){let[e,r]=(()=>{if(Array.isArray(t[0])){let[i,s]=t;return[iR(i),s]}return t})(),{bytecode:n,args:o}=r;return Be(n,e.inputs?.length&&o?.length?Zo(e.inputs,o):"0x")}function AS(t){return Bm(t)}function iR(t){let e=t.find(r=>r.type==="constructor");if(!e)throw new Jo({name:"constructor"});return e}nt();function ES(...t){let[e,r=[]]=(()=>{if(Array.isArray(t[0])){let[u,d,l]=t;return[PS(u,d,{args:l}),l]}let[a,c]=t;return[a,c]})(),{overloads:n}=e,o=n?PS([e,...n],e.name,{args:r}):e,i=aR(o),s=r.length>0?Zo(o.inputs,r):void 0;return s?Be(i,s):i}function vs(t,e={}){return Bm(t,e)}function PS(t,e,r){let n=pd(t,e,r);if(n.type!=="function")throw new Jo({name:e,type:"function"});return n}function aR(t){return ab(t)}Ne();var TS="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Sr="0x0000000000000000000000000000000000000000";Qu();K();Ct();var uR="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function CS(t,e){let{blockNumber:r,blockTag:n,calls:o,stateOverrides:i,traceAssetChanges:s,traceTransfers:a,validation:c}=e,u=e.account?q(e.account):void 0;if(s&&!u)throw new v("`account` is required when `traceAssetChanges` is true");let d=u?vS(AS("constructor(bytes, bytes)"),{bytecode:Nf,args:[uR,ES(vs("function getBalance(address)"),[u.address])]}):void 0,l=s?await Promise.all(e.calls.map(async D=>{if(!D.data&&!D.abi)return;let{accessList:U}=await em(t,{account:u.address,...D,data:D.abi?ue(D):D.data});return U.map(({address:V,storageKeys:se})=>se.length>0?V:null)})).then(D=>D.flat().filter(Boolean)):[],p=await ld(t,{blockNumber:r,blockTag:n,blocks:[...s?[{calls:[{data:d}],stateOverrides:i},{calls:l.map((D,U)=>({abi:[vs("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:D,from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]}]:[],{calls:[...o,{to:Sr}].map(D=>({...D,from:u?.address})),stateOverrides:i},...s?[{calls:[{data:d}]},{calls:l.map((D,U)=>({abi:[vs("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:D,from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]},{calls:l.map((D,U)=>({to:D,abi:[vs("function decimals() returns (uint256)")],functionName:"decimals",from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]},{calls:l.map((D,U)=>({to:D,abi:[vs("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]},{calls:l.map((D,U)=>({to:D,abi:[vs("function symbol() returns (string)")],functionName:"symbol",from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),f=s?p[2]:p[0],[g,m,,h,b,w,x,y]=s?p:[],{calls:I,...S}=f,A=I.slice(0,-1)??[],P=g?.calls??[],N=m?.calls??[],T=[...P,...N].map(D=>D.status==="success"?Ce(D.data):null),M=h?.calls??[],O=b?.calls??[],F=[...M,...O].map(D=>D.status==="success"?Ce(D.data):null),z=(w?.calls??[]).map(D=>D.status==="success"?D.result:null),B=(y?.calls??[]).map(D=>D.status==="success"?D.result:null),L=(x?.calls??[]).map(D=>D.status==="success"?D.result:null),j=[];for(let[D,U]of F.entries()){let V=T[D];if(typeof U!="bigint"||typeof V!="bigint")continue;let se=z[D-1],fe=B[D-1],Ar=L[D-1],Lt=D===0?{address:TS,decimals:18,symbol:"ETH"}:{address:l[D-1],decimals:Ar||se?Number(se??1):void 0,symbol:fe??void 0};j.some(ft=>ft.token.address===Lt.address)||j.push({token:Lt,value:{pre:V,post:U,diff:U-V}})}return{assetChanges:j,block:S,results:A}}var fd={};vt(fd,{InvalidWrappedSignatureError:()=>Lm,assert:()=>ub,from:()=>pR,magicBytes:()=>cb,universalSignatureValidatorAbi:()=>lR,universalSignatureValidatorBytecode:()=>dR,unwrap:()=>RS,validate:()=>mR,wrap:()=>fR});Ht();nt();var cb="0x6492649264926492649264926492649264926492649264926492649264926492",dR="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",lR=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function ub(t){if(Ee(t,-32)!==cb)throw new Lm(t)}function pR(t){return typeof t=="string"?RS(t):t}function RS(t){ub(t);let[e,r,n]=dc(id("address, bytes, bytes"),t);return{data:r,signature:n,to:e}}function fR(t){let{data:e,signature:r,to:n}=t;return Be(Zo(id("address, bytes, bytes"),[n,e,r]),cb)}function mR(t){try{return ub(t),!0}catch{return!1}}var Lm=class extends _{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}};mo();Qu();Qn();kf();Ct();nn();us();ut();Zt();qe();H();Ma();qe();ze();function km({r:t,s:e,to:r="hex",v:n,yParity:o}){let i=(()=>{if(o===0||o===1)return o;if(n&&(n===27n||n===28n||n>=35n))return n%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),s=`0x${new ir.Signature(Ce(t),Ce(e)).toCompactHex()}${i===0?"1b":"1c"}`;return r==="hex"?s:De(s)}ys();async function Yo(t,e){let{address:r,chain:n=t.chain,hash:o,erc6492VerifierAddress:i=e.universalSignatureVerifierAddress??n?.contracts?.erc6492Verifier?.address,multicallAddress:s=e.multicallAddress??n?.contracts?.multicall3?.address,mode:a="auto"}=e;if(n?.verifyHash)return await n.verifyHash(t,e);let c=(()=>{let u=e.signature;return he(u)?u:typeof u=="object"&&"r"in u&&"s"in u?km(u):oe(u)})();try{if(a==="eoa")try{if(cr(Re(r),await ts({hash:o,signature:c})))return!0}catch{}return cd.validate(c)?await gR(t,{...e,multicallAddress:s,signature:c}):await yR(t,{...e,verifierAddress:i,signature:c})}catch(u){if(a!=="eoa")try{if(cr(Re(r),await ts({hash:o,signature:c})))return!0}catch{}if(u instanceof yo)return!1;throw u}}async function gR(t,e){let{address:r,blockNumber:n,blockTag:o,hash:i,multicallAddress:s}=e,{authorization:a,data:c,signature:u,to:d}=cd.unwrap(e.signature);if(await xs(t,{address:r,blockNumber:n,blockTag:o})===Ke(["0xef0100",a.address]))return await hR(t,{address:r,blockNumber:n,blockTag:o,hash:i,signature:u});let p={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:E(a.r,{size:32}),s:E(a.s,{size:32}),yParity:a.yParity};if(!await FI({address:r,authorization:p}))throw new yo;let g=await R(t,He,"readContract")({...s?{address:s}:{code:tc},authorizationList:[p],abi:hn,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:d??r,callData:c}]:[],{allowFailure:!0,target:r,callData:ue({abi:l0,functionName:"isValidSignature",args:[i,u]})}]]});if(g[g.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new yo}async function yR(t,e){let{address:r,factory:n,factoryData:o,hash:i,signature:s,verifierAddress:a,...c}=e,u=await(async()=>!n&&!o||fd.validate(s)?s:fd.wrap({data:o,signature:s,to:n}))(),d=a?{to:a,data:ue({abi:p0,functionName:"isValidSig",args:[r,i,u]}),...c}:{data:ms({abi:p0,args:[r,i,u],bytecode:q2}),...c},{data:l}=await R(t,xr,"call")(d).catch(p=>{throw p instanceof Ni?new yo:p});if(bp(l??"0x0"))return!0;throw new yo}async function hR(t,e){let{address:r,blockNumber:n,blockTag:o,hash:i,signature:s}=e;if((await R(t,He,"readContract")({address:r,abi:l0,args:[i,s],blockNumber:n,blockTag:o,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Bi?new yo:c})).startsWith("0x1626ba7e"))return!0;throw new yo}var yo=class extends Error{};async function NS(t,{address:e,message:r,factory:n,factoryData:o,signature:i,...s}){let a=Qo(r);return R(t,Yo,"verifyHash")({address:e,factory:n,factoryData:o,hash:a,signature:i,...s})}async function BS(t,e){let{address:r,factory:n,factoryData:o,signature:i,message:s,primaryType:a,types:c,domain:u,...d}=e,l=lm({message:s,primaryType:a,types:c,domain:u});return R(t,Yo,"verifyHash")({address:r,factory:n,factoryData:o,hash:l,signature:i,...d})}gr();Df();yt();qe();yt();function Mm(t,{emitOnBegin:e=!1,emitMissed:r=!1,onBlockNumber:n,onError:o,poll:i,pollingInterval:s=t.pollingInterval}){let a=typeof i<"u"?i:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),c;return a?(()=>{let l=re(["watchBlockNumber",t.uid,e,r,s]);return It(l,{onBlockNumber:n,onError:o},p=>wr(async()=>{try{let f=await R(t,bn,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(f===c)return;if(f-c>1&&r)for(let g=c+1n;g<f;g++)p.onBlockNumber(g,c),c=g}(c===void 0||f>c)&&(p.onBlockNumber(f,c),c=f)}catch(f){p.onError?.(f)}},{emitOnBegin:e,interval:s}))})():(()=>{let l=re(["watchBlockNumber",t.uid,e,r]);return It(l,{onBlockNumber:n,onError:o},p=>{let f=!0,g=()=>f=!1;return(async()=>{try{let m=(()=>{if(t.transport.type==="fallback"){let b=t.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return b?b.value:t.transport}return t.transport})(),{unsubscribe:h}=await m.subscribe({params:["newHeads"],onData(b){if(!f)return;let w=Ce(b.result?.number);p.onBlockNumber(w,c),c=w},onError(b){p.onError?.(b)}});g=h,f||g()}catch(m){o?.(m)}})(),()=>g()})})()}async function Dm(t,e){let{checkReplacement:r=!0,confirmations:n=1,hash:o,onReplaced:i,retryCount:s=6,retryDelay:a=({count:I})=>~~(1<<I)*200,timeout:c=18e4}=e,u=re(["waitForTransactionReceipt",t.uid,o]),d=e.pollingInterval?e.pollingInterval:t.chain?.experimental_preconfirmationTime?t.chain.experimental_preconfirmationTime:t.pollingInterval,l,p,f,g=!1,m,h,{promise:b,resolve:w,reject:x}=rc(),y=c?setTimeout(()=>{h?.(),m?.(),x(new Vp({hash:o}))},c):void 0;return m=It(u,{onReplaced:i,resolve:w,reject:x},async I=>{if(f=await R(t,pc,"getTransactionReceipt")({hash:o}).catch(()=>{}),f&&n<=1){clearTimeout(y),I.resolve(f),m?.();return}h=R(t,Mm,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:d,async onBlockNumber(S){let A=N=>{clearTimeout(y),h?.(),N(),m?.()},P=S;if(!g)try{if(f){if(n>1&&(!f.blockNumber||P-f.blockNumber+1n<n))return;A(()=>I.resolve(f));return}if(r&&!l&&(g=!0,await bs(async()=>{l=await R(t,lc,"getTransaction")({hash:o}),l.blockNumber&&(P=l.blockNumber)},{delay:a,retryCount:s}),g=!1),f=await R(t,pc,"getTransactionReceipt")({hash:o}),n>1&&(!f.blockNumber||P-f.blockNumber+1n<n))return;A(()=>I.resolve(f))}catch(N){if(N instanceof Aa||N instanceof Pa){if(!l){g=!1;return}try{p=l,g=!0;let T=await bs(()=>R(t,tt,"getBlock")({blockNumber:P,includeTransactions:!0}),{delay:a,retryCount:s,shouldRetry:({error:F})=>F instanceof ja});g=!1;let M=T.transactions.find(({from:F,nonce:z})=>F===p.from&&z===p.nonce);if(!M||(f=await R(t,pc,"getTransactionReceipt")({hash:M.hash}),n>1&&(!f.blockNumber||P-f.blockNumber+1n<n)))return;let O="replaced";M.to===p.to&&M.value===p.value&&M.input===p.input?O="repriced":M.from===M.to&&M.value===0n&&(O="cancelled"),A(()=>{I.onReplaced?.({reason:O,replacedTransaction:p,transaction:M,transactionReceipt:f}),I.resolve(f)})}catch(T){A(()=>I.reject(T))}}else A(()=>I.reject(N))}}})}),b}yt();function LS(t,{blockTag:e=t.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:o,onError:i,includeTransactions:s,poll:a,pollingInterval:c=t.pollingInterval}){let u=typeof a<"u"?a:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),d=s??!1,l;return u?(()=>{let g=re(["watchBlocks",t.uid,e,r,n,d,c]);return It(g,{onBlock:o,onError:i},m=>wr(async()=>{try{let h=await R(t,tt,"getBlock")({blockTag:e,includeTransactions:d});if(h.number!==null&&l?.number!=null){if(h.number===l.number)return;if(h.number-l.number>1&&r)for(let b=l?.number+1n;b<h.number;b++){let w=await R(t,tt,"getBlock")({blockNumber:b,includeTransactions:d});m.onBlock(w,l),l=w}}(l?.number==null||e==="pending"&&h?.number==null||h.number!==null&&h.number>l.number)&&(m.onBlock(h,l),l=h)}catch(h){m.onError?.(h)}},{emitOnBegin:n,interval:c}))})():(()=>{let g=!0,m=!0,h=()=>g=!1;return(async()=>{try{n&&R(t,tt,"getBlock")({blockTag:e,includeTransactions:d}).then(x=>{g&&m&&(o(x,void 0),m=!1)}).catch(i);let b=(()=>{if(t.transport.type==="fallback"){let x=t.transport.transports.find(y=>y.config.type==="webSocket"||y.config.type==="ipc");return x?x.value:t.transport}return t.transport})(),{unsubscribe:w}=await b.subscribe({params:["newHeads"],async onData(x){if(!g)return;let y=await R(t,tt,"getBlock")({blockNumber:x.result?.number,includeTransactions:d}).catch(()=>{});g&&(o(y,l),m=!1,l=y)},onError(x){i?.(x)}});h=w,g||h()}catch(b){i?.(b)}})(),()=>h()})()}Me();Zi();yt();function kS(t,{address:e,args:r,batch:n=!0,event:o,events:i,fromBlock:s,onError:a,onLogs:c,poll:u,pollingInterval:d=t.pollingInterval,strict:l}){let p=typeof u<"u"?u:typeof s=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),f=l??!1;return p?(()=>{let h=re(["watchEvent",e,r,n,t.uid,o,d,s]);return It(h,{onLogs:c,onError:a},b=>{let w;s!==void 0&&(w=s-1n);let x,y=!1,I=wr(async()=>{if(!y){try{x=await R(t,tm,"createEventFilter")({address:e,args:r,event:o,events:i,strict:f,fromBlock:s})}catch{}y=!0;return}try{let S;if(x)S=await R(t,Go,"getFilterChanges")({filter:x});else{let A=await R(t,bn,"getBlockNumber")({});w&&w!==A?S=await R(t,Ka,"getLogs")({address:e,args:r,event:o,events:i,fromBlock:w+1n,toBlock:A}):S=[],w=A}if(S.length===0)return;if(n)b.onLogs(S);else for(let A of S)b.onLogs([A])}catch(S){x&&S instanceof rr&&(y=!1),b.onError?.(S)}},{emitOnBegin:!0,interval:d});return async()=>{x&&await R(t,Vo,"uninstallFilter")({filter:x}),I()}})})():(()=>{let h=!0,b=()=>h=!1;return(async()=>{try{let w=(()=>{if(t.transport.type==="fallback"){let S=t.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return S?S.value:t.transport}return t.transport})(),x=i??(o?[o]:void 0),y=[];x&&(y=[x.flatMap(A=>sn({abi:[A],eventName:A.name,args:r}))],o&&(y=y[0]));let{unsubscribe:I}=await w.subscribe({params:["logs",{address:e,topics:y}],onData(S){if(!h)return;let A=S.result;try{let{eventName:P,args:N}=ds({abi:x??[],data:A.data,topics:A.topics,strict:f}),T=rt(A,{args:N,eventName:P});c([T])}catch(P){let N,T;if(P instanceof $n||P instanceof Eo){if(l)return;N=P.abiItem.name,T=P.abiItem.inputs?.some(O=>!("name"in O&&O.name))}let M=rt(A,{args:T?[]:{},eventName:N});c([M])}},onError(S){a?.(S)}});b=I,h||b()}catch(w){a?.(w)}})(),()=>b()})()}yt();function MS(t,{batch:e=!0,onError:r,onTransactions:n,poll:o,pollingInterval:i=t.pollingInterval}){return(typeof o<"u"?o:t.transport.type!=="webSocket"&&t.transport.type!=="ipc")?(()=>{let u=re(["watchPendingTransactions",t.uid,e,i]);return It(u,{onTransactions:n,onError:r},d=>{let l,p=wr(async()=>{try{if(!l)try{l=await R(t,rm,"createPendingTransactionFilter")({});return}catch(g){throw p(),g}let f=await R(t,Go,"getFilterChanges")({filter:l});if(f.length===0)return;if(e)d.onTransactions(f);else for(let g of f)d.onTransactions([g])}catch(f){d.onError?.(f)}},{emitOnBegin:!0,interval:i});return async()=>{l&&await R(t,Vo,"uninstallFilter")({filter:l}),p()}})})():(()=>{let u=!0,d=()=>u=!1;return(async()=>{try{let{unsubscribe:l}=await t.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!u)return;let f=p.result;n([f])},onError(p){r?.(p)}});d=l,u||d()}catch(l){r?.(l)}})(),()=>d()})()}function DS(t){let{scheme:e,statement:r,...n}=t.match(bR)?.groups??{},{chainId:o,expirationTime:i,issuedAt:s,notBefore:a,requestId:c,...u}=t.match(xR)?.groups??{},d=t.split("Resources:")[1]?.split(`
|
|
44
|
-
- `).slice(1);return{...n,...u,...o?{chainId:Number(o)}:{},...i?{expirationTime:new Date(i)}:{},...s?{issuedAt:new Date(s)}:{},...a?{notBefore:new Date(a)}:{},...c?{requestId:c}:{},...d?{resources:d}:{},...e?{scheme:e}:{},...r?{statement:r}:{}}}var bR=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,xR=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;Ut();us();function OS(t){let{address:e,domain:r,message:n,nonce:o,scheme:i,time:s=new Date}=t;if(r&&n.domain!==r||o&&n.nonce!==o||i&&n.scheme!==i||n.expirationTime&&s>=n.expirationTime||n.notBefore&&s<n.notBefore)return!1;try{if(!n.address||!Z(n.address,{strict:!1})||e&&!cr(n.address,e))return!1}catch{return!1}return!0}async function FS(t,e){let{address:r,domain:n,message:o,nonce:i,scheme:s,signature:a,time:c=new Date,...u}=e,d=DS(o);if(!d.address||!OS({address:r,domain:n,message:d,nonce:i,scheme:s,time:c}))return!1;let p=Qo(o);return Yo(t,{address:d.address,hash:p,signature:a,...u})}gr();async function mc(t,{serializedTransaction:e,throwOnReceiptRevert:r,timeout:n}){let o=await t.request({method:"eth_sendRawTransactionSync",params:n?[e,n]:[e]},{retryCount:0}),s=(t.chain?.formatters?.transactionReceipt?.format||zf)(o);if(s.status==="reverted"&&r)throw new Ea({receipt:s});return s}function jS(t){return{call:e=>xr(t,e),createAccessList:e=>em(t,e),createBlockFilter:()=>II(t),createContractEventFilter:e=>Bp(t,e),createEventFilter:e=>tm(t,e),createPendingTransactionFilter:()=>rm(t),estimateContractGas:e=>h2(t,e),estimateGas:e=>Va(t,e),getBalance:e=>SI(t,e),getBlobBaseFee:()=>vI(t),getBlock:e=>tt(t,e),getBlockNumber:e=>bn(t,e),getBlockTransactionCount:e=>AI(t,e),getBytecode:e=>xs(t,e),getChainId:()=>xt(t),getCode:e=>xs(t,e),getContractEvents:e=>hf(t,e),getDelegation:e=>PI(t,e),getEip712Domain:e=>EI(t,e),getEnsAddress:e=>pI(t,e),getEnsAvatar:e=>bI(t,e),getEnsName:e=>xI(t,e),getEnsResolver:e=>wI(t,e),getEnsText:e=>Xf(t,e),getFeeHistory:e=>CI(t,e),estimateFeesPerGas:e=>l2(t,e),getFilterChanges:e=>Go(t,e),getFilterLogs:e=>RI(t,e),getGasPrice:()=>_a(t),getLogs:e=>Ka(t,e),getProof:e=>bS(t,e),estimateMaxPriorityFeePerGas:e=>d2(t,e),fillTransaction:e=>Ga(t,e),getStorageAt:e=>xS(t,e),getTransaction:e=>lc(t,e),getTransactionConfirmations:e=>wS(t,e),getTransactionCount:e=>za(t,e),getTransactionReceipt:e=>pc(t,e),multicall:e=>IS(t,e),prepareTransactionRequest:e=>mn(t,e),readContract:e=>He(t,e),sendRawTransaction:e=>oc(t,e),sendRawTransactionSync:e=>mc(t,e),simulate:e=>ld(t,e),simulateBlocks:e=>ld(t,e),simulateCalls:e=>CS(t,e),simulateContract:e=>iI(t,e),verifyHash:e=>Yo(t,e),verifyMessage:e=>NS(t,e),verifySiweMessage:e=>FS(t,e),verifyTypedData:e=>BS(t,e),uninstallFilter:e=>Vo(t,e),waitForTransactionReceipt:e=>Dm(t,e),watchBlocks:e=>LS(t,e),watchBlockNumber:e=>Mm(t,e),watchContractEvent:e=>uI(t,e),watchEvent:e=>kS(t,e),watchPendingTransactions:e=>MS(t,e)}}function db(t){let{key:e="public",name:r="Public Client"}=t;return Kf({...t,key:e,name:r,type:"publicClient"}).extend(jS)}H();async function US(t,{chain:e}){let{id:r,name:n,nativeCurrency:o,rpcUrls:i,blockExplorers:s}=e;await t.request({method:"wallet_addEthereumChain",params:[{chainId:E(r),chainName:n,nativeCurrency:o,rpcUrls:i.default.http,blockExplorerUrls:s?Object.values(s).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}kf();function _S(t,e){let{abi:r,args:n,bytecode:o,...i}=e,s=ms({abi:r,args:n,bytecode:o});return qo(t,{...i,...i.authorizationList?{to:null}:{},data:s})}nn();async function zS(t){return t.account?.type==="local"?[t.account.address]:(await t.request({method:"eth_accounts"},{dedupe:!0})).map(r=>rn(r))}Ne();H();async function $S(t,e={}){let{account:r=t.account,chainId:n}=e,o=r?q(r):void 0,i=n?[o?.address,[E(n)]]:[o?.address],s=await t.request({method:"wallet_getCapabilities",params:i}),a={};for(let[c,u]of Object.entries(s)){a[Number(c)]={};for(let[d,l]of Object.entries(u))d==="addSubAccount"&&(d="unstable_addSubAccount"),a[Number(c)][d]=l}return typeof n=="number"?a[n]:a}async function HS(t){return await t.request({method:"wallet_getPermissions"},{dedupe:!0})}Ne();us();async function Om(t,e){let{account:r=t.account,chainId:n,nonce:o}=e;if(!r)throw new ot({docsPath:"/docs/eip7702/prepareAuthorization"});let i=q(r),s=(()=>{if(e.executor)return e.executor==="self"?e.executor:q(e.executor)})(),a={address:e.contractAddress??e.address,chainId:n,nonce:o};return typeof a.chainId>"u"&&(a.chainId=t.chain?.id??await R(t,xt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await R(t,za,"getTransactionCount")({address:i.address,blockTag:"pending"}),(s==="self"||s?.address&&cr(s.address,i.address))&&(a.nonce+=1)),a}nn();async function WS(t){return(await t.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>Re(r))}async function GS(t,e){return t.request({method:"wallet_requestPermissions",params:[e]},{retryCount:0})}async function VS(t,e){let{chain:r=t.chain}=e,n=e.timeout??Math.max((r?.blockTime??0)*3,5e3),o=await R(t,$f,"sendCalls")(e);return await R(t,Wf,"waitForCallsStatus")({...e,id:o.id,timeout:n})}Ne();K();gr();ut();cs();uo();Ti();fn();var lb=new jt(128);async function Fm(t,e){let{account:r=t.account,assertChainId:n=!0,chain:o=t.chain,accessList:i,authorizationList:s,blobs:a,data:c,dataSuffix:u=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,pollingInterval:h,throwOnReceiptRevert:b,type:w,value:x,...y}=e,I=e.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new ot({docsPath:"/docs/actions/wallet/sendTransactionSync"});let S=r?q(r):null;try{et(e);let A=await(async()=>{if(e.to)return e.to;if(e.to!==null&&s&&s.length>0)return await Uo({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(S?.type==="json-rpc"||S===null){let P;o!==null&&(P=await R(t,xt,"getChainId")({}),n&&nc({currentChainId:P,chain:o}));let N=t.chain?.formatters?.transactionRequest?.format,M=(N||bt)({...yr(y,{format:N}),accessList:i,account:S,authorizationList:s,blobs:a,chainId:P,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,to:A,type:w,value:x},"sendTransaction"),O=lb.get(t.uid),F=O?"wallet_sendTransaction":"eth_sendTransaction",z=await(async()=>{try{return await t.request({method:F,params:[M]},{retryCount:0})}catch(L){if(O===!1)throw L;let j=L;if(j.name==="InvalidInputRpcError"||j.name==="InvalidParamsRpcError"||j.name==="MethodNotFoundRpcError"||j.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[M]},{retryCount:0}).then(D=>(lb.set(t.uid,!0),D)).catch(D=>{let U=D;throw U.name==="MethodNotFoundRpcError"||U.name==="MethodNotSupportedRpcError"?(lb.set(t.uid,!1),j):U});throw j}})(),B=await R(t,Dm,"waitForTransactionReceipt")({checkReplacement:!1,hash:z,pollingInterval:h,timeout:I});if(b&&B.status==="reverted")throw new Ea({receipt:B});return B}if(S?.type==="local"){let P=await R(t,mn,"prepareTransactionRequest")({account:S,accessList:i,authorizationList:s,blobs:a,chain:o,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,nonceManager:S.nonceManager,parameters:[...Hu,"sidecars"],type:w,value:x,...y,to:A}),N=o?.serializers?.transaction,T=await S.signTransaction(P,{serializer:N});return await R(t,mc,"sendRawTransactionSync")({serializedTransaction:T,throwOnReceiptRevert:b,timeout:e.timeout})}throw S?.type==="smart"?new Ir({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ir({docsPath:"/docs/actions/wallet/sendTransactionSync",type:S?.type})}catch(A){throw A instanceof Ir?A:$o(A,{...e,account:S,chain:e.chain||void 0})}}async function qS(t,e){let{id:r}=e;await t.request({method:"wallet_showCallsStatus",params:[r]})}Ne();async function KS(t,e){let{account:r=t.account}=e;if(!r)throw new ot({docsPath:"/docs/eip7702/signAuthorization"});let n=q(r);if(!n.signAuthorization)throw new Ir({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});let o=await Om(t,e);return n.signAuthorization(o)}Ne();H();async function QS(t,{account:e=t.account,message:r}){if(!e)throw new ot({docsPath:"/docs/actions/wallet/signMessage"});let n=q(e);if(n.signMessage)return n.signMessage({message:r});let o=typeof r=="string"?Yt(r):r.raw instanceof Uint8Array?Ae(r.raw):r.raw;return t.request({method:"personal_sign",params:[o,n.address]},{retryCount:0})}Ne();H();uo();fn();async function ZS(t,e){let{account:r=t.account,chain:n=t.chain,...o}=e;if(!r)throw new ot({docsPath:"/docs/actions/wallet/signTransaction"});let i=q(r);et({account:i,...e});let s=await R(t,xt,"getChainId")({});n!==null&&nc({currentChainId:s,chain:n});let c=(n?.formatters||t.chain?.formatters)?.transactionRequest?.format||bt;return i.signTransaction?i.signTransaction({...o,account:i,chainId:s},{serializer:t.chain?.serializers?.transaction}):await t.request({method:"eth_signTransaction",params:[{...c({...o,account:i},"signTransaction"),chainId:E(s),from:i.address}]},{retryCount:0})}Ne();async function JS(t,e){let{account:r=t.account,domain:n,message:o,primaryType:i}=e;if(!r)throw new ot({docsPath:"/docs/actions/wallet/signTypedData"});let s=q(r),a={EIP712Domain:dm({domain:n}),...e.types};if(um({domain:n,message:o,primaryType:i,types:a}),s.signTypedData)return s.signTypedData({domain:n,message:o,primaryType:i,types:a});let c=WI({domain:n,message:o,primaryType:i,types:a});return t.request({method:"eth_signTypedData_v4",params:[s.address,c]},{retryCount:0})}H();async function YS(t,{id:e}){await t.request({method:"wallet_switchEthereumChain",params:[{chainId:E(e)}]},{retryCount:0})}async function XS(t,e){return await t.request({method:"wallet_watchAsset",params:e},{retryCount:0})}async function ev(t,e){return hs.internal(t,Fm,"sendTransactionSync",e)}function tv(t){return{addChain:e=>US(t,e),deployContract:e=>_S(t,e),fillTransaction:e=>Ga(t,e),getAddresses:()=>zS(t),getCallsStatus:e=>Hf(t,e),getCapabilities:e=>$S(t,e),getChainId:()=>xt(t),getPermissions:()=>HS(t),prepareAuthorization:e=>Om(t,e),prepareTransactionRequest:e=>mn(t,e),requestAddresses:()=>WS(t),requestPermissions:e=>GS(t,e),sendCalls:e=>$f(t,e),sendCallsSync:e=>VS(t,e),sendRawTransaction:e=>oc(t,e),sendRawTransactionSync:e=>mc(t,e),sendTransaction:e=>qo(t,e),sendTransactionSync:e=>Fm(t,e),showCallsStatus:e=>qS(t,e),signAuthorization:e=>KS(t,e),signMessage:e=>QS(t,e),signTransaction:e=>ZS(t,e),signTypedData:e=>JS(t,e),switchChain:e=>YS(t,e),waitForCallsStatus:e=>Wf(t,e),watchAsset:e=>XS(t,e),writeContract:e=>hs(t,e),writeContractSync:e=>ev(t,e)}}function As(t){let{key:e="wallet",name:r="Wallet Client",transport:n}=t;return Kf({...t,key:e,name:r,transport:n,type:"walletClient"}).extend(tv)}function jm({key:t,methods:e,name:r,request:n,retryCount:o=3,retryDelay:i=150,timeout:s,type:a},c){let u=qf();return{config:{key:t,methods:e,name:r,request:n,retryCount:o,retryDelay:i,timeout:s,type:a},request:UI(n,{methods:e,retryCount:o,retryDelay:i,uid:u}),value:c}}function md(t,e={}){let{key:r="custom",methods:n,name:o="Custom Provider",retryDelay:i}=e;return({retryCount:s})=>jm({key:r,methods:n,name:o,request:t.request.bind(t),retryCount:e.retryCount??s,retryDelay:i,type:"custom"})}ko();K();var Um=class extends v{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};y0();function gd(t,e={}){let{batch:r,fetchFn:n,fetchOptions:o,key:i="http",methods:s,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:u,retryDelay:d,raw:l}=e;return({chain:p,retryCount:f,timeout:g})=>{let{batchSize:m=1e3,wait:h=0}=typeof r=="object"?r:{},b=e.retryCount??f,w=g??e.timeout??1e4,x=t||p?.rpcUrls.default.http[0];if(!x)throw new Um;let y=zI(x,{fetchFn:n,fetchOptions:o,onRequest:c,onResponse:u,timeout:w});return jm({key:i,methods:s,name:a,async request({method:I,params:S}){let A={method:I,params:S},{schedule:P}=Of({id:x,wait:h,shouldSplitBatch(O){return O.length>m},fn:O=>y.request({body:O}),sort:(O,F)=>O.id-F.id}),N=async O=>r?P(O):[await y.request({body:O})],[{error:T,result:M}]=await N(A);if(l)return{error:T,result:M};if(T)throw new Zn({body:A,error:T,url:x});return M},retryCount:b,retryDelay:d,timeout:w,type:"http"},{fetchOptions:o,url:x})}}K();Qn();co();ko();Zi();Ct();nn();Ut();Zt();qe();ze();H();er();Ru();var wR="https://arweave.net",_m=(t,e)=>e?`${t.replace(/\/+$/,"")}/${e}`:void 0;function zm(t,e,r=wR){let n=[];for(let[o,i]of Object.entries(t.objects??{})){let s=i[e];s&&n.push({objectType:Number(o),slimUrl:_m(r,s.slim?.[0]),extendedUrl:_m(r,s.extended?.[0]),provUrl:_m(r,s.prov?.[0]),searchUrls:(s.search??[]).map(a=>_m(r,a))})}return n}var IR="dcode_registry_cache_v3_";async function rv(t){let e=new TextEncoder().encode(JSON.stringify(t)),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(n=>n.toString(16).padStart(2,"0")).join("")}var $m="https://registry.worldbibliotech.com";function mb(t){$m=t.replace(/\/+$/,"")}function gb(){return $m}var pb=class{async get(e){try{let r=localStorage.getItem(e);return r?JSON.parse(r):null}catch{return null}}async set(e,r){try{localStorage.setItem(e,JSON.stringify(r))}catch(n){console.warn("[RegistryLoader] Failed to save to localStorage:",n)}}},fb=class{async get(){return null}async set(){}},nv=["node","fs/promises"].join(":"),ov=["node","path"].join(":");function sv(){return globalThis[["proc","ess"].join("")]}var Ps=class{constructor(e=`${sv()?.cwd()??"."}/.dcode-registry-cache`){this.cacheDir=e}async filePath(e){let{join:r}=await import(ov);return r(this.cacheDir,`${e.replace(/[^a-zA-Z0-9_.-]/g,"_")}.json`)}async get(e){try{let n=await(await import(nv)).readFile(await this.filePath(e),"utf-8");return JSON.parse(n)}catch{return null}}async set(e,r){try{let n=await import(nv),o=await this.filePath(e),{dirname:i}=await import(ov);await n.mkdir(i(o),{recursive:!0}),await n.writeFile(o,JSON.stringify(r),"utf-8")}catch(n){console.warn("[RegistryLoader] Failed to save Node file cache:",n)}}};function yb(t){return new Ps(t)}function SR(){return typeof localStorage<"u"?new pb:sv()?.versions?.node?new Ps:new fb}var iv="1-datapond-eng",gc=class{constructor(e){this.memoryCache=new Map;this.listeners=new Set;this.loadingStatuses=new Map;this.manifestPromises=new Map;this.loadedManifests=new Map;this.abiSyncPromises=new Map;this.defered={};this.storage=e??SR()}setStorage(e){this.storage=e}async fetchAbiFromRegistry(e){let r=`${$m}/abis/evm/${e}.json`;try{let n=await fetch(r);if(n.ok){let o=await n.json();return console.log(`[RegistryLoader] Fetched ABI: ${e}`),o}console.error(`[RegistryLoader] ABI fetch failed for ${e}: ${n.status}`)}catch(n){console.warn(`[RegistryLoader] Failed to fetch ABI for ${e}:`,n)}return null}async checkOnChainAbiAnchor(e,r,n){try{let[,o]=await e.getLatestBlobRef(`abi:${r}`);return o.toLowerCase().replace(/^0x/,"")===n.toLowerCase()?"match":"mismatch"}catch{return"no-anchor"}}async syncAbis(e,r,n){let o=this.getCacheKey(e,r),i=this.memoryCache.get(o);if(!i)return;let s=String(e),a=n.networks.evm?.[s];if(!a)return;let c=!1;await Promise.all(Object.entries(a.contracts).map(async([u,d])=>{if(!d.abiHash)return;let l=u.toLowerCase(),p=i.entries[l];if(p?.abiHash===d.abiHash&&p?.abi)return;let f=await this.fetchAbiFromRegistry(u);if(!f||!i.entries[l])return;let g=await rv(f);if(g!==d.abiHash){console.error(`[RegistryLoader] ABI integrity check FAILED for ${u} (evm:${e}/${r}): fetched bytes hash to ${g}, manifest declares ${d.abiHash}. Discarding fetched ABI and keeping whatever was previously cached (if anything) rather than trusting mismatched bytes.`);return}i.entries[l].abi=f,i.entries[l].abiHash=g,c=!0})),c&&(i.timestamp=Date.now(),await this.storage.set(o,i))}async performSync(e,r,n,o,i="production"){let s=this.getCacheKey(e,i),a=Date.now();try{let c=await r.getAllContractNames();console.log(`[RegistryLoader] performSync: ${c.length} contracts for evm:${e}`);let u={total:c.length,loaded:0,contracts:c.map(g=>({name:g,status:"pending"}))};this.notify(e,u);let d={},l={};await Promise.all(c.map(async g=>{let m=u.contracts.find(h=>h.name===g);m.status="loading",this.notify(e,{...u});try{let[h,b]=await r.getLatestContract(g),w=i==="staging"?"_staging":"_production",x=g.endsWith(w)?g.slice(0,-w.length):g,y=x.toLowerCase(),I=x.charAt(0).toLowerCase()+x.slice(1),S=null,A="",P;n?.entries[y]?.txId===b&&n.entries[y].abi?(S=n.entries[y].abi,A=n.entries[y].abiHash,P="cache"):(S=await this.fetchAbiFromRegistry(x),A=S?await rv(S):"",S&&await this.checkOnChainAbiAnchor(r,x,A)==="mismatch"&&(console.error(`[RegistryLoader] ABI integrity check FAILED for ${x} (evm:${e}): fetched bytes hash to ${A}, which does not match the on-chain anchor registered for "abi:${x}". Refusing to use this ABI.`),S=null,A=""),P="arweave"),d[y]={address:h,abi:S,txId:b,abiHash:A,originalName:x},l[I]=h,m.status="loaded",m.address=h,m.abiUrl=b,m.source=P}catch(h){console.warn(`[RegistryLoader] Failed to sync ${g} for evm:${e}:`,h),m.status="error"}finally{u.loaded++,this.notify(e,{...u})}}));let f={timestamp:u.contracts.some(g=>g.status==="error")?n?.timestamp??0:a,entries:d};return this.memoryCache.set(s,f),await this.storage.set(s,f),o(!0),l}catch(c){throw console.error(`[RegistryLoader] performSync failed for evm:${e}:`,c),c}}getCacheKey(e,r="production"){return`${IR}evm_${e}${r==="staging"?"_staging":""}`}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notify(e,r){let n=`evm:${e}`;this.loadingStatuses.set(n,r),this.listeners.forEach(o=>o(e,r))}getLoadingStatus(e){return this.loadingStatuses.get(`evm:${e}`)}seedDefaults(e,r="production"){}manifestUrl(e){return`${$m}/${e}/manifest.json`}getLoadedManifest(e){return this.loadedManifests.get(e)??null}async loadManifest(e="production"){let r=this.manifestPromises.get(e);if(r)return r;let n=this.manifestUrl(e),o=(async()=>{console.log(`[RegistryLoader] Fetching manifest: ${n}`);let i;try{i=await fetch(n,{cache:"default"})}catch(a){throw new Error(`Registry manifest network error (${n}): ${a?.message||a}`)}if(!i.ok)throw new Error(`Registry manifest fetch failed (${i.status} ${i.statusText}) at ${n}`);let s;try{s=await i.json()}catch(a){throw new Error(`Registry manifest JSON parse failed at ${n}: ${a?.message||a}`)}if(!s?.networks?.evm)throw new Error(`Registry manifest at ${n} missing networks.evm`);this.loadedManifests.set(e,s),await this.populateFromManifest(s,e),console.log(`[RegistryLoader] Manifest loaded (${Object.keys(s.networks.evm).length} chains, generatedAt ${s.generatedAt})`);for(let a of Object.keys(s.networks.evm||{})){let c=this.getCacheKey(a,e),u=this.syncAbis(a,e,s).catch(d=>console.warn(`[RegistryLoader] ABI sync failed for ${a}:`,d));this.abiSyncPromises.set(c,u),u.finally(()=>{this.abiSyncPromises.get(c)===u&&this.abiSyncPromises.delete(c)})}return s})();return this.manifestPromises.set(e,o),o.catch(()=>this.manifestPromises.delete(e)),o}async populateFromManifest(e,r){let n=e.networks.evm||{},o=Date.now();for(let[i,s]of Object.entries(n)){let a=this.getCacheKey(i,r),c={},u=[],d=await this.storage.get(a)??this.memoryCache.get(a);for(let[p,f]of Object.entries(s.contracts||{})){let g=p.toLowerCase(),m=d?.entries[g],h=f.abiHash&&m?.abiHash===f.abiHash&&m?.abi;c[g]={address:f.address||"",abi:h?m.abi:null,txId:m?.txId||"",abiHash:f.abiHash||m?.abiHash||"",originalName:p},u.push({name:p,status:"loaded",address:f.address,source:"manifest"})}let l={timestamp:o,entries:c};this.memoryCache.set(a,l),this.notify(i,{total:u.length,loaded:u.length,contracts:u})}}addressesFromCache(e){let r={};for(let n of Object.values(e.entries)){if(!n.address)continue;let o=n.originalName.charAt(0).toLowerCase()+n.originalName.slice(1);r[o]=n.address}return r}async loadAllKeys(e,r="production"){try{await this.loadManifest(r)}catch{}let n=this.getCacheKey(e,r),o=this.memoryCache.get(n);if(o||(o=await this.storage.get(n)??void 0,o&&this.memoryCache.set(n,o)),!o)throw new Error(`No registry data found for evm:${e} (env: ${r})`);return this.addressesFromCache(o)}async Initialize(e,r,n,o=!1,i="production"){try{await this.loadManifest(i);let l=await this.loadAllKeys(e,i);if(Object.keys(l).length>0)return l}catch(l){console.warn(`[RegistryLoader] Manifest load failed for evm:${e}, falling back to on-chain sync:`,l)}if(!r)throw new Error(`[RegistryLoader] No manifest data for evm:${e} and no on-chain registry API to fall back to`);let s=`${e}-${i}`,a=this.getCacheKey(e,i),c=this.memoryCache.get(a)??await this.storage.get(a),u=c?this.addressesFromCache(c):{};if(!this.defered[s]){let l;this.defered[s]=new Promise(p=>{l=p}),this.performSync(e,r,c,l,i).catch(()=>l(!0)).finally(()=>{delete this.defered[s]})}if(o)return u;await this.defered[s];let d=this.memoryCache.get(a);return d?this.addressesFromCache(d):u}getAddress(e,r,n="production"){let o=this.getCacheKey(e,n);return this.memoryCache.get(o)?.entries[r.toLowerCase()]?.address||void 0}getAbi(e,r,n="production"){let o=this.getCacheKey(e,n);return this.memoryCache.get(o)?.entries[r.toLowerCase()]?.abi}getData(e,r,n="production"){}sidecarUrlsForManifest(e="production",r="eng",n="https://arweave.net"){let o=this.getCollectionCorpus(e);return o?zm(o,r,n):[]}getAvailableCollections(e="production"){let r=this.getLoadedManifest(e)?.collections;return r?Object.entries(r).map(([n,o])=>({key:n,id:o.id,slug:o.slug,language:o.language,dSafeBookCount:o.dSafeBookCount,library:o.library})):[]}getCollectionCorpus(e="production",r=iv){return this.getLoadedManifest(e)?.collections?.[r]?.corpus}getCollectionProvenance(e="production",r=iv){return this.getLoadedManifest(e)?.collections?.[r]?.provenance}async waitForAbis(e,r="production"){let n=this.getCacheKey(e,r),o=this.abiSyncPromises.get(n);if(o){await o;return}let i=this.getLoadedManifest(r);i&&await this.syncAbis(e,r,i)}},xe=new gc;function hb(t,e,r="production"){return xe.getAbi(t,e,r)}function Xo(t){return N0({id:t.chainId,name:t.name,nativeCurrency:{name:t.symbol,symbol:t.symbol,decimals:t.decimals||18},rpcUrls:{default:{http:[t.rpc]},public:{http:[t.rpc]}}})}var Ab={};vt(Ab,{APPLICATION_ENVIRONMENTS:()=>Hm,BACKEND_ENVIRONMENTS:()=>cv,BRAND_LOGOS:()=>bb,CANONICAL:()=>av,CANONICAL_CHAIN_IDS:()=>Vm,DEFAULT_CHAIN_ID:()=>bd,DEFAULT_DEV_CHAIN_ID:()=>BR,DEFAULT_STAGING_CHAIN_ID:()=>NR,EVM_CHAINS:()=>yd,MEMBERSHIP_TIERS:()=>ER,NETWORKS:()=>Wm,SITE_CONTACTS:()=>xb,STRIPE_ENVIRONMENTS:()=>uv,ShortNames:()=>Es,getApplicationEnvironmentConfig:()=>Ib,getBackendConfig:()=>PR,getCanonicalChainId:()=>wb,getCanonicalRole:()=>yc,getCanonicalTarget:()=>vb,getChain:()=>dr,getDeploymentEnvironment:()=>Gm,getSiteContact:()=>AR,getStripeConfig:()=>TR,isChainDeployedForRole:()=>hd,resolveApplicationEnvironment:()=>Sb});var Es={SONIC:"SONIC",SONIC_BLAZE:"SONIC_BLAZE",GNOSIS:"GNOSIS",CHIADO:"CHIADO"},Wm={[Es.SONIC_BLAZE]:{enabled:!1,chainId:14601,main:!1,symbol:"S",shortName:"WATER",original:"Sonic TestNet",faucet:"https://testnet.soniclabs.com/account",faucetAmount:1,decimals:18,brand:"SONIC",pyth:"0x2880aB155794e7179c9eE2e38200202908C17B43",pythUsdPriceId:"0xf490b178d0c85683b7a0f2388b40af2e6f7c90cbe0f96b31f315f08d0e5a2d6d",website:"https://soniclabs.com/",rpc:"https://rpc.testnet.soniclabs.com/",explorer:"https://testnet.sonicscan.org",name:"Sonic Blaze",memberFundingTarget:"1",staffFundingTarget:"0.5",verifyApi:{kind:"etherscan",url:"https://api.testnet.sonicscan.org/api"}},[Es.SONIC]:{enabled:!1,chainId:146,main:!0,symbol:"S",shortName:"TREE",original:"Sonic MainNet",decimals:18,brand:"SONIC",pyth:"0x2b9Bb0042dB2F30650d73BB83CBAE584807d2FE4",pythUsdPriceId:"0xf490b178d0c85683b7a0f2388b40af2e6f7c90cbe0f96b31f315f08d0e5a2d6d",website:"https://soniclabs.com/",rpc:"https://rpc.soniclabs.com",explorer:"https://sonicscan.org",name:"Sonic",memberFundingTarget:"1",staffFundingTarget:"0.5",verifyApi:{kind:"etherscan",url:"https://api.sonicscan.org/api"}},[Es.GNOSIS]:{enabled:!0,chainId:100,main:!0,symbol:"XDAI",brand:"GNOSIS",decimals:18,explorer:"https://gnosisscan.io",name:"Gnosis",original:"Gnosis Mainnet",pyth:"",pythUsdPriceId:"",rpc:"https://rpc.gnosischain.com",shortName:"TREE",website:"https://www.gnosis.io/",memberFundingTarget:"0.02",staffFundingTarget:"0.01",verifyApi:{kind:"blockscout",url:"https://gnosisscan.io/api"}},[Es.CHIADO]:{enabled:!0,chainId:10200,main:!1,symbol:"XDAI",brand:"GNOSIS",decimals:18,explorer:"https://gnosis-chiado.blockscout.com",name:"Gnosis Chiado",original:"Gnosis Chiado",pyth:"",pythUsdPriceId:"",rpc:"https://rpc.chiadochain.net",shortName:"WATER",website:"https://www.gnosis.io/",memberFundingTarget:"0.0001",staffFundingTarget:"0.0001",verifyApi:{kind:"blockscout",url:"https://gnosis-chiado.blockscout.com/api"}}},Hm={production:{canonicalRole:"production",networkKey:Es.GNOSIS,maintenanceMode:!1,apiUrl:"https://aj1bg165gc.execute-api.ap-southeast-2.amazonaws.com/prod"},staging:{canonicalRole:"staging",networkKey:Es.CHIADO,maintenanceMode:!1,apiUrl:"https://udpkacwxd0.execute-api.ap-southeast-2.amazonaws.com/prod"}};function Ib(t){return Hm[t]}function yc(t){return Ib(t).canonicalRole}function Sb(t,e){for(let r of[e,t]){if(r==="production"||r==="staging")return r;if(r==="development")return"staging"}return"staging"}var av={production:Hm.production.networkKey,staging:Hm.staging.networkKey};function vb(t){let e=Ib(t),r=e.canonicalRole,n=e.networkKey,o=Wm[n];if(!o)throw new Error(`application environment ${t} references unknown network "${n}"`);return{environment:t,role:r,networkKey:n,network:o,chainId:o.chainId}}var vR="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAABaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAIAAAABAAABiAAAI2oAAQAAAAEAACTyAAAA2gAAADhpaW5mAAAAAAACAAAAFWluZmUCAAAAAAEAAGF2MDEAAAAAFWluZmUCAAAAAAIAAGF2MDEAAAAAGmlyZWYAAAAAAAAADmF1eGwAAgABAAEAAACvaXBycAAAAIppcGNvAAAAFGlzcGUAAAAAAAADDAAAAPYAAAAMYXYxQ4E/QAAAAAAQcGl4aQAAAAADCgoKAAAADGF2MUOBH1wAAAAADnBpeGkAAAAAAQoAAAA4YXV4QwAAAAB1cm46bXBlZzptcGVnQjpjaWNwOnN5c3RlbXM6YXV4aWxpYXJ5OmFscGhhAAAAAB1pcG1hAAAAAAAAAAIAAQMBggMAAgQBhAYFAAAkTG1kYXQSAAoGH+Xwv1L1Mt1GZwVaNf3AfyAgMBCACFgAAAAAccEEQABiE+IkjNLppS9tnGoqGMAUub5ysUwzNKPWvh2bO2xM+3NQNKhpRkhZa4yglLR2Q2Du9TDRXssmQOs711+TeiKlIYiZeEy/3DQi00/HooeZRXEdZwoVOD/GnbbZJIv3uqmwUg+bYlYDPl8YgsjRvojduGZcFT8OnCZ9lHXBl1s1y2cdJLvrXCv3opmPNq4lUiZVMPIJcWfB2Eq8Jzbf2MTuyj+k4nXmeCGHRD4kGLXZey0GF2tm3qPWKS54FFWHE+9QLszCTAYUKyWWR9AiotLDaK9Mov1O2gMpIAooeoyY0FvckRCieDe8i2Y2IPdMhhmVGt0V6X+kBNYBQRxYvQ/r8O7qtjAA5RT0ECSQE3dCJn996DVmVQVa1NKcBg5lGAappSuQxenC595pHstI1wDtLdny086rLKY1LUKJp6zNzpfh+s2sdLwJaarTowwuE7KUb1zy644LYzRoDJafpOTYYD7IMxtsTdE4PYjcSQdGd3QVGCr8KRL1AT/92jqsTJprZ2WqT3j6gFreBx1fsB5d+jK+gv22uuRHNH9ngL0EnkJzTsr+3TcAqls+FISJMz3a1SuzUQnxTWbcJzHu4fbug9et4B3y+tBPOTU6fmdRBNt8fASuddfNu/jZYPT8BLDZvlBlDOSFg5Kp3Rw1NTUZTnZdUdqTTccqz4FWgTRtj5e/y+BIS4M5feZfjHeEM8BCkH4O6qed96a9f9VS5Nm2YhkaCtrxfZSj7wd5Prd4c527BPixgdYHlRjtkT6AqugOWeSmQQei74EaAMdpnjCuFjaiJCbHFE8iAPrb7yPVeXrIbOawUEzWBUI/JZNnqYyZQtpgWTBLHMTjLWnsyZ3/PZzDw3FXSko9nMex0iG5DwmtPtaK5W65eq4CUSV9UblSct3w0l7fRfCFgHXPAhVzLKhByKffw46ide6JTmE0Fu4wNsRpXdCcns0F2P4Sc/pTRoydt5psFwdp5dUdsExieN1FWjsC816oXavPFVeR/0lI8pZX5rr6d3ARIM/zYCEb/e4YjEoHtzNqs7pSuQVwuO6ugwqSHd2h/Vj63qoR980ml+2FRRGdQoEsBA4VHXIHvLEJQqAO1RRprFSNGNVnc1ON3gBOJJyVif2ZaDOc4xe6SD/Odx5nyzQ41afJcE+mTIUGlFvpkGPB7qiN4nFk4vdFAuKhw7RAUfD3d7wD8Y0/OfFU/+unzTl+cYKNNq3QRHN11hONb83mtnq1KWmRVz+P9QZMLbI98lyi3Rb67ji9PC0+7bfqem0jdqkOnW8CtlBeVZTmWhyuEKFlzXmvEdshGirF8yzX9x5oxJ/obFe9vKFOhHlB2K8/lVesfYyNhfGqnKN4dcKg7Wd9/Ux+oaHCN2qF9EDfNxFHzLiDZIa0g+92GMhIM2UyE9yq4UGk+HneUncIlQWT5H4vYvgqiQdpaBk17EUntR0kGUDqgL8TynbnAkRxdVBv7u6bsT1usLPU0ftKtuCxBNLVPa9GxL9pw/plVHKAI8HLZrpu+gyYyBm49Y+z+UzAnIa7NilB7wciGhnPntgrHOGICGCdQgQKNwiSDxmrK+1FYVZ1hdWgMzWVcooG77DyCHyAmJiX/PdxT7xpJMPWEIuzSu7QYYfE5R0CXEpgX5WxSRSEU1dQ3CnBRoog9w0ku0u++2ZMufnJXvg/6SkAb6d94e0LjaHWDyLU27tbZNcRuA0RfbqkclhZ/AQzlMZ0Eo0oeLgqJJDNi3gUjmxOqN6uLmx7qT7itIU1H5q3qLOgaqJA1T5GjhzTxNXZgIQ3TLPaYF+BxS5z/17QaHlHg/uNmRLdM2Ixdf2TemU0qso/kChuy9dgE16MJEWpOt0rf+U1jAN3PbQAhiMhOiaRjpElZQD7ZnhlCdIVsBZCvoC4sgC0d14CbqD9zoCQkd2+QtXEfM+ICSpkroYpNLznTF/IO1Rqzem+YY9ZEF3wzJTtFaeVac+xnwGrVIp7u4Z8R/0f+7s37wXCLhrF6GroPPM2CvGFxKYAnCTBNFYpakgW9JbNTLzOsqSGoWFBxVb7wvClq2rvo8BI/0dI5U3tMxD656UhSj7mzI92gK3H5vZk4C6oMaOQhOJ8f+pn4e8ozmdm2WPCZPgow9wba9J6Sgzk7DHv8Q6exmaPFFh1325o8I/ZooTTJtFkIb8Yxshoy4uaKgExB4PSOlQPxgL75xLz05vsoeIK8j0/s1eLg27lcaUJwUm29l/9CYLgFQHHQWUgLXY+DZ3QLF3yz+L/SuXXF4ImWulHmaGfLHiC/BxBnqM8mVlIr80bCozcJcSZI9pWX+J0hi5CkIyNyIKGpQpzrkJ7Aq+GsCwkBQvf5jy35qRb4t+uad9tCtUK8+vA9X/yFGmLfHNIVWOQH9G4DViwwrFIAU5EBE2yDkP3Lz71PZRdQb6N7/3MygPr8ddrPBt/pvpmn0by7oGo81z6cgp0BTR8JEtjAN2D/tPugpxLZHSPk/OY7wAMhH+Db6a3tt7fM2Z9BjwIJJsHPQv9K8jaILvNtqgrIPFIP5ywz8cQ/U0/Dgzzf/d0LgpUcy+bO+a84l0ACsebUoedU5noOKC/KcYHdmwUENYE+dclBlUNG8Pvyqb0NGixPN0bamOB6I7LfVao36cBWR1yTkJS7upg2tpdvp01KKv6FcLjLz5b0fwIsHd88OEAeXzHA7GOtXHxyyKd9BcCTlM6oZvWWZj2b1NfSuGmxkNxYi0rw4mujcNU3qB3oC6lheWhVjaGE5/a/u3uQW4BOC3Iprjv8JNC4L3sgUxTo9uT4eF8VN3ScG2hKt8GGQnZCVu6rH+eyCCBbBMfDeKiqLoSeIIkQO9+759UwBxi+m7bMuti6OtWzOoyrokKJS+folC6AX4/yA6WQPHbI2VljFZqcayrd7d3RpDV0hF0BNpCYfWNx20qmskBsj4/7dmIxsuQoEmmibZulFueGvDVl85a5xNi0da851sp/rxHNLUf9uDY3LFVmxlQiBXCabgaaHV+b4SZyuDCRpmBcH3gdamaAsLaBf+Jw6DjHBuZQYnrMo25y0lAe4XxttknkP7WFJ/XUECxrKTTl5tFIyBJJyHqnuY1T1UqaHU8tNGw5igkmm8B0T4LM03PjjkJ8v3B5VuQSdTx7plBXR4R7eLACk/4ZN5PkCBLA9PRWgxGdDoW898TDKOTHN0iS1/PVjAJJUFPVE3KjCk+fBDXGaDRGdH9qeeYvVcp+v2VFxcf8R/6UGcYPHEHTmlm6OveJbXOHXe8s0LMeJ/nAg824vHgEQsh+vQNC1EY+3/CIVC4EdcQfkhKBq5tmbm97BGPUugEVHkhrDt0LlsoMdqzmqBAsdYyowHL6AclsafISryQSSJGhGtZ5qaUT/9jWUT0mJjd8zH+H1gwbww/eeL7hV/ZS0ZnQGn96eNfhbhm28cLuoYu/+ESedwr8EnFZNy9eSPk8MpgjQuUyTA7gTHNmYT3SJYDvx0prn2QEbB8hNIORInu4T30p0rp2Dbar9guxMqDTsjJcHjMW92YjWkwrqL4gxJaKgBzlq2xWzFoSsmytG/wf0k0cmktbze67zfUX+rJjJsm89Z3+/IAtDLyXS7SfsBNXoajuYjyx19A+br1TnQxvjCSQJmDxkjy0JTDZ0HJ7U0k3OeJyDbM1kcGth33E0KBtAh0R+jNTGEAwBPpa6dqlkSW4Ck/an0IcIuGlOSZTP/IU9LXnVgBS//vhzt6MWhEQ1QvbwBcIiVaIOnlXE7MkCDooid5BsXKJ9QHRnZvhLjyf+2HI3fUFootcXVGsP0f/AQelsr8fdyNtqwGP2JC+ZwGGGDkRvbWKco7gElu7fdvLvEh4VTvn0e2+Ec0gc1E1b2Jjty/2JEZdPgQqoFMz/WbL4HK1qSJudYrdAhLFPo7byAJmT71I29xzhuVQRAH7j+YJrYbzbIyLxB3mK/sWTYOCksRzVn0OlzKT35uVhqp1UrgxX9sJYnQTYT7/aIUcd4tpmE0+SW85dKxYdEEycCisOsxQQiZqc+UHA1FLEHfKCHYkuoQVyad7BzvF4Rp4bZ3cv/wEHPT+epgTc0dMfjDHNtbnWanH7SpKesp1w2IXt2QRO/LoJzeUG4KJfyGr+65z340AQjgmjwEyzy6L7fg3muTt0TdLvZ9/wLDH+SHfPbnXpqZZYsUsF/HOzAek1wDnrITeLwkA3CJ7Td5P8TsRU/TT0fR0xGAo6qSgMDEseRlvl+h2TuMCCwmFoKoZi1QKaWhau4HyG5nlBQNHmYZKtrrj2v/NpJfwKXj9EQhTJVDvFhg0PXRYhaduezrdFMbLznU6WrifBpUdFD0oon8vYzxtV0EJjenc4YadwP3cg9W1eNPUEi/RLRtGij1DAD8u1T2hho9KUHSAKKR/uqBLbqAWRBVBYqN6yAnEvFMBqHU0ycSjD6PgU/fIAsCpzQZfg/ggBaiNIsmgsaIBs19ZhL26291NcDO0ZM1ilqRk8D9pBrCqA6jICc+C/gse3fvkhQZQD8FOcdpGlUSCPASPMw7YGb/E2VZWePm6UFxPkOk2unuLgPmi9+HBG7Ajn99q9z9KqIIfknPVxSiswWkXOp1FjOwd9fhCEo3tEwuo/8pA5Z0x8d19YrCffcQfJBLKDVtOYs89EAU0RYxRvjs1oOqe+ibp8SYti++C/JwAm2wyER40y0o1FQd1i0yya0AaH0jUJ/XahJCupVLortOKMTAWujnzBU9J9ar3DsMfv3IRizRp3jggrRANFp2y8AMCXN57EiPy2GC6dZeB+QDf2NjefukK+c88zlXfCRFectKLL7hYNlQrs9kANWuwLOLFa/C/DszLpgK2wb298Ko1Okc4Wp2jY8fCnEXcPRKTukVAkuIXbUyATFfOcvTvpRTcj0e+D/m3gjti8sC3xr0+XHHIbeZaigSPtHNa5AkoTIMUHfgm8qhTOpsaHezjpVs6Hla1q5MyVCkYk/bB/qS+4EffSc4EcEvzQWGVhPPd0K3urLvca8p90NOoXDe+UxPR29VXyvnUkn8PmhUiddHcvQkQPmLGFCNgO+RdnGuEbzP9jqmBx/pgOwk5V2oGSpkQ0jk9YddIlXobnskQgC0hudV/8lfEYwSf+e0clXe8BtODmOljZ23WWOUWnhE7VI1bAz86X7cWCGTUsPDKba+7QAmgiIVd2j3EZ4ne5BMjuGFDspzZJDImXHHu//F8OpaNIlI5WP+icU4srGIWwXgzpxnu+JW4a62TAF6jk9/dAXC2BnOusJDRKEZWFGZTrvVY/Sn0a8tEX4BAzArHBJIQg4apt2iAmPgzDJ37OWTS1FeKA5L23kN+BBBCd2gh9rkrYW65ooGPFOynX4XCPKPWo9yyLeSjQBxnlt9aviA/47EFPMc1FAueLGxG4/rpTgq23wklxghP++a06ub/+o9lxqqSSXtECKtsSs0DQNn8fK22inBNeMhXpqJDl7qOku5f8PR8JynMcz9H8Oicb+814ZKpdLfJ1jMkXCraQr1eIAbKq0/u3qrFON4ArY16hjDjOVsiI9kjHhbY7DtoAoKYnrdorCEpadA6Jdapj8hSLtCBUVhLbe69Q2+MFMWwjXutHSfp/Dj28t3mczDrPnwK97jPKf0WenOi+xdsUEuyLPCnMEMF2F887bZYlZKkd5SIEx3DK+5DGq2HnBeIB7uiGAv0IeqqEKX7I50xtfRb2ocVGnMJVl2LBejIZQea5kXThxPg10sgR2xqORIGL0rX3n2myIBPcpn32Z6Lb48mLVg4kqIBbtS4+qSY6gXK2esVYj5PsvnGISG9XAipvQNMEkK/JCHObMqFxYkPmVPiUkQZOzfvosXq+AClMUOvKqh4PTHtysEm4mWkxqt2yzoqTzzmgge2XEyV9jTI0kC3rDvlViiElWixbvDbBDuxoEI/fv48N8eZGuL3UTc4bH9Z3ZY0mngFsInDTswwFchs8uax/G+h7SolBaFogzbC+ylAxxc1rPOFl1VWoD4WlPUZ/VJVusB5NtYn7AdR2PfUtDACs9kphH9wn0PemQlAlNF5+NgvQmHGy7G0L+BXAlc0nd0B2koqaScu0rRG+bEn8E4ctlFXJWpQtxX8lAMDvYYSxBEOl0USOfNlJ8lasE799mYCWXbrOcecd1GxmnyeC56ffOPIuZDDy6vT9RyFSjIdI/+F2N8lnc8JunoUr/LID0/CEaDB8wlatbXzRSK+5/nbqcz4Xy5ASiQS6cDegWqwU5enkEBf2KLQ5ULVks9Cqloa+eMRR0MBcyt5OTl7MPuZDlhNTPqD3cpUi5zYq/OG0GZttfQDfKH0pJbdbOBniqV4BQ+bZcxr7CMsxj0KE8+VMV49SaLdFxHbLOkSXL3KQluQIdj/J7dipagDm9vUDY8CjE6OPEiJkHkA+ApbcD3S8OALINnMHGj3EMqGAT3QbIxE5H0a28qyTbPQ+gaj2p0kin12IgrkUDQy0qw4I3WnpEzyK/OmxDnXGRjW1ZyGFYxUu5geyteCyF35WOoxax67xP8LRN6Lm2iS417DVqFSKw0tyagCtUFGgvGySwjaFlCPtejyPBdaQENvPOqnE2HsZXyJgcbOrohWNBj+mTv6inHBxz6xn/rXr1bgZAFN1u58lP5+FgdyED6CD6ecfzH3M5I17xMclm1vO7g4tCEm+gfZ0S8+e+cAE9F9s2oAJHUfZqPVRGLwG3wjAzkljIb5BvgC0nbPbu/wbg9H2Mr3cPcItL6QgjrUiWxcJYz+gXGd4FpzfojGWOyY435A4skZ2muFITw0bkFOBcrsWXNAKkuCLAH2XiL5sHdky0690HJauwl5JAyvA94t6n/4Ipef4e54D+OINZ0Y5Q++LqI5ts6AeOTCk9pAtr7ahGoJvCvsGcnsICOKS19zSAlit3GjL1ph9EYf9d1nuXzMbu0WSK2qahXHBehzHWykCTGJkvb1QG5fsP5DScwf9LgLl6b05oPZe64A9clsOQ089ZJZEMaFgc5rwxMYB5+wUlceopnu+o7FXhhu7qNU3WAzdYQX2sGOjnwh/EVmB9i3aMu/UQ43tL75sV9NIFNF7Ajti5NvA7NrOtP+D1NFV6PzWGaESprwwbfH/Phi/A0ElqgXEs0iMlGr/3W0s2iLK2seVmdYlV6y+4s3fQTa5k04BIW7HpxEhY9P3+W/yU5vTT/2sX4mUG+QwAVamyz7ghTLt0Pju+5QF8q8pWlQiUmuuFUi8vm6Zv1if2CR4WpulxVOZZvzZTp2AxfpRtlyhmGCJsjeHVlXElSTWktIDzuiBiWAzCq6RzRTJYh1mExBjKLKNU0GJmAgZgqUZ+Lml5lV+c5B23BwTc17tNTeT232IjA/5ZrV48TLRVPqb596eTAnkOOwHxLJQmlfQS2ED0DJLOyRlKm1ZCN9lgInWh0ZkTae4wWUoxary7ZUBq3cttndZgda8wkqB4uq9bOGRtguh81ecqx8hRuHkgo0OE98gCiwI7mYhBNvfgi1ogcUV2I6Ntd50RkO4iQN4PtGG6NhHlkpsFmEU+/lLJrL6L8Pm7EgPMyD8RfEyKuv5egEW3Qbk3iK70U89GekQHULj5wXQrVn16bE1bLFQHYQCUS8w3fAyryPwKUwK5F/4X4ikK5+IVScNP07qjYZne5eZb+WLt5GSlX7NryE+Amvr2UovzoOM3F2WsfmfudT2pTFhmutpeVISsaslfwSvLehkaqiE6cFH5R1x+MWntxmsOjwy4vQ9qjtoDF6yimUBwNQMMoFPEJEpYoXeSkh+1BZqcdOQ+car1A9KbP/qEcZ1roWQHrh0CVvknhg+4V5cECkz+lXz5SM0y1zaX66mGYIl9cB1vyi3vINzXkLkZXn7MDbkkafZCDvRbx/5oqtaAgqYnmHSOHAm5fVxjU/ESRSvb9tbDGOYaFz2F4r5JTrynQPxi998x2dkQM6cEwcQ4WHHC7zvV4BrCJJz1ZgBv/0IanhRae0AM1eyuNhN0vHGbXC5l8pU1Y2njIAspqmIMxYa6Ayam8T+J8uR3Ssd7qZ8DDmQuEr1USAYMI4Fck2fyPcpNyFXEAjo7f25C3B6I9E2XTynQmCe4m/PrrrzyIO4VL/WQKaAHyjoU0ceWAymRR5F/Gldm1wfpdzOU/NIfIjzxZsNfIxaZfInS2E5FVZss9ouU4f1RwJ+nIiIeFfFIXm8tpeYFVXUPfYgrXXmRXSs0mf75PRVdZvvH5m2/tbmG67bjKMbMcIWi1G1DLbQ9FYTyhOxy+6R3YS0Wxao49pk6oevxo34pyXopQX9JUs0hJrViaga9YnXrKadYQsXF5mDFYAHgP4E/dNoa0b6rdc95lf28S1UI8k7HUoMg6+S7+fxIhJmW/HrE3zoI7IH3POcgPZJQ33m+lZrrNNh+0KchBQqTohx/ITVEw18V8WintC6yOFsivdXQ5dhGQmUN6UIpuuqY9Faa16DDLUm3vAiaNnPJgo4L5RxA3eTjsA0ZL9xJqtTTShcV3mFbOFblyJgdiHkJQJXKIGMYpv4n2mqNZIzg8uR+IQ0U6iZqXXiF3ZZC/l3ozmIjEBaCNIr1HOT+/NVyMgUweCAMXhgrq96O4WUX844/qCqu1lA5TTPSs+HOcq0QYDbcHngYtCAcuKccJ5br5KHtJyZMuQ4D4X+ewt+w4adeQ8HMsQkeT3nwBlMarIpxzU41vhiefKlrA//eh79FZLVRkodVzAisecs8GKyaMdCAbwZGkJb8EG8UJ7TbTFFGHQNRBULn1kFeEE4XZaCpZfrhIMo2/xGvCFvUnjhbGaDUxVD347M3aSUsnLCqZIo1tzaJkHPEGOlULYCo1sq8mxeybXTzLUEhR8Joa17HlQhxtD3rqUP1nB1pr872qzgmzhSnmpr2e9emtlS23ZpHuKdPVgo1pS213nl16eBsc+lY1ae/ndBRvYyhYT88WQ2+Z+Bx5nZC2IOFfi72ZxN0R4X1+TgGjMZi8JkRsfG95YtH0NmCkBk9nMXhPi/KtgRMmPkXVB/rzhh/twUHP0a1GfAKMtxe+Jdl8KWxFjl4RcMybh9RevjZt3wBdH5xXaDaDKmYvWHpO1APN+Rfhg736RtkCr5Iw8SIIw2vrAPZ0w79VH3WrPwaLZTSamGstC0KMTwWZw4MBilSzJzlwqaem1xIkNLnEmq35t+N8hK5svFrpS24apyTsdMxe1re+5oIMcbN3rMcnLb7Q79O9w/TxWPRfDhfudw/h5RhhVtNBugCpBRyPD1K0iVzOuDWnpbwzXUdcP3w5MrMl4W07BE7239rZptfoiVlrX/lwPfBZsQhKMVWrdaRvU4syc/5zHvJrug+zKBm3+qitqCW/8ldTGf9ZXAw1XCBp9MtVXP6hB0dN2VQDh45SpVqjrH4baAPVC1EwR0l5o7KPR+d7tbPHDYGS3x5gfXKwl/vJxp9uh41F6BvcwUBOTzfRi92Fhrr2Wnqduw8MerL2i8DY3hdBNep3I5/awCBT1O+FF6+GQoRUbHjo+eAjntGHbirvMahcEXKeq5g1H++uXiQkP4OQ1YlZaJ0+bzsvVZWJzv1DCf11WxpdGNKmEA2kwZat09h+lC9WQ2+Mn46MSDQD5KqZFFnwa8/ZCXZFzzaTE7JG//Fv+9iCT38U3GSKOT6rRGGfxiHvBaZwcpFE/a52GWWMWQsFZztN0N0JYs1Gz/lR7loMnaihasXIDpZ+ibvRR/EYeCSiBj6ecfzH3M5I17xMclm1vO7g4tCEm+gfZ0S8sgH0zgAn4q4brvUFSVFy+clBaK+mvrj2kY8ZfWv+Idh5PW4P3la9hmz1upaL8vssWj/6Frfn4qrzOLnJ53pEbHQnmuXD+NvQK20I7Ui2qPprChBS3jQ9rodrfx8fg5PrNDbW4fX5kUXMrk72GhQJg8RX+qvL7t15KDqhG3Xh81viQdC2XJm881v/LpOTaaFq9PmROArIJG71BkLowYcFDpVfqEl1w/XVE8AVpMDtm2toYjdg/nIb2TxsSPRxFBNVaFlQEGaSLeEoVjpeBvXzIHBApNJcPnP16zsL/02EA10eGzP/bgmmZy+C3w3cuFoNSKik8Yf/QqsLJ8vUCTIIB7CO6e03pbsfMsqhXJHgZLwBXv2sIVB5eKrmg1lQgkDW3KhT57IvPty7a4Hz4BakPAy/0KfCaNPJh39SLWHLu48C/5TZ2eI2vDzLqrrNQyQboBYLhwWVckqohc6bBNc9s7YVmccHUv+DNPztu9P20ZxzyDQJ7A3xORdpENR5C+nb1bjc3KVvMZJXQ7BJDFwtpBeUYieIfWwTwbIfLlEneX+tjquEaodUtEm/b+3Yd+Hx7uqv8s1DjKn1N7ZFGQgQVZTP7KxEYfrXLvQhZWIpBhkV8t7a+/GkFCDgRNAowaruZ7E0a2PTkw6v/vZFgXntehj2/99hXcDqyujPg5znkRuiMny3BrqskEaKIKZWXX0R8TqVEOrGam0KwxrxHeEBfEbTT2/2kZhHEJafGkAGXAjVo168Jhb+kAZijAveor4msWwfCE3CEB5BnTE056kG8rT3MF5r78FBYp7Wfg8N8i/YcBR3PJ5n3nDD0HnG6yo02HhenhAXQZLzpfYtQs5viudhfgtM+0AtUgtdpE2MBM1WtC/7/ZbrXbHq/mgNUnceVIf9mHJrwJKeTXCciJif0vqpa0rBP0URwGnA/VUXV5/MyvJX1bh5YgYB7rJJNpxEsBoze8GS1qHL/E8rfFDPEr4HwIO8IvPYm06p5uGmi8lMA3l4qkV5fEC/D8p3a5eRZNzpetrm0iKEB6v2Cs4Lv1525DZRXz/jisWcgdp5bo55UwxRCabGRyijyEKyiro9bhFoeNkVDnnF1KoLMn6zi0s9OXDC/dlndFsiBNbS3bkkgHC1dP+pa2RTKYAcQ51SG6knNvowsG702HX4ENqBrsksiNHa0UVfF/aoHg6dM6C9bylG9abFF+yXEs/SEBFLPLaS2lLOHtk2J9rL6uGtIoRrxwzlGpTYqZXjp/GfXM8rIA3UFEisifsxCq15r3XlN2gVI2M+P3ITwtVHqfOdBKWwg27rtHTSIH1fv3JU/6CsVK7s7oL3sik1D/53Em7a8BndxphhiWDuJjj2XHHyuDbQX2BI+0ZZLa2ctv8joFCGrH2GY1h+HJ33cODZy2lURnVrc0HoW7jtwoncfH0KAZ4DcCkXO16y+gi0wn0jkf8c45tx0o3mlI4klTkjfPzQ8VF1Guc8GqtzShx4L3zvETYmLtFn4Qugqg8UwzZT4COPvNx4s5ASaQqTX0lUklH0wxZHNdJvnt3Hy3qniTxIWIiVm+h84Rvg9VV+b90wE95QnXF2hfiNxor+sfCnHRJJBcIcZUYJxO9f7pLny7153SWBhKCdeMWOpnnQiKz4xTDPXnwfrK5WZg/Sff/vr6J6Thu9nXxqMFwtl/NWvCC6oc8Pthw7GJOAFxUC+2SoEwmVDUZKHunoERt7pW/A8mdPqGh7swIFpk4EHivVq1ObIdAEhDrrKIEHlxZw2a/TvUja6gOGGV58Ddg4zuo5YBnsllV/59swOgyxRHh/naRmzIdaq2IrXUBZGGa7pajybVqIH11Yxhl3EncQcitTDr/M1l/KLF1YtKhvtNYZX8fnvNlqBXAZZwp1wzTjNrAfyLScBtQbAQ33VikJID8LNOxszSp4oga4mk6Q8VVP2gIkzF49ZpUcJU9oyuzhkIIMietTZQ1Jvmd26b9YL/N43S6XW+K8W3AqYEGIfh0tYIQaodK4eGqd2oYRgOfk8HhDJg23OigQYcohN1oTN6tqxATeNmFLe6PBwYB9lOuU9J43NgATTE2yD3oPub4DmqKBw3+BT+Thu93xln4zVvEo7+V48hJVHBqI4B1V4T5n+ivVHRYxTx7/6zzwNzse2u2ITkWVJVAfUMrgGZUhm52La9rT7vWjCTb0XB1Pe1NwJ9TfTFqP9EONu3e6Fk32Jf2LnQdLkrciNg8OD0oetWp3vHEQmw/dF6Pg6e7SuZAR6qm6/0LXSDopvRusf82obvJkyR4ugNuiIMlQoCoGAh/rbYMii1+b5Ppr53gSAAoJP+Xwv1LwENBtMsoBZwE+P0sxHGAAEAAIAAAAAAAAAGGGGBBBFQAANgftlxrmsHTY482oH5KBxsLDJevz7TeplPNbmzG3AA/pOAp1cmeYTt+6i4RIoiTS/xPoUda1WoA2B+2XGuawdNjjzagfkoHGwsMl6/PtN6mU81ubMbcAD+k4CnVyZ5hO37qLhEiiJNL/E+hR1rVagDYH7Zca5rB02OPNqB+SgcbCwyXr8+03qZTzW5sxtwAP6TgKdXJnmE7fuouESKIk0v8T6FHWtVqAK44q3CWowA==",bb={SONIC:vR},xb={"dsafe.us":{domain:"dsafe.us",websiteUrl:"https://dsafe.us",contactEmail:"hello@dsafe.us"},"worldbibliotech.net":{domain:"worldbibliotech.net",websiteUrl:"https://worldbibliotech.net",contactEmail:"hello@worldbibliotech.net"},"worldbibliotech.com":{domain:"worldbibliotech.com",websiteUrl:"https://worldbibliotech.com",contactEmail:"hello@worldbibliotech.com"},"worldbibliotech.org":{domain:"worldbibliotech.org",websiteUrl:"https://worldbibliotech.org",contactEmail:"hello@worldbibliotech.org"},"datapond.earth":{domain:"datapond.earth",websiteUrl:"https://datapond.earth",contactEmail:"data@datapond.earth"},"pondenterprise.com":{domain:"pondenterprise.com",websiteUrl:"https://pondenterprise.com",contactEmail:"hello@pondenterprise.com"}};function AR(t){let e=t.trim().toLowerCase().replace(/^[a-z]+:\/\//,"").replace(/[/:?#].*$/,"").replace(/^www\./,"");if(!Object.prototype.hasOwnProperty.call(xb,e))throw new Error(`No site contact configured for "${t}". Add it to SITE_CONTACTS in @the_library/network-config (src/sites.ts).`);return xb[e]}var cv={production:{stage:"prod",awsRegion:"ap-southeast-2",secretId:"/prod/d-library/keys",tables:{paymentsLog:"BookCollective-Payments-Log",loginRateLimit:"EmailRecoveryRequests",emailRecovery:"BookCollective-EmailRecovery",recoveryAnomalies:"anomalies",trackerLeads:"PondEnterprise-AdLeads"},frontendUrl:"https://worldbibliotech.com"},staging:{stage:"staging",awsRegion:"ap-southeast-2",secretId:"/staging/d-library/keys",tables:{paymentsLog:"BookCollective-Payments-Log-staging",loginRateLimit:"EmailRecoveryRequests-staging",emailRecovery:"BookCollective-EmailRecovery-staging",recoveryAnomalies:"anomalies-staging",trackerLeads:"PondEnterprise-AdLeads-staging"},frontendUrl:"http://localhost:3000"}};function PR(t){return cv[t]}var ER={account:{usd:2,votes:0},supporter:{usd:10,votes:8},pioneer:{usd:20,votes:18},visionary:{usd:50,votes:48}},uv={production:{enabled:!0,prices:{memberAccount:"price_1UK1qXQeGVzwKmoGyaR44j8l",voteCredit:"price_1UK2ZWQeGVzwKmoG5dgc3qrX"},paymentLinks:{account:null,supporter:null,pioneer:null,visionary:null}},staging:{enabled:!0,prices:{memberAccount:"price_1UK1qXQeGVzwKmoGyaR44j8l",voteCredit:"price_1UK2ZWQeGVzwKmoG5dgc3qrX"},paymentLinks:{account:null,supporter:null,pioneer:null,visionary:null}}};function TR(t){return uv[t]}var CR={100:{deployed:!0,stagingDeployed:!0,addressRegistry:"0xC121FB1A294A52D4175E5D937A3e6D717B98FEc7",stagingAddressRegistry:"0xC121FB1A294A52D4175E5D937A3e6D717B98FEc7",factory:"0x938dcbA1aD805BE0e585f3b4d06cA210CeDE8629",stagingFactory:"0x938dcbA1aD805BE0e585f3b4d06cA210CeDE8629",backupStorage:"0x8f25eBA09b1188ae571DE3BA0fc62893c40C9B55",stagingBackupStorage:"0x8f25eBA09b1188ae571DE3BA0fc62893c40C9B55",bouncerStorage:"0x669766fD75368659B78e61BD82CB55405F3e7Aae",stagingBouncerStorage:"0x669766fD75368659B78e61BD82CB55405F3e7Aae",scientistStorage:"0x9cCdb8E4a979AeF7bd56d485aB2B7cA1404F25C5",stagingScientistStorage:"0x9cCdb8E4a979AeF7bd56d485aB2B7cA1404F25C5",projectManagerStorage:"0x83e1f5f0a799Bf154BF78e4a37CB66Dd1E1d7F2b",stagingProjectManagerStorage:"0x83e1f5f0a799Bf154BF78e4a37CB66Dd1E1d7F2b",subscriptionManager:"0xAc47559D305d2ACA094B51E879E25cbB3D9C3Ed8",stagingSubscriptionManager:"0xAc47559D305d2ACA094B51E879E25cbB3D9C3Ed8",libraryRegistryStorage:"0x8e613b6D564803a8Cdc71cB8CE7F3EB205981462",stagingLibraryRegistryStorage:"0x8e613b6D564803a8Cdc71cB8CE7F3EB205981462",publicLibraryStorage:"0x2647f241d8Fa1E3C11a8d424109aE9A8D9624e21",stagingPublicLibraryStorage:"0x2647f241d8Fa1E3C11a8d424109aE9A8D9624e21",dSafeHRStorage:"0x7d1437158aE169A1E5C4188872888d622Ef7F6FA",stagingDSafeHRStorage:"0x7d1437158aE169A1E5C4188872888d622Ef7F6FA",statsPivotStorage:"0x57778210bf8De1B24707874957eB6De5cbCEEcfA",stagingStatsPivotStorage:"0x57778210bf8De1B24707874957eB6De5cbCEEcfA",relationshipIndexerStorage:"0x4749aed97EDf0502D6416C1d71502001E153181a",stagingRelationshipIndexerStorage:"0x4749aed97EDf0502D6416C1d71502001E153181a",emailRecoveryManager:"0x3F18c8a9473097B2bF4aA3D0C3eD808AEDFd17A5",stagingEmailRecoveryManager:"0x3F18c8a9473097B2bF4aA3D0C3eD808AEDFd17A5",accountManager:"0xEBD7fC6BAfFBF97782CdDBaBB3564c996eE22ab7",stagingAccountManager:"0xEBD7fC6BAfFBF97782CdDBaBB3564c996eE22ab7"},146:{deployed:!0,stagingDeployed:!0,addressRegistry:"0x96233a42a809ECDb14D3bd44b23a0e70F75E8519",stagingAddressRegistry:"0x96233a42a809ECDb14D3bd44b23a0e70F75E8519",factory:"0x98ed1705270730299079C5D9137416445FFAd7a7",stagingFactory:"0x98ed1705270730299079C5D9137416445FFAd7a7",backupStorage:"0xB936Cb4A1007Ee179f65C75eC62f986F040df913",stagingBackupStorage:"0xB936Cb4A1007Ee179f65C75eC62f986F040df913",bouncerStorage:"0xb2A80025fB10a1F238e72077cD3695AEFd3C9A03",stagingBouncerStorage:"0xb2A80025fB10a1F238e72077cD3695AEFd3C9A03",scientistStorage:"0x4689C7639c21cc615Fa92Cefa48ed0FFf130902C",stagingScientistStorage:"0x4689C7639c21cc615Fa92Cefa48ed0FFf130902C",projectManagerStorage:"0x82c9638AAF614070BA2427Af1691c38b8a973740",stagingProjectManagerStorage:"0x82c9638AAF614070BA2427Af1691c38b8a973740",subscriptionManager:"0x909B28aF430280C0D3b784EC14Df8fd22Db61066",stagingSubscriptionManager:"0x909B28aF430280C0D3b784EC14Df8fd22Db61066",libraryRegistryStorage:"0x40F33095Ac9fbf0c24bfE9642809E9A835978392",stagingLibraryRegistryStorage:"0x40F33095Ac9fbf0c24bfE9642809E9A835978392",publicLibraryStorage:"0x7fa224B1f0CFBA68701888C50Dc168A298792db8",stagingPublicLibraryStorage:"0x7fa224B1f0CFBA68701888C50Dc168A298792db8",dSafeHRStorage:"0xE4926FA79f41Ba0630d6734299F236b190387D2F",stagingDSafeHRStorage:"0xE4926FA79f41Ba0630d6734299F236b190387D2F",statsPivotStorage:"0x834a04670d8c343658Fe182710897fe306E955E4",stagingStatsPivotStorage:"0x834a04670d8c343658Fe182710897fe306E955E4",relationshipIndexerStorage:"0xEe52c2814A6a5F400ed8318752DF3CD37168c480",stagingRelationshipIndexerStorage:"0xEe52c2814A6a5F400ed8318752DF3CD37168c480",emailRecoveryManager:"0x4B7b5cDD0aCCad89931f3282Cd0FF73729221AC9",stagingEmailRecoveryManager:"0x4B7b5cDD0aCCad89931f3282Cd0FF73729221AC9",accountManager:"0xF62388AE786977B6F6113693eEFF1926596EF5Ac",stagingAccountManager:"0xF62388AE786977B6F6113693eEFF1926596EF5Ac"},10200:{deployed:!0,stagingDeployed:!0,addressRegistry:"0x0bBe33489bF3d5b027851C2D488f70DcCf13733c",stagingAddressRegistry:"0x0bBe33489bF3d5b027851C2D488f70DcCf13733c",factory:"0x68A80A3422B21bCe61808CF1E3ED9601Ad958b09",stagingFactory:"0x68A80A3422B21bCe61808CF1E3ED9601Ad958b09",backupStorage:"0x9D3F50977b83f5795CC21c7C590a464be63686Cd",stagingBackupStorage:"0x9D3F50977b83f5795CC21c7C590a464be63686Cd",bouncerStorage:"0x45fA65bADC2d1185284614D61f99273Eea7A9510",stagingBouncerStorage:"0x45fA65bADC2d1185284614D61f99273Eea7A9510",scientistStorage:"0xa975e9C546BAd16fFFd7Aa2Fa659d8750aA69713",stagingScientistStorage:"0xa975e9C546BAd16fFFd7Aa2Fa659d8750aA69713",projectManagerStorage:"0xD12431217cd1F8b41f29C608400119F97c6d37F1",stagingProjectManagerStorage:"0xD12431217cd1F8b41f29C608400119F97c6d37F1",subscriptionManager:"0x65818AEF65a2475af09c4B2C7EeBE7c474877Adb",stagingSubscriptionManager:"0x65818AEF65a2475af09c4B2C7EeBE7c474877Adb",libraryRegistryStorage:"0x500d1e6b5B36D4cbc077684F32e98D0a0FFCF56E",stagingLibraryRegistryStorage:"0x500d1e6b5B36D4cbc077684F32e98D0a0FFCF56E",publicLibraryStorage:"0x5293599e4d67d4f18137FDc3818E1e7b7306C926",stagingPublicLibraryStorage:"0x5293599e4d67d4f18137FDc3818E1e7b7306C926",dSafeHRStorage:"0x8fdA91F4547227e50Ef448332fA8E1D5e01f0524",stagingDSafeHRStorage:"0x8fdA91F4547227e50Ef448332fA8E1D5e01f0524",statsPivotStorage:"0x7a4602175f6beA4393BF886037b36E2EeC261bcE",stagingStatsPivotStorage:"0x7a4602175f6beA4393BF886037b36E2EeC261bcE",relationshipIndexerStorage:"0xF9d92B41124F0bAB0Ea8334B258D3952bAdBC0a3",stagingRelationshipIndexerStorage:"0xF9d92B41124F0bAB0Ea8334B258D3952bAdBC0a3",emailRecoveryManager:"0x613DB14219Ea366041381C6cCF9c09968aD7F43E",stagingEmailRecoveryManager:"0x613DB14219Ea366041381C6cCF9c09968aD7F43E",accountManager:"0xc5e5EfAFBa46B0dBcF0c57ea63B3BD2d615E853c",stagingAccountManager:"0xc5e5EfAFBa46B0dBcF0c57ea63B3BD2d615E853c"},14601:{deployed:!0,stagingDeployed:!0,addressRegistry:"0x9D53A99A60BaA5eEB071833bAE07058F5846D668",stagingAddressRegistry:"0x9D53A99A60BaA5eEB071833bAE07058F5846D668",factory:"0xdF29cBC8CDf9bf25c5a135011d89857F18b9C5E5",stagingFactory:"0xdF29cBC8CDf9bf25c5a135011d89857F18b9C5E5",backupStorage:"0x0998409E88362d76E6B703AfEE938C5fBa2196d8",stagingBackupStorage:"0x0998409E88362d76E6B703AfEE938C5fBa2196d8",bouncerStorage:"0xC947fe2638Db4fB3A0a6be8B8588571a1f874ADA",stagingBouncerStorage:"0xC947fe2638Db4fB3A0a6be8B8588571a1f874ADA",scientistStorage:"0x29215Aa0Fd5CF12EbCF77C0f754f4B2B9320f57e",stagingScientistStorage:"0x29215Aa0Fd5CF12EbCF77C0f754f4B2B9320f57e",projectManagerStorage:"0x3879c30284F4ddcBa634F1E8AE977420fc24c9Af",stagingProjectManagerStorage:"0x3879c30284F4ddcBa634F1E8AE977420fc24c9Af",subscriptionManager:"0xDcD683c8c774adBEc63e353182E6Feb172EFD4b6",stagingSubscriptionManager:"0xDcD683c8c774adBEc63e353182E6Feb172EFD4b6",libraryRegistryStorage:"0x4Cbc2AeE051680C40C3A97DA0BF3da0660Aa192c",stagingLibraryRegistryStorage:"0x4Cbc2AeE051680C40C3A97DA0BF3da0660Aa192c",publicLibraryStorage:"0x95Ad7E48123dFEc03E338617fc5747E646a177f7",stagingPublicLibraryStorage:"0x95Ad7E48123dFEc03E338617fc5747E646a177f7",dSafeHRStorage:"0x1Dd9B351F7Db00cdf1148343022B05e3D5b8578F",stagingDSafeHRStorage:"0x1Dd9B351F7Db00cdf1148343022B05e3D5b8578F",statsPivotStorage:"0xb01cE8E906BeCb24341d8Fe3EB5950826D96f7F8",stagingStatsPivotStorage:"0xb01cE8E906BeCb24341d8Fe3EB5950826D96f7F8",relationshipIndexerStorage:"0x29e4f99400Bc77CD4CaE155F355BbE8520eA2367",stagingRelationshipIndexerStorage:"0x29e4f99400Bc77CD4CaE155F355BbE8520eA2367",emailRecoveryManager:"0x5D9581b8867a71CDD34Fc5C4F90c8f92bAEd56D5",stagingEmailRecoveryManager:"0x5D9581b8867a71CDD34Fc5C4F90c8f92bAEd56D5",accountManager:"0xfc77749ED8794C5d9Cf7b73C506f94DC45C3e379",stagingAccountManager:"0xfc77749ED8794C5d9Cf7b73C506f94DC45C3e379"}};function RR(t){let e=t.pyth?{pythOracle:t.pyth,usdPriceId:t.pythUsdPriceId||""}:{stable:!0},r=CR[t.chainId]||{},n={};for(let[o,i]of Object.entries(r))o==="deployed"||o==="stagingDeployed"||typeof i=="string"&&(n[o]=i);return{chainId:t.chainId,name:t.original,symbol:t.symbol,shortName:t.shortName,decimals:t.decimals,explorer:t.explorer,rpc:t.rpc,website:t.website,main:t.main,brand:t.brand,logo:bb[t.brand]??bb[Wm[av.production].brand]??"",price:e,memberFundingTarget:t.memberFundingTarget,staffFundingTarget:t.staffFundingTarget,deployed:r.deployed,stagingDeployed:r.stagingDeployed,addresses:Object.keys(n).length?n:void 0}}var yd=Object.fromEntries(Object.values(Wm).map(t=>[t.chainId,RR(t)]));function dr(t){let e=typeof t=="string"?parseInt(t,10):t,r=yd[e];if(!r)throw new Error(`Chain ${t} not configured`);return r}function Gm(t,e){let r=dr(t),n=yc(e);return vb(e).chainId===r.chainId?r.main?"production":"staging":r.main?n:"staging"}function hd(t,e){let r=dr(t);return Gm(r.chainId,e)==="staging"?r.stagingDeployed===!0:r.deployed===!0}function wb(t){return vb(t).chainId}var Vm={production:wb("production"),staging:wb("staging")},bd=Vm.production,NR=Vm.staging,BR=Vm.staging;var Ts=[{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getPriceUnsafe",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"}],name:"getUpdateFee",outputs:[{internalType:"uint256",name:"feeAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"}],name:"updatePriceFeeds",outputs:[],stateMutability:"payable",type:"function"}];var Wt=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[],name:"EmptyHash",type:"error"},{inputs:[],name:"EmptyString",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"Forbidden",type:"error"},{inputs:[],name:"NotFound",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"key",type:"string"},{indexed:!1,internalType:"string",name:"arweaveTxId",type:"string"},{indexed:!1,internalType:"bytes32",name:"sha256Hash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"version",type:"uint256"}],name:"BlobRefAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!0,internalType:"address",name:"contractAddress",type:"address"},{indexed:!1,internalType:"string",name:"abiUrl",type:"string"},{indexed:!1,internalType:"uint256",name:"version",type:"uint256"}],name:"ContractAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"key",type:"string"},{indexed:!1,internalType:"string",name:"value",type:"string"},{indexed:!1,internalType:"uint256",name:"version",type:"uint256"}],name:"DataAdded",type:"event"},{inputs:[{internalType:"string",name:"key",type:"string"},{internalType:"string",name:"arweaveTxId",type:"string"},{internalType:"bytes32",name:"sha256Hash",type:"bytes32"}],name:"addBlobRef",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"contractAddress",type:"address"},{internalType:"string",name:"abiUrl",type:"string"}],name:"addContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"},{internalType:"string",name:"value",type:"string"}],name:"addData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"admin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllBlobRefKeys",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllContractNames",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllDataKeys",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"getBlobRefHistory",outputs:[{components:[{internalType:"string",name:"arweaveTxId",type:"string"},{internalType:"bytes32",name:"sha256Hash",type:"bytes32"}],internalType:"struct AddressRegistry.BlobRef[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"getContractHistory",outputs:[{components:[{internalType:"address",name:"contractAddress",type:"address"},{internalType:"string",name:"abiUrl",type:"string"}],internalType:"struct AddressRegistry.ContractRecord[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"}],name:"getDataHistory",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"}],name:"getLatestBlobRef",outputs:[{internalType:"string",name:"",type:"string"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"getLatestContract",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"}],name:"getLatestData",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];var qm=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"Forbidden",type:"error"},{inputs:[],name:"ImportsFinalized",type:"error"},{inputs:[],name:"InvalidActionId",type:"error"},{inputs:[],name:"InvalidTargetMode",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[],name:"StorageFrozen",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint8",name:"actionId",type:"uint8"},{indexed:!1,internalType:"uint8",name:"objectType",type:"uint8"},{indexed:!1,internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{indexed:!1,internalType:"bool",name:"isRelation",type:"bool"},{indexed:!1,internalType:"uint8",name:"targetMode",type:"uint8"}],name:"ActionConfigSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"caller",type:"address"}],name:"AuthorizedAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"caller",type:"address"}],name:"AuthorizedRemoved",type:"event"},{anonymous:!1,inputs:[],name:"ImportsFinalized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"frozen",type:"bool"}],name:"MigrationFrozen",type:"event"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"_isAuthorized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"addAuthorized",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"admin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"authorizedWriters",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"}],name:"countByActor",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"targetKey",type:"bytes32"}],name:"countByTarget",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"targetUserId",type:"uint32"},{internalType:"uint32",name:"since",type:"uint32"}],name:"countNewSubscriptionsSince",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"exportActionConfigs",outputs:[{internalType:"uint8[]",name:"ids",type:"uint8[]"},{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig[]",name:"configs",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportActors",outputs:[{internalType:"uint256[]",name:"actorIds",type:"uint256[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportAuthors",outputs:[{internalType:"bytes32[]",name:"objectKeys",type:"bytes32[]"},{internalType:"uint32[]",name:"authors",type:"uint32[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportHintUsers",outputs:[{internalType:"uint256[]",name:"userIds",type:"uint256[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"userId",type:"uint32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportHints",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.SubscriptionHint[]",name:"hints",type:"tuple[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportTargets",outputs:[{internalType:"bytes32[]",name:"targetKeys",type:"bytes32[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"finalizeImports",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"freezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"actionId",type:"uint8"}],name:"getActionConfig",outputs:[{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByActor",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByObjectTarget",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByTagTarget",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"targetKey",type:"bytes32"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByTarget",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"targetUserId",type:"uint32"},{internalType:"uint32",name:"since",type:"uint32"}],name:"getNewSubscriptionsSince",outputs:[{internalType:"uint32[]",name:"actorIds",type:"uint32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8[]",name:"ids",type:"uint8[]"},{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig[]",name:"configs",type:"tuple[]"}],name:"importActionConfigs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint256",name:"startIndex",type:"uint256"},{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"rs",type:"tuple[]"}],name:"importActorRelationships",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32[]",name:"objectKeys",type:"bytes32[]"},{internalType:"uint32[]",name:"authors",type:"uint32[]"}],name:"importAuthors",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"userId",type:"uint32"},{internalType:"uint256",name:"startIndex",type:"uint256"},{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.SubscriptionHint[]",name:"hints",type:"tuple[]"}],name:"importHints",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"targetKey",type:"bytes32"},{internalType:"uint256",name:"startIndex",type:"uint256"},{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"rs",type:"tuple[]"}],name:"importTargetRelationships",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"importsFinalized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"isAuthorized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"migrationFrozen",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"}],name:"objectTargetKey",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint256[]",name:"patches",type:"uint256[]"}],name:"recordActions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"removeAuthorized",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"actionId",type:"uint8"},{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig",name:"config",type:"tuple"}],name:"setActionConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint64",name:"tagId",type:"uint64"}],name:"tagTargetKey",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[],name:"unfreezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"}];function Km(t){let e=t.startsWith("0x")?t:"0x"+t;return xp(e).replace(/\0/g,"")}function xn(t){return Yt(t).padEnd(10,"0").slice(0,10)}var LR=[],Le=class t extends Error{constructor(e,r,n){super(r),this.name="Web3Error",this.code=e,this.reason=n?.reason,this.data=n?.data,this.originalError=n?.originalError,Object.setPrototypeOf(this,t.prototype)}};function ke(t){if(t instanceof Le)return t;let e=MR(t);for(let r of LR)try{r(e)}catch(n){console.error("[web3/errors] registerOnErrorCb listener threw",n)}return e}var kR=t=>{let r=(t?.message||t?.reason||String(t)).toLowerCase();return r.includes("invalid compressedactions format")?new Le("INVALID_COMPRESSED_ACTIONS","Invalid compressedActions format",{originalError:t}):r.includes("switch chain error")?new Le("SWITCH_CHAIN_ERROR","Error Switching Chains",{data:t.code,reason:t.message,originalError:t}):r.includes("switching accounts while on an unsupported chainid")?new Le("SWITCH_TO_UNSUPPORTED_CHAIN",r,{originalError:t}):null},dv=t=>t instanceof Ur||t instanceof pn||t instanceof ln||t instanceof Jn||t instanceof Fr;function lv(t){if(t instanceof v&&!dv(t)){let e=t.walk(dv);if(e)return lv(e)}return t instanceof Ur?new Le("USER_REJECTED","User rejected the transaction",{reason:t.shortMessage,originalError:t}):t instanceof pn?new Le("INSUFFICIENT_FUNDS","Insufficient funds for transaction",{reason:t.shortMessage,originalError:t}):t instanceof ln?new Le("NONCE_TOO_LOW","Transaction nonce is too low",{reason:t.shortMessage,originalError:t}):t instanceof Jn?new Le("TIMEOUT","Request timed out",{reason:t.shortMessage,originalError:t}):t instanceof Fr?new Le("REVERT","Transaction reverted by contract",{reason:t.reason??t.data?.errorName??t.shortMessage,data:t.data,originalError:t}):null}function MR(t){let e=kR(t);if(e)return e;let r=lv(t);if(r)return r;let n=t?.message||t?.reason||String(t),o=n.toLowerCase();return o.includes("no account connected to wallet")?new Le("NO_WALLET_CONNECTED","No account connected to wallet",{originalError:t}):o.includes("user rejected")||o.includes("user denied")||o.includes("user cancelled")||t?.code===4001||t?.code==="ACTION_REJECTED"?new Le("USER_REJECTED","User rejected the transaction",{reason:t?.reason,originalError:t}):o.includes("insufficient funds")||o.includes("insufficient balance")||t?.code==="INSUFFICIENT_FUNDS"?new Le("INSUFFICIENT_FUNDS","Insufficient funds for transaction",{reason:t?.reason,originalError:t}):o.includes("nonce too low")||o.includes("nonce has already been used")||t?.code==="NONCE_EXPIRED"?new Le("NONCE_TOO_LOW","Transaction nonce is too low",{reason:t?.reason,originalError:t}):o.includes("revert")||o.includes("execution reverted")||t?.code==="CALL_EXCEPTION"||t?.code===3?new Le("REVERT","Transaction reverted by contract",{reason:t?.reason||DR(t),data:t?.data,originalError:t}):o.includes("timeout")||t?.code==="TIMEOUT"?new Le("TIMEOUT","Request timed out",{reason:t?.reason,originalError:t}):o.includes("network")||o.includes("connection")||t?.code==="NETWORK_ERROR"||t?.code==="ETIMEDOUT"?new Le("NETWORK_ERROR","Network error occurred",{reason:t?.reason,originalError:t}):o.includes("invalid argument")||t?.code==="INVALID_ARGUMENT"?new Le("INVALID_ARGUMENT","Invalid argument provided",{reason:t?.reason,originalError:t}):o.includes("unsupported")||t?.code==="UNSUPPORTED_OPERATION"?new Le("UNSUPPORTED_OPERATION","Unsupported operation",{reason:t?.reason,originalError:t}):new Le("UNKNOWN",n||"Unknown error occurred",{reason:t?.reason,data:t?.data,originalError:t})}function DR(t){if(t?.reason)return t.reason;if(t?.data?.message)return t.data.message;let r=(t?.message||"").match(/revert\s+(.+?)(?:\s|$|")/i);if(r)return r[1]}var OR="https://worldbibliotech.com",FR=/^https?:\/\/(?:worldbibliotech\.com|datapond\.earth)(?=$|[/?#]|https?:\/\/)/i,pv=/^[a-z][a-z0-9+.-]*:/i;function hc(t){let e;for(;e=t.match(FR);)t=t.slice(e[0].length);return!t||t.startsWith("/")||pv.test(t)?t:`/${t}`}function fv(t){let e=hc(t);return pv.test(e)?e:OR+e}var jR=3600,xd=t=>[(t?.[0]||[]).map(e=>BigInt(e)),(t?.[1]||[]).map(e=>BigInt(e)),(t?.[2]||[]).map(String)],mv=t=>({stripePaymentId:String(t.stripePaymentId??t[0]),amountUSD:BigInt(t.amountUSD??t[1]),username:String(t.username??t[2]),donor:String(t.donor??t[3]),country:String(t.country??t[4]),language:String(t.language??t[5]),timestamp:Number(t.timestamp??t[6]),chainId:Number(t.chainId??t[7])}),bc=class{constructor(e,r="production"){this._contractAddresses={};this.chainId=e,this.environment=yc(r);let n=dr(e);if(this.config=n,this.deploymentEnvironment=Gm(e,r),!hd(e,r))throw new Error(`Chain EVM ${e} is not deployed for application environment ${r} (resolved deployment environment: ${this.deploymentEnvironment})`);this.chain=Xo(n),this.publicClient=db({chain:this.chain,transport:gd(n.rpc)}),this.addressRegistry=this.createAddressRegistryReadAPI(),this.bouncerStorage=this.createBouncerStorageReadAPI(),this.scientistStorage=this.createScientistStorageReadAPI(),this.archivistStorage=this.createArchivistReadApi(),this.factory=this.createFactoryReadAPI(),this.accountManager=this.createAccountManagerReadAPI(),this.projectManagerStorage=this.createProjectManagerStorageReadAPI(),this.subscriptionManager=this.createSubscriptionManagerReadAPI(),this.libraryRegistryStorage=this.createLibraryRegistryStorageReadAPI(),this.publicLibraryStorage=this.createPublicLibraryStorageReadAPI(),this.dSafeHRStorage=this.createDSafeHRStorageReadAPI(),this.relationshipIndexerStorage=this.createRelationshipIndexerStorageReadAPI(),this._contractAddresses={...n.addresses||{}},this.ready=new Promise(async(i,s)=>{try{console.log(`[EvmClient] Initializing registry for chain ${this.chainId} (env: ${this.environment})...`);let a=await xe.Initialize(this.chainId,this.addressRegistry,this.activeRegistryAddress,!0,this.environment);Object.assign(this._contractAddresses,a);let c=await xe.loadAllKeys(this.chainId,this.environment);Object.assign(this._contractAddresses,c),this._manifestRegistryAddress=c.addressRegistry??a.addressRegistry,await xe.waitForAbis(this.chainId,this.environment),console.log(`[EvmClient] Registry ready for ${this.chainId}. Addresses:`,this._contractAddresses),i()}catch(a){console.error(`[EvmClient] Failed to initialize registry for ${this.chainId}`,a),s(a)}})}setAccountOverride(e){this._accountOverride=e}async getUsdPrice(){let{price:e}=this.config;if(e.stable)return 1;let{pythOracle:r,usdPriceId:n}=e;if(!r||!n)throw new Error(`Pyth config missing for chain ${this.chainId}`);let o=await this.publicClient.readContract({address:r,abi:Ts,functionName:"getPriceUnsafe",args:[n]}),i=Math.floor(Date.now()/1e3)-Number(o.publishTime??0);return o.publishTime!==void 0&&i>jR&&console.warn(`[EvmClient] Pyth price on chain ${this.chainId} is ${Math.round(i/3600)}h old \u2014 contract payments will revert until a fresh price update is pushed`),Number(o.price)*Math.pow(10,Number(o.expo))}async getNativeBalance(e){return this.publicClient.getBalance({address:e})}get activeRegistryAddress(){return this._manifestRegistryAddress?this._manifestRegistryAddress:(this.deploymentEnvironment==="staging"&&this.config.addresses?.stagingAddressRegistry?this.config.addresses.stagingAddressRegistry:this.config.addresses?.addressRegistry)??""}addresses(){return this._contractAddresses}requireAbi(e){let r=xe.getAbi(this.chainId,e,this.environment);if(!r)throw new Error(`[EvmClient] ABI for '${e}' on chain ${this.chainId} is not loaded. The registry ABI sync may have failed or not completed. Reads are blocked until it is ready.`);return r}async read(e){await this.ready;let r=this.addresses()[e.contractKey];if(!r){if(e.whenAddressMissing!==void 0)return e.whenAddressMissing;throw new Error(`[EvmClient] ${String(e.contractKey)} address missing for chain ${this.chainId}`)}try{let n=await this.publicClient.readContract({address:r,abi:this.requireAbi(e.contractName),functionName:e.functionName,args:e.args??[],...this._accountOverride?{account:this._accountOverride}:{}});return e.transform?e.transform(n):n}catch(n){throw ke(n)}}createAddressRegistryReadAPI(){return{getLatestContract:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let n=await this.publicClient.readContract({address:r,abi:Wt,functionName:"getLatestContract",args:[e]});return[n[0],n[1]]},getContractHistory:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return await this.publicClient.readContract({address:r,abi:Wt,functionName:"getContractHistory",args:[e]})},getAllContractNames:async()=>{let e=this.activeRegistryAddress;if(!e)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return await this.publicClient.readContract({address:e,abi:Wt,functionName:"getAllContractNames",args:[]})},getLatestData:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let n=await this.publicClient.readContract({address:r,abi:Wt,functionName:"getLatestData",args:[e]});return String(n)},getAllDataKeys:async()=>{let e=this.activeRegistryAddress;if(!e)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return await this.publicClient.readContract({address:e,abi:Wt,functionName:"getAllDataKeys",args:[]})},getLatestBlobRef:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let n=await this.publicClient.readContract({address:r,abi:Wt,functionName:"getLatestBlobRef",args:[e]});return[n[0],n[1]]},getBlobRefHistory:async(e,r,n)=>{let o=this.activeRegistryAddress;if(!o)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return(await this.publicClient.readContract({address:o,abi:Wt,functionName:"getBlobRefHistory",args:[e,BigInt(r),BigInt(n)]})).map(s=>[s.arweaveTxId,s.sha256Hash])},admin:async()=>{let e=this.activeRegistryAddress;if(!e)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let r=await this.publicClient.readContract({address:e,abi:Wt,functionName:"admin",args:[]});return String(r)},getLastUpdateInfo:async e=>{let r=this.activeRegistryAddress;if(!r)return null;let n={type:"event",name:"ContractAdded",inputs:[{type:"string",name:"name",indexed:!0},{type:"address",name:"contractAddress",indexed:!0},{type:"string",name:"abiUrl"},{type:"uint256",name:"version"}]},o=async a=>{let c=await this.publicClient.getBlock({blockNumber:a.blockNumber});return{timestamp:Number(c.timestamp),blockNumber:a.blockNumber,transactionHash:a.transactionHash}};try{let a=await this.publicClient.getLogs({address:r,event:n,args:{name:e},fromBlock:0n});return a.length===0?null:await o(a[a.length-1])}catch{}let i=9999n,s=50;try{let c=await this.publicClient.getBlockNumber();for(let u=0;u<s&&c>=0n;u++){let d=c>=i?c-i:0n,l=await this.publicClient.getLogs({address:r,event:n,args:{name:e},fromBlock:d,toBlock:c});if(l.length>0)return await o(l[l.length-1]);if(d===0n)break;c=d-1n}return null}catch(a){return console.error(`[EvmClient] Failed to get last update info for ${e}:`,a),null}}}}createArchivistReadApi(){let e="backupStorage",r="BackupStorage";return{userLevel:n=>this.read({contractKey:e,contractName:r,functionName:"userLevel",args:[n],transform:Number}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean}),nbWrites:n=>this.read({contractKey:e,contractName:r,functionName:"nbWrites",args:[n],transform:Number}),loadActions:n=>this.read({contractKey:e,contractName:r,functionName:"loadActions",args:[n],transform:xd}),loadActionsSince:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"loadActionsSince",args:[n,o],transform:xd})}}createProjectManagerStorageReadAPI(){return{nbProjects:async()=>{if(await this.ready,!this.addresses().factory)return console.error("[EvmClient] Factory address missing in config!"),0;try{return await this.read({contractKey:"factory",contractName:"Factory",functionName:"nbProjects",transform:Number})}catch(r){throw console.error("[EvmClient] nbProjects failed:",r),r}},balanceOfAddress:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getUserBalances",args:[e],transform:r=>({total:Number(r[0]),donations:Number(r[1]),unspent:Number(r[2])})}),loadProject:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"getProject",args:[e],transform:r=>({id:e,balance:r[1].reduce((n,o)=>n+Number(o),0),versions:r[2].map(n=>(n.uri=fv(n.uri),n.publicationDate=new Date(Number(n.publicationDate)*1e3),n.maximumFunding=Number(n.maximumFunding),n.minimumFundingBeforeStartWork=Number(n.minimumFundingBeforeStartWork),n.tags=n.tags.map(Number),n.status=Number(n.status),n)),availableLanguages:r[3].map(n=>Km(n))})}),addressDonationsPerProject:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"addressDonationsPerProject",args:[e],transform:r=>r.map(Number)}),getProjectSupportedLanguages:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"getProjectSupportedLanguages",args:[e],transform:r=>r.map(String)}),projectVotingBalances:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"getProjectAllocatedBudget",args:[e],transform:r=>r.map(Number)}),getWeeklyDonations:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getWeeklyDonations",args:[BigInt(e)],transform:r=>r.map(mv)}),getDonationsRange:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getDonationsRange",args:[BigInt(e),BigInt(r)],transform:n=>n.map(mv)}),isAuthorized:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"isAuthorized",args:[e],transform:Boolean}),admin:()=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"admin",transform:String}),getNbLanguages:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getNbLanguages",args:[e],transform:Number}),getLanguageAtIndex:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getLanguageAtIndex",args:[e,r],transform:n=>Km(n)}),getNbVersions:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getNbVersions",args:[e,xn(r)],transform:Number}),getVersion:(e,r,n)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getVersion",args:[e,xn(r),n],transform:o=>({uri:hc(o.uri),publicationDate:new Date(Number(o.publicationDate)*1e3),name:o.name,headline:o.headline,descriptionMarkdown:o.descriptionMarkdown,arweaveAddressLogo:o.arweaveAddressLogo,arweaveAddressBanner:o.arweaveAddressBanner,minimumFundingBeforeStartWork:Number(o.minimumFundingBeforeStartWork),maximumFunding:Number(o.maximumFunding),tags:o.tags.map(Number),status:Number(o.status),complexity:Number(o.complexity)})}),getVotingBalance:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getVotingBalance",args:[e,xn(r)]}),getUserBalances:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getUserBalances",args:[e],transform:r=>[BigInt(r[0]),BigInt(r[1]),BigInt(r[2])]}),getVotePresets:()=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getVotePresets",transform:([e,r,n])=>e.map((o,i)=>({projectId:Number(o),lang:Km(r[i]),bps:Number(n[i])}))})}}createBouncerStorageReadAPI(){let e="bouncerStorage",r="BouncerStorage";return{hasAccount:async n=>{await this.ready;let o=this.addresses().bouncerStorage;if(!o)return!1;try{let i=xe.getAbi(this.chainId,r,this.environment);return i?!!await this.publicClient.readContract({address:o,abi:i,functionName:"hasAccount",args:[n]}):!1}catch(i){return console.error(`[EvmClient] hasAccount FAILED for ${n} (returning false):`,i),!1}},userInfos:n=>this.read({contractKey:e,contractName:r,functionName:"userInfos",args:[n],transform:o=>[String((o.username??o[0])||""),String((o.country??o[1])||""),String((o.language??o[2])||""),Number((o.newUserId??o[3])||0)]}),userData:n=>this.read({contractKey:e,contractName:r,functionName:"userData",args:[n],transform:o=>[Number(o.id??o[0]),String(o.addr??o[1]),String(o.username??o[2]),String(o.language??o[3]),String(o.country??o[4])]}),userIdOf:n=>this.read({contractKey:e,contractName:r,functionName:"userIdOf",args:[n],transform:Number}),userIdToUsername:n=>this.read({contractKey:e,contractName:r,functionName:"userIdToUsername",args:[BigInt(n)],transform:String}),userAddr:n=>this.read({contractKey:e,contractName:r,functionName:"userAddr",args:[BigInt(n)],transform:String}),getUsernameByAddress:n=>this.read({contractKey:e,contractName:r,functionName:"getUsernameByAddress",args:[n],transform:String}),getAccountCountByCountryLanguage:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"getAccountCountByCountryLanguage",args:[n,o],transform:Number}),nbAccounts:()=>this.read({contractKey:e,contractName:r,functionName:"nbAccounts",transform:Number}),getAllLocationCounts:()=>this.read({contractKey:e,contractName:r,functionName:"getAllLocationCounts",transform:n=>n.map(o=>({country:String(o.country??o[0]),language:String(o.language??o[1]),count:Number(o.count??o[2])}))}),getActiveLocationCount:()=>this.read({contractKey:e,contractName:r,functionName:"getActiveLocationCount",transform:Number}),identityStats:()=>this.read({contractKey:e,contractName:r,functionName:"identityStats",transform:n=>[Number(n[0]),Number(n[1])]}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean}),getLatestRegisteredUser:async()=>{try{let n=await this.bouncerStorage.nbAccounts();return n===0?null:await this.bouncerStorage.userAddr(n)}catch(n){return console.error("[EvmClient] getLatestRegisteredUser FAILED:",n),null}},getTokenName:()=>this.read({contractKey:e,contractName:r,functionName:"getTokenName",transform:String}),usernameToUserId:n=>this.read({contractKey:e,contractName:r,functionName:"usernameToUserId",args:[n],transform:Number}),userIdByEmailHash:n=>this.read({contractKey:e,contractName:r,functionName:"userIdByEmailHash",args:[n],transform:Number})}}createScientistStorageReadAPI(){let e="scientistStorage",r="ScientistStorage";return{getDeploymentDate:()=>this.read({contractKey:e,contractName:r,functionName:"getDeploymentDate",transform:n=>[Number(n[0]),Number(n[1])]}),getLastMonthId:()=>this.read({contractKey:e,contractName:r,functionName:"getLastMonthId",transform:Number}),getStatsRaw:(n,o,i)=>this.read({contractKey:e,contractName:r,functionName:"getStatsRaw",args:[BigInt(n),BigInt(o),BigInt(i)],transform:s=>[s[0].map(a=>BigInt(a)),s[1].map(a=>Number(a))]}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean})}}createFactoryReadAPI(){let e="factory",r="Factory";return{nbWritesByUsername:n=>this.read({contractKey:e,contractName:r,functionName:"nbWritesByUsername",args:[n],transform:Number}),loadUsername:n=>this.read({contractKey:e,contractName:r,functionName:"loadUsername",args:[n],transform:xd}),loadUsernameSince:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"loadUsernameSince",args:[n,o],transform:xd}),load:()=>this.read({contractKey:e,contractName:r,functionName:"load",transform:xd}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean}),owner:()=>this.read({contractKey:e,contractName:r,functionName:"owner",transform:String}),oracleSigner:()=>this.read({contractKey:e,contractName:r,functionName:"oracleSigner",transform:String}),bouncerStorage:()=>this.read({contractKey:e,contractName:r,functionName:"bouncerStorage",transform:String}),scientistStorage:()=>this.read({contractKey:e,contractName:r,functionName:"scientistStorage",transform:String}),backupStorage:()=>this.read({contractKey:e,contractName:r,functionName:"backupStorage",transform:String}),projectManagerStorage:()=>this.read({contractKey:e,contractName:r,functionName:"projectManagerStorage",transform:String})}}createAccountManagerReadAPI(){let e="accountManager",r="AccountManager";return{address:async()=>{await this.ready;let n=this.addresses()[e];if(!n)throw new Error(`[EvmClient] accountManager address missing for chain ${this.chainId}`);return n},oracleSigner:()=>this.read({contractKey:e,contractName:r,functionName:"oracleSigner",transform:String}),usedDeletionConsents:n=>this.read({contractKey:e,contractName:r,functionName:"usedDeletionConsents",args:[n],transform:Boolean}),isPaymentIntentUsed:n=>this.read({contractKey:e,contractName:r,functionName:"isPaymentIntentUsed",args:[n],transform:Boolean})}}createSubscriptionManagerReadAPI(){let e="subscriptionManager",r="SubscriptionManager";return{getSubscriptions:n=>this.read({contractKey:e,contractName:r,functionName:"getSubscriptions",args:[n],transform:o=>[...o],whenAddressMissing:[]}),getSubscriptionCount:n=>this.read({contractKey:e,contractName:r,functionName:"getSubscriptionCount",args:[n],transform:BigInt,whenAddressMissing:0n}),isSubscribed:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"isSubscribed",args:[n,o],transform:Boolean,whenAddressMissing:!1}),scoreOf:n=>this.read({contractKey:e,contractName:r,functionName:"scoreOf",args:[n],transform:BigInt,whenAddressMissing:0n})}}createLibraryRegistryStorageReadAPI(){let e="libraryRegistryStorage",r="LibraryRegistryStorage";return{admin:()=>this.read({contractKey:e,contractName:r,functionName:"admin",transform:String}),getUnverifiedCollectionIds:()=>this.read({contractKey:e,contractName:r,functionName:"getUnverifiedCollectionIds",transform:n=>[...n]}),getVerifiedCollectionIds:()=>this.read({contractKey:e,contractName:r,functionName:"getVerifiedCollectionIds",transform:n=>[...n]}),getCollection:n=>this.read({contractKey:e,contractName:r,functionName:"getCollection",args:[n],transform:o=>({id:String(o.id),slug:String(o.slug),manifestUrl:String(o.manifestUrl),importerUsername:String(o.importerUsername),owner:String(o.owner),verified:!!o.verified,fileCount:Number(o.fileCount),libraryType:Number(o.libraryType),publicLibraryId:Number(o.publicLibraryId),country:String(o.country),language:String(o.language),isPublic:!!o.isPublic,createdAt:Number(o.createdAt),updatedAt:Number(o.updatedAt),initialBookCount:Number(o.initialBookCount),dSafeBookCount:Number(o.dSafeBookCount),importStatus:Number(o.importStatus),published:!!o.published,preferredFormat:String(o.preferredFormat)})})}}createPublicLibraryStorageReadAPI(){let e="publicLibraryStorage",r="PublicLibraryStorage";return{libraryExists:n=>this.read({contractKey:e,contractName:r,functionName:"libraryExists",args:[n],transform:Boolean}),getPublicLibrary:n=>this.read({contractKey:e,contractName:r,functionName:"getPublicLibrary",args:[n],transform:o=>({id:Number(o.id),name:String(o.name),physicalAddress:String(o.physicalAddress),country:String(o.country),language:String(o.language),ownership:Number(o.ownership),website:String(o.website),preferredFormat:String(o.preferredFormat),createdAt:Number(o.createdAt),updatedAt:Number(o.updatedAt)})}),nbLibraries:()=>this.read({contractKey:e,contractName:r,functionName:"nbLibraries",transform:Number}),formatExists:n=>this.read({contractKey:e,contractName:r,functionName:"formatExists",args:[n],transform:Boolean}),getAllFormats:()=>this.read({contractKey:e,contractName:r,functionName:"getAllFormats",transform:n=>[...n]})}}createDSafeHRStorageReadAPI(){let e="dSafeHRStorage",r="DSafeHRStorage";return{isStaffOf:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"isStaffOf",args:[n,o],transform:Boolean}),verifyMember:n=>this.read({contractKey:e,contractName:r,functionName:"verifyMember",args:[n],transform:Boolean}),getStaffLibraries:n=>this.read({contractKey:e,contractName:r,functionName:"getStaffLibraries",args:[n],transform:o=>o.map(Number)}),getCurrentRecordCounter:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"getCurrentRecordCounter",args:[n,o],transform:Number}),getLibrarySequence:n=>this.read({contractKey:e,contractName:r,functionName:"getLibrarySequence",args:[n],transform:Number}),getPublishLock:n=>this.read({contractKey:e,contractName:r,functionName:"getPublishLock",args:[n],transform:o=>[String(o[0]),Number(o[1]),!!o[2]]})}}createRelationshipIndexerStorageReadAPI(){let e="relationshipIndexerStorage",r=i=>({actorId:Number(i.actorId??i[0]),actionId:Number(i.actionId??i[1]),objectType:Number(i.objectType??i[2]),objectId:BigInt(i.objectId??i[3]),tagId:BigInt(i.tagId??i[4]),timestamp:Number(i.timestamp??i[5])}),n=i=>(i||[]).map(r),o=async(i,s,a)=>{await this.ready;let c=this.addresses()[e];if(!c)throw new Error(`[EvmClient] relationshipIndexerStorage address missing for chain ${this.chainId}`);try{let u=await this.publicClient.readContract({address:c,abi:qm,functionName:i,args:s});return a(u)}catch(u){throw ke(u)}};return{getByObjectTarget:(i,s,a,c)=>o("getByObjectTarget",[i,s,BigInt(a),BigInt(c)],n),getByTagTarget:(i,s,a)=>o("getByTagTarget",[i,BigInt(s),BigInt(a)],n),getByActor:(i,s,a)=>o("getByActor",[i,BigInt(s),BigInt(a)],n),countByObjectTarget:async(i,s)=>{let a=await o("objectTargetKey",[i,s],c=>c);return o("countByTarget",[a],Number)},countByTagTarget:async i=>{let s=await o("tagTargetKey",[i],a=>a);return o("countByTarget",[s],Number)},countByActor:i=>o("countByActor",[i],Number),getNewSubscriptionsSince:(i,s)=>o("getNewSubscriptionsSince",[i,s],a=>(a||[]).map(Number)),countNewSubscriptionsSince:(i,s)=>o("countNewSubscriptionsSince",[i,s],Number)}}async getRegistryStatus(){return await this.ready,xe.getLoadingStatus(this.chainId)}};function UR(t=bd,e="production"){return new bc(t,e)}var xc=class{constructor(e,r,n,o){this.wallet=e,this.readonly=r,this.config=r.config,this.environment=r.environment,this.chain=r.chain,this.publicClient=r.publicClient,this._account=o,this.walletClient=n,this.writeOnly={factory:this.createFactoryWriteAPI(n),accountManager:this.createAccountManagerWriteAPI(n),bouncerStorage:this.createBouncerStorageWriteAPI(n),subscriptionManager:this.createSubscriptionManagerWriteAPI(n),addressRegistry:this.createAddressRegistryWriteAPI(n),libraryRegistryStorage:this.createLibraryRegistryStorageWriteAPI(n),publicLibraryStorage:this.createPublicLibraryStorageWriteAPI(n),dSafeHRStorage:this.createDSafeHRStorageWriteAPI(n),sendNative:this.sendNative.bind(this)}}async sendNative(e,r){let n=this.walletClient.account;if(!n)throw new Error("No account connected to wallet");return await this.walletClient.sendTransaction({account:n,to:e,value:dd(r),chain:this.chain})}async minimumFeesIfShort(e,r,n){let o,i,s,a;try{let l=n();[o,{maxFeePerGas:i},{baseFeePerGas:s},a]=await Promise.all([this.publicClient.request({method:"eth_estimateGas",params:[{from:e,to:r,data:l}]}).then(BigInt),this.publicClient.estimateFeesPerGas(),this.publicClient.getBlock(),this.publicClient.getBalance({address:e})])}catch{return{}}if(!s||o*i<=a)return{};let c=this.chain.nativeCurrency.symbol,u=o*s,d=u<=a;if(typeof window<"u"&&window.dispatchEvent(new CustomEvent("wallet_low_balance",{detail:{needed:Rt(o*i),minimum:Rt(u),balance:Rt(a),symbol:c,fits:d}})),!d)throw new Le("INSUFFICIENT_FUNDS",`Not enough ${c} for this save: it needs ~${Number(Rt(u)).toFixed(4)} ${c}, the wallet holds ${Number(Rt(a)).toFixed(4)} ${c}. Top up your gas.`);return{gas:o,maxFeePerGas:s,maxPriorityFeePerGas:0n}}get accountManager(){return this.writeOnly.accountManager}get bouncerStorage(){return this.writeOnly.bouncerStorage}get factory(){return this.writeOnly.factory}get subscriptionManager(){return this.writeOnly.subscriptionManager}get addressRegistry(){return this.writeOnly.addressRegistry}get libraryRegistryStorage(){return this.writeOnly.libraryRegistryStorage}get publicLibraryStorage(){return this.writeOnly.publicLibraryStorage}get dSafeHRStorage(){return this.writeOnly.dSafeHRStorage}getChainId(){return this.readonly.chainId}account(){return this._account}getNormalizedAddress(e){return e.toLowerCase()}requireAbi(e){let r=xe.getAbi(this.readonly.chainId,e,this.environment);if(!r)throw new Error(`[EvmWriteClient] Registry ABI for '${e}' on chain ${this.readonly.chainId} is not loaded. The AddressRegistry may be offline, incomplete, or the chain has not finished syncing. Write operations are blocked until the registry is ready.`);return r}getFactoryAddress(){let e=xe.getAddress(this.readonly.chainId,"factory",this.environment);if(!e)throw new Error(`Factory address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}getRegistryAddress(){let e=this.readonly.activeRegistryAddress;if(!e)throw new Error(`AddressRegistry address not configured for chain ${this.readonly.chainId} (${this.environment})`);return e}createFactoryWriteAPI(e){let r=async()=>{if(!this.config.main)return;let{price:n}=this.config;if(n.stable)return;let{pythOracle:o,usdPriceId:i}=n;if(!o||!i)return;let s=await fetch(`https://hermes.pyth.network/v2/updates/price/latest?ids[]=${i}&encoding=hex`);if(!s.ok)throw new Error(`Hermes price fetch failed: ${s.status}`);let c=(await s.json()).binary?.data??[];if(c.length===0)throw new Error("No price update data from Hermes");let u=c.map(f=>`0x${f}`),d=await this.publicClient.readContract({address:o,abi:Ts,functionName:"getUpdateFee",args:[u]}),l=e.account,p=await e.writeContract({address:o,abi:Ts,functionName:"updatePriceFeeds",args:[u],account:l,chain:this.chain,value:d});await this.publicClient.waitForTransactionReceipt({hash:p})};return{donateToProject:async(n,o,i,s)=>{try{let a=e.account;if(!a)throw new Error("No account connected to wallet");let c=this.getFactoryAddress(),u=BigInt(Math.round(i)),d=await e.writeContract({address:c,abi:this.requireAbi("Factory"),functionName:"voteForProject",args:[n,xn(o),u],account:a,chain:this.chain,gas:s?.gasLimit});s?.onAccepted?.(d);let l=await this.publicClient.waitForTransactionReceipt({hash:d});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),l}catch(a){throw ke(a)}},save:async(n,o,i,s,a)=>{try{let c=e.account;if(!c)throw new Error("No account connected to wallet");let u=this.getFactoryAddress(),d=this.requireAbi("Factory"),l=[n,o,i,s],p=a?.gasLimit?{}:await this.minimumFeesIfShort(c.address,u,()=>ue({abi:d,functionName:"save",args:l})),f=await e.writeContract({address:u,abi:d,functionName:"save",args:l,account:c,chain:this.chain,gas:a?.gasLimit,...p});a?.onAccepted?.(f);let g=await this.publicClient.waitForTransactionReceipt({hash:f});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),g}catch(c){throw ke(c)}},createProject:async(n,o,i,s,a,c,u,d,l,p,f,g,m)=>{try{let h=e.account;if(!h)throw new Error("No account connected to wallet");let b=this.getFactoryAddress(),w=await e.writeContract({address:b,abi:this.requireAbi("Factory"),functionName:"createProject",args:[xn(n),hc(o),i,s,a,c,u,d,l,p,f,g],account:h,chain:this.chain,gas:m?.gasLimit});m?.onAccepted?.(w);let x=await this.publicClient.waitForTransactionReceipt({hash:w});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),x}catch(h){throw ke(h)}},addProjectVersion:async(n,o,i,s,a,c,u,d,l,p,f,g,m,h,b)=>{try{let w=e.account;if(!w)throw new Error("No account connected to wallet");let x=this.getFactoryAddress(),y=await e.writeContract({address:x,abi:this.requireAbi("Factory"),functionName:"addProjectVersion",args:[BigInt(n),xn(o),i,hc(s),a,c,u,d,l,p,f,g,m,h],account:w,chain:this.chain,gas:b?.gasLimit});b?.onAccepted?.(y);let I=await this.publicClient.waitForTransactionReceipt({hash:y});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),I}catch(w){throw ke(w)}},deleteProject:async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getFactoryAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("Factory"),functionName:"deleteProject",args:[n,xn(o)],account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}},setVotePresets:async(n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=await e.writeContract({address:this.getFactoryAddress(),abi:this.requireAbi("Factory"),functionName:"setVotePresets",args:[n.map(a=>a.projectId),n.map(a=>xn(a.lang)),n.map(a=>a.bps)],account:i,chain:this.chain,gas:o?.gasLimit});return o?.onAccepted?.(s),await this.publicClient.waitForTransactionReceipt({hash:s})}catch(i){throw ke(i)}}}}createSubscriptionManagerWriteAPI(e){return{subscribeTo:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=await this.readonly.bouncerStorage.userIdToUsername(n);if(!s)throw new Error(`Target user ID ${n} not registered (no username found)`);let a=this.getFactoryAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("Factory"),functionName:"subscribeTo",args:[s],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(i){throw ke(i)}},unsubscribeFrom:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=await this.readonly.bouncerStorage.userIdToUsername(n);if(!s)throw new Error(`Target user ID ${n} not registered (no username found)`);let a=this.getFactoryAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("Factory"),functionName:"unsubscribeFrom",args:[s],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(i){throw ke(i)}}}}getAccountManagerAddress(){let e=xe.getAddress(this.readonly.chainId,"accountManager",this.environment);if(!e)throw new Error(`AccountManager address not resolved for chain ${this.readonly.chainId} (${this.environment})`);return e}getBouncerStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"bouncerStorage",this.environment);if(!e)throw new Error(`BouncerStorage address not resolved for chain ${this.readonly.chainId} (${this.environment})`);return e}createBouncerStorageWriteAPI(e){return{newAccount:async(r,n,o,i,s,a)=>{try{let c=e.account;if(!c)throw new Error("No account connected to wallet");let u=this.getBouncerStorageAddress(),d=await e.writeContract({address:u,abi:this.requireAbi("BouncerStorage"),functionName:"newAccount",args:[r,n,o,i,s],account:c,chain:this.chain,gas:a?.gasLimit});a?.onAccepted?.(d);let l=await this.publicClient.waitForTransactionReceipt({hash:d});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),l}catch(c){throw ke(c)}}}}createAccountManagerWriteAPI(e){return{registerStripe:async(r,n,o,i,s,a,c)=>{try{let u=e.account;if(!u)throw new Error("No account connected to wallet");let d=this.getAccountManagerAddress(),l=await e.writeContract({address:d,abi:this.requireAbi("AccountManager"),functionName:"registerStripe",args:[r,n,o,i,0n,s,a],account:u,chain:this.chain,gas:c?.gasLimit});c?.onAccepted?.(l);let p=await this.publicClient.waitForTransactionReceipt({hash:l});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),p}catch(u){throw ke(u)}},fundStripe:async(r,n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getAccountManagerAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("AccountManager"),functionName:"fundStripe",args:[r,n,o],account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}},unregisterWithConsent:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=this.getAccountManagerAddress(),a=await e.writeContract({address:s,abi:this.requireAbi("AccountManager"),functionName:"unregisterWithConsent",args:[BigInt(r),n],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(a);let c=await this.publicClient.waitForTransactionReceipt({hash:a});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),c}catch(i){throw ke(i)}}}}createAddressRegistryWriteAPI(e){return{addData:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=this.getRegistryAddress(),a=await e.writeContract({address:s,abi:Wt,functionName:"addData",args:[r,n],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(a);let c=await this.publicClient.waitForTransactionReceipt({hash:a});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),c}catch(i){throw ke(i)}},addBlobRef:async(r,n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getRegistryAddress(),c=await e.writeContract({address:a,abi:Wt,functionName:"addBlobRef",args:[r,n,o],account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}}}}getLibraryRegistryStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"libraryRegistryStorage",this.environment);if(!e)throw new Error(`LibraryRegistryStorage address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}createLibraryRegistryStorageWriteAPI(e){let r=async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getLibraryRegistryStorageAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("LibraryRegistryStorage"),functionName:n,args:o,account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}};return{addUnverifiedCollection:(n,o)=>r("addUnverifiedCollection",[n],o),verifyCollection:(n,o)=>r("verifyCollection",[n],o),rejectCollection:(n,o)=>r("rejectCollection",[n],o),updateCollectionStats:(n,o,i,s)=>r("updateCollectionStats",[n,BigInt(o),BigInt(i)],s),setImportStatus:(n,o,i)=>r("setImportStatus",[n,o],i),setPublished:(n,o,i)=>r("setPublished",[n,o],i),setCollectionPublicLibrary:(n,o,i)=>r("setCollectionPublicLibrary",[n,BigInt(o)],i),setPublicLibraryStorage:(n,o)=>r("setPublicLibraryStorage",[n],o)}}getPublicLibraryStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"publicLibraryStorage",this.environment);if(!e)throw new Error(`PublicLibraryStorage address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}createPublicLibraryStorageWriteAPI(e){let r=async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getPublicLibraryStorageAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("PublicLibraryStorage"),functionName:n,args:o,account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}};return{addPublicLibrary:(n,o)=>r("addPublicLibrary",[n],o),updatePublicLibrary:(n,o,i)=>r("updatePublicLibrary",[BigInt(n),o],i),addFormat:(n,o)=>r("addFormat",[n],o)}}getDSafeHRStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"dSafeHRStorage",this.environment);if(!e)throw new Error(`DSafeHRStorage address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}createDSafeHRStorageWriteAPI(e){let r=async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getDSafeHRStorageAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("DSafeHRStorage"),functionName:n,args:o,account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}};return{addStaff:(n,o,i)=>r("addStaff",[n,o],i),addStaffBatch:(n,o,i)=>r("addStaffBatch",[n,o],i),removeStaff:(n,o,i)=>r("removeStaff",[n,o],i),removeStaffBatch:(n,o,i)=>r("removeStaffBatch",[n,o],i),acquirePublishLock:(n,o)=>r("acquirePublishLock",[n],o),releasePublishLock:(n,o)=>r("releasePublishLock",[n],o),allocateRecordIds:(n,o,i,s)=>r("allocateRecordIds",[n,o,i],s),bumpLibrarySequence:(n,o)=>r("bumpLibrarySequence",[n],o)}}};var gv={},yv={},_R={},zR={};function hv(t,e){let r=e==="staging"?zR:_R,n=e==="staging"?yv:gv,o=r[t];if(!o){if(!hd(t,e))throw new Error(`No EVM client for chain ${t} (${e})`);o=new bc(t,e),r[t]=o,n[t]=o}return o}function vr(t,e="production"){return hv(t,e)}function Qm(t,e="production"){return hv(t,e)}async function Zm(t,e="production"){let r=Qm(t,e);return await r.ready,await xe.waitForAbis(t,e),r}var bv="production",Pb=t=>{bv=t},St=()=>bv;function xv(){let t="@the_library/web3-session:",e="infos_web3_",r="active_session",n={active:null,known:[]},o=new Set,i=()=>o.forEach(f=>f()),s=(f,g)=>`${e}${g}_${f.toLowerCase()}`,a=f=>{if(typeof localStorage>"u")return;let g=s(f.account,f.chainId);localStorage.setItem(t+g,JSON.stringify(f))},c=(f,g)=>{if(typeof localStorage>"u")return;let m=s(f,g);localStorage.removeItem(t+m)},u=()=>{typeof localStorage>"u"||(n.active?localStorage.setItem(t+r,JSON.stringify({address:n.active.account,chainId:n.active.chainId})):localStorage.removeItem(t+r))},d=()=>{if(typeof localStorage>"u")return null;let f=localStorage.getItem(t+r);if(!f)return null;try{let g=JSON.parse(f);return n.known.find(m=>m.account.toLowerCase()===g.address.toLowerCase()&&m.chainId===g.chainId)||null}catch{return null}};function l(){if(typeof localStorage>"u")return;let f="infos_evm_";for(let g=0;g<localStorage.length;g++){let m=localStorage.key(g);if(!m)continue;let h=m.startsWith(t)?m.slice(t.length):null;if(h&&h.startsWith(f)){let b=t+e+h.slice(f.length);localStorage.setItem(b,localStorage.getItem(m)),localStorage.removeItem(m),g--}}}return{getState(){return n},setActive(f){n.active=f,f&&(n.known.some(m=>m.account.toLowerCase()===f.account.toLowerCase()&&m.chainId===f.chainId)||(n.known.push(f),a(f))),u(),i()},addKnown(f){let g=n.known.findIndex(m=>m.account.toLowerCase()===f.account.toLowerCase()&&m.chainId===f.chainId);g>=0?n.known[g]=f:n.known.push(f),a(f),n.active&&n.active.account.toLowerCase()===f.account.toLowerCase()&&n.active.chainId===f.chainId&&(n.active=f,u()),i()},updateAccount(f,g,m){let h=n.known.find(b=>b.account.toLowerCase()===f.toLowerCase()&&b.chainId===g);h&&(Object.assign(h,m),a(h),n.active&&n.active.account.toLowerCase()===f.toLowerCase()&&n.active.chainId===g&&(Object.assign(n.active,m),u()),i())},removeAccount(f,g){n.known=n.known.filter(m=>!(m.account.toLowerCase()===f.toLowerCase()&&m.chainId===g)),c(f,g),n.active&&n.active.account.toLowerCase()===f.toLowerCase()&&n.active.chainId===g&&(n.active=null,u()),i()},clearAll(){if(typeof localStorage<"u"){let f=[];for(let g=0;g<localStorage.length;g++){let m=localStorage.key(g);m&&m.startsWith(t)&&f.push(m)}for(let g of f)localStorage.removeItem(g)}n.active=null,n.known=[],i()},setLastSavedPatchIndex(f,g,m){this.updateAccount(f,g,{lastPatchIndex:m})},setLastRestorationIndex(f,g,m){this.updateAccount(f,g,{lastRestorationIndex:m})},lastSyncCounters(f,g){let m=n.known.find(h=>h.account.toLowerCase()===f.toLowerCase()&&h.chainId===g);return{lastPatchIndex:m?.lastPatchIndex??0,lastRestorationIndex:m?.lastRestorationIndex??0}},updateProjectVotes(f,g,m,h){let b=n.known.find(w=>w.account.toLowerCase()===f.toLowerCase()&&w.chainId===g);if(b){let w=m-1;if(w<0)return;let x=[...b.donationsPerProject||[]];for(;x.length<=w;)x.push(0);x[w]=(x[w]||0)+h,this.updateAccount(f,g,{donationsPerProject:x})}},persist(){for(let f of n.known)a(f);u()},load(){if(typeof localStorage>"u")return;l();let f=[];for(let g=0;g<localStorage.length;g++){let m=localStorage.key(g);if(m&&m.startsWith(t+e))try{let h=localStorage.getItem(m);if(h){let b=JSON.parse(h);f.push(b)}}catch(h){console.warn("Failed to parse loaded session account:",h)}}n.known=f,n.active=d(),i()},subscribe(f){return o.add(f),()=>o.delete(f)}}}var X=xv(),$R=()=>X.getState().known.filter(t=>t.hasAccount);async function Jm(t,e,r,n,o){await g1(t,e,r,n),!(!o||!$.threadInstance)&&await Promise.all([...An().values()].flatMap(i=>[...i.values()]).map(async i=>{let s=[],a=$.observePending(c=>{if(Te(c)&&(c.objectType===i.schema.objectId&&c.objectId===i.id&&s.push(c),c.operation===k.EditRelation)){let u=$r(c);u?.objectType===i.schema.objectId&&u.objectId===i.id&&s.push(u)}});try{let c=await $.threadInstance.sendRequest({cmd:"getRecord",payload:{objectType:i.schema.objectId,id:i.id,creatorUsername:i.creatorUsername}});if(c)i.replaceSnapshot(c);else{let u=new Xe(i.schema.objectId,Xe.createNewRequest(i.id));u.patch({operation:k.EditPropertyNumber,objectType:i.schema.objectId,objectId:i.id,propertyId:6,langId:0,value:1},!1,!1),i.replaceSnapshot(u.snapshot())}for(let u of s)i.patch(u,!1,!1);for(let u of Ug(i.schema))Ze.updateIndex(i.schema.objectId,u.propId,i);At.trigger(i)}finally{a()}}))}var Ym=class{constructor(){this.listeners=new Map}on(e,r){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(r),()=>this.off(e,r)}off(e,r){let n=this.listeners.get(e);n&&(n.delete(r),n.size===0&&this.listeners.delete(e))}emit(e,r){let n=this.listeners.get(e);n&&n.forEach(o=>{try{o(r)}catch(i){console.error(`Error in event listener for ${e}:`,i)}})}once(e,r){let n=o=>{r(o),this.off(e,n)};return this.on(e,n)}clear(e){e?this.listeners.delete(e):this.listeners.clear()}listenerCount(e){return this.listeners.get(e)?.size||0}},Eb=null;function Xm(){return Eb||(Eb=new Ym),Eb}var wv=(c=>(c.WALLET_STATE_CHANGED="wallet:state:changed",c.WALLET_CHAIN_CHANGED="wallet:chain:changed",c.WALLET_ERROR="wallet:error",c.SESSION_UPDATED="session:updated",c.WALLET_DISCONNECTED="wallet:disconnected",c.SESSION_DELETED="session:deleted",c.SAVE_RESTORED="save:restored",c.SUBSCRIPTION_PATCHES_SYNCED="subscription:patches:synced",c))(wv||{}),Iv=(S=>(S.INITIALIZING="INITIALIZING",S.UPDATING_STATE_STARTED="UPDATING_STATE_STARTED",S.UPDATING_STATE_DONE="UPDATING_STATE_DONE",S.UPDATING_STATE_FAILED="UPDATING_STATE_FAILED",S.READY="READY",S.INTERNAL_ERROR="INTERNAL_ERROR",S.NOT_CONNECTED="NOT_CONNECTED",S.NOT_INSTALLED="NOT_INSTALLED",S.NOT_ALLOWED="NOT_ALLOWED",S.NOT_SUPPORTED="NOT_SUPPORTED",S.NOT_READY="NOT_READY",S.CONNECT_STARTED="CONNECT_STARTED",S.CONNECT_DONE="CONNECT_DONE",S.CONNECT_FAILED="CONNECT_FAILED",S.TRANSACTION_STARTED="TRANSACTION_STARTED",S.TRANSACTION_DONE="TRANSACTION_DONE",S.TRANSACTION_FAILED="TRANSACTION_FAILED",S.TIMEOUT="TIMEOUT",S.CHAIN_CHANGED_STARTED="CHAIN_CHANGED_STARTED",S.CHAIN_CHANGED_DONE="CHAIN_CHANGED_DONE",S.CHAIN_CHANGED_FAILED="CHAIN_CHANGED_FAILED",S.WALLET_INSTALLED="WALLET_INSTALLED",S))(Iv||{}),Sv=(p=>(p.NO_ACCOUNTS="NO_ACCOUNTS",p.USER_REJECTED="USER_REJECTED",p.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",p.LOGIN_INTO_WALLET="LOGIN_INTO_WALLET",p.REQUEST_ALREADY_PENDING="REQUEST_ALREADY_PENDING",p.UNKNOWN_ERROR="UNKNOWN_ERROR",p.CONFIG_MISSING="CONFIG_MISSING",p.NOT_SUPPORTED="NOT_SUPPORTED",p.NOT_CONNECTED="NOT_CONNECTED",p.NOT_INSTALLED="NOT_INSTALLED",p.NOT_ALLOWED="NOT_ALLOWED",p.NETWORK_NOT_SUPPORTED="NETWORK_NOT_SUPPORTED",p))(Sv||{}),vv=(s=>(s.NO_ACCOUNT_SWITCH="NO_ACCOUNT_SWITCH",s.NO_NETWORK_SWITCH="NO_NETWORK_SWITCH",s.NETWORK_NOT_SUPPORTED="NETWORK_NOT_SUPPORTED",s.NO_INTERNET="NO_INTERNET",s.NO_DISCONNECT="NO_DISCONNECT",s.NO_ACCOUNT_DISCONNECT="NO_ACCOUNT_DISCONNECT",s))(vv||{});var ei=t=>e=>{Xm().emit(t,e)},ti=t=>e=>Xm().on(t,e),lr={emitWalletStateEvent:ei("wallet:state:changed"),onWalletStateEvent:ti("wallet:state:changed"),emitSessionUpdated:ei("session:updated"),onSessionUpdated:ti("session:updated"),emitChainChanged:ei("wallet:chain:changed"),onChainChanged:ti("wallet:chain:changed"),emitDisconnected:ei("wallet:disconnected"),onDisconnected:ti("wallet:disconnected"),emitWalletSessionDeleted:ei("session:deleted"),onWalletSessionDeleted:ti("session:deleted"),emitWalletError:ei("wallet:error"),onWalletError:ti("wallet:error"),emitSaveRestored:ei("save:restored"),onSaveRestored:ti("save:restored"),emitSubscriptionPatchesSynced:ei("subscription:patches:synced"),onSubscriptionPatchesSynced:ti("subscription:patches:synced")};var Tb={};vt(Tb,{NodeFileCacheStorage:()=>Ps,RegistryAddressLoader:()=>gc,addressLoader:()=>xe,createNodeFileCacheStorage:()=>yb,getContractAbi:()=>hb,getRegistryBaseUrl:()=>gb,setRegistryBaseUrl:()=>mb,sidecarUrlsFromManifest:()=>zm});var HR="0xcA11bde05977b3631167028862bE2a173976CA11";function WR(t){let e=xe.getAddress(t.chainId,"subscriptionManager",t.environment),r=xe.getAbi(t.chainId,"SubscriptionManager",t.environment);return!e||!r?null:{address:e,abi:r}}async function Av(t,e){let r=new Map;if(e.length===0)return r;let n=WR(t);if(n)try{let o=await t.publicClient.multicall({multicallAddress:HR,allowFailure:!0,contracts:e.map(i=>({...n,functionName:"getSubscriptions",args:[i]}))});return e.forEach((i,s)=>{let a=o[s];if(a?.status!=="success")throw new Error(`Could not read subscriptions for ${i}`);r.set(i,(a.result??[]).map(Number))}),r}catch(o){console.warn("[subscription/contract] multicall getSubscriptions failed, falling back to sequential reads",o)}return await Promise.all(e.map(async o=>{r.set(o,await t.subscriptionManager.getSubscriptions(o))})),r}var GR=50,VR=1e3;async function Pv(t,e,r){let n=r?.maxNodes??VR,o=r?.maxDepth,i=new Set([e]),s=new Map([[e,0]]),a=new Map,c=[e],u=!1;for(;c.length>0&&i.size<n;){let d=c.splice(0,GR),l=await Av(t,d);for(let p of d){let f=l.get(p)??[];a.set(p,{userId:p,subscriptions:f});for(let g of f){if(i.has(g)||i.size>=n)continue;let m=(s.get(p)??0)+1;if(o!==void 0&&m>o){u=!0;continue}i.add(g),s.set(g,m),c.push(g)}}}return{rootUserId:e,nodes:a,truncated:c.length>0||u}}async function qR(t,e,r){let[n,o,i]=await t.archivistStorage.loadActionsSince(e,r);return!n||n.length===0?null:{userId:e,fromIndex:r,toIndex:r+n.length,raw:{compressedActions:n,indexes:o,stringIndexes:i}}}async function Ev(t,e,r,n){let o=n?.concurrency??4,i=Array.from(e.nodes.keys()),s=[];for(let a=0;a<i.length;a+=o){let c=i.slice(a,a+o),u=await Promise.all(c.map(d=>qR(t,d,r?.get(d)??0).catch(l=>(console.warn(`[subscription/patch-resolver] failed to fetch patches for userId ${d}`,l),null))));for(let d of u)d&&s.push(d)}return s}function eg(t,e){let r=t.raw;return{version:e,patches:r.compressedActions,textIndex:r.indexes.map(Number),textData:r.stringIndexes}}var wc=class{constructor(e){this.config=e;this.client=Qm(e.chainId,e.environment??"production"),this.defaultMaxWalkNodes=e.maxWalkNodes,this.defaultMaxDepth=e.maxDepth}async walkGraph(e,r){return await this.client.ready,Pv(this.client,e,{maxNodes:r?.maxNodes??this.defaultMaxWalkNodes,maxDepth:r?.maxDepth??this.defaultMaxDepth})}async fetchPatches(e,r,n){return await this.client.ready,Ev(this.client,e,r,n)}async sync(e,r){let n=await this.walkGraph(e,r),o=await this.fetchPatches(n,void 0,r),i=new Map;for(let[a,c]of n.nodes)i.set(a,c.subscriptions.length);let s=new Map;for(let a of o)s.set(a.userId,Math.max(s.get(a.userId)??0,a.toIndex));for(let a of n.nodes.keys())s.has(a)||s.set(a,0);return{patches:o,cursor:{rootUserId:e,knownNodes:n.nodes,countSnapshot:i,patchIndex:s},truncated:n.truncated}}async syncSince(e,r){await this.client.ready;let n=await this.walkGraph(e.rootUserId,r);if(n.truncated)throw new Error("Subscription graph refresh truncated; increase traversal limits before retrying");let o=n.nodes,i=new Map([...o].map(([u,d])=>[u,d.subscriptions.length])),s=!1,a=await this.fetchPatches(n,e.patchIndex,r),c=new Map([...e.patchIndex].filter(([u])=>o.has(u)));for(let u of a)c.set(u.userId,Math.max(c.get(u.userId)??0,u.toIndex));for(let u of o.keys())c.has(u)||c.set(u,0);return{patches:a,cursor:{rootUserId:e.rootUserId,knownNodes:o,countSnapshot:i,patchIndex:c},truncated:s}}async getSubscriptions(e){return await this.client.ready,this.client.subscriptionManager.getSubscriptions(e)}async getScore(e){return await this.client.ready,this.client.subscriptionManager.scoreOf(e)}async loadLibraryByUsername(e){try{await this.client.ready,console.log(`[SubscriptionClient] Starting library load for @${e}...`),console.log(`[SubscriptionClient] Looking up userId for @${e}...`);let r=await this.client.bouncerStorage.usernameToUserId(e);if(!r){console.error(`[SubscriptionClient] Username @${e} not found on-chain`);return}console.log(`[SubscriptionClient] Resolved @${e} \u2192 userId ${r}`),console.log(`[SubscriptionClient] Syncing patches for userId ${r}...`);let n=await this.sync(r);if(n.truncated)throw new Error("Subscription graph truncated; refusing an incomplete view");if(await Jm(this.config.environment??"production",this.config.chainId,r,[...n.cursor.knownNodes.keys()],!0),console.log(`[SubscriptionClient] Fetched ${n.patches.length} patch(es), truncated: ${n.truncated}`),n.patches.length>0){console.log(`[SubscriptionClient] Applying patches for ${n.patches.length} subscription graph patch(es)...`);for(let o of n.patches)try{let i=await this.client.bouncerStorage.userIdToUsername(o.userId);if(!i){console.warn(`[SubscriptionClient] No username found for userId ${o.userId}, skipping patch`);continue}console.log(`[SubscriptionClient] Applying patch for @${i} (userId ${o.userId}, index ${o.fromIndex}\u2013${o.toIndex})...`),await Ks(i,eg(o,Tn),{streamId:`${this.config.environment??"production"}:${this.config.chainId}:${o.userId}`,fromIndex:o.fromIndex});let s=await Qr(i);await Rr(s,i)}catch(i){console.error(`[SubscriptionClient] Failed to apply patch for userId ${o.userId}:`,i?.message||i)}}console.log(`[SubscriptionClient] Successfully loaded library for @${e}`)}catch(r){console.error(`[SubscriptionClient] Failed to load library for @${e}:`,r?.message||r)}}};var Cb={};function Rb(t,e="production"){let r=`${t}:${e}`;return Cb[r]||(Cb[r]=new wc({chainId:t,environment:e})),Cb[r]}function tg(t){return new Promise((e,r)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>r(t.error)})}function KR(t,e){let r,n=()=>{if(r)return r;let o=indexedDB.open(t);return o.onupgradeneeded=()=>o.result.createObjectStore(e),r=tg(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(e,o).objectStore(e)))}var Nb;function Bb(){return Nb||(Nb=KR("keyval-store","keyval")),Nb}function Tv(t,e=Bb()){return e("readonly",r=>tg(r.get(t)))}function Cv(t,e,r=Bb()){return r("readwrite",n=>(n.put(e,t),tg(n.transaction)))}function Rv(t,e=Bb()){return e("readwrite",r=>(r.delete(t),tg(r.transaction)))}function Nv(t){return{rootUserId:t.rootUserId,knownNodes:Array.from(t.knownNodes.entries()),countSnapshot:Array.from(t.countSnapshot.entries()),patchIndex:Array.from(t.patchIndex.entries())}}function Bv(t){return{rootUserId:t.rootUserId,knownNodes:new Map(t.knownNodes),countSnapshot:new Map(t.countSnapshot),patchIndex:new Map(t.patchIndex)}}function QR(t){return{rootUserId:t,knownNodes:new Map,countSnapshot:new Map,patchIndex:new Map}}var Lb="web3-sdk:subscription-cursor:";function wd(t,e,r){return`${t}:${e}:${r}`}var Ic={async get(t){try{let e=await Tv(`${Lb}${t}`);return e?Bv(e):void 0}catch(e){console.warn(`[cursorStore] Failed to read cursor for key ${t}:`,e);return}},async set(t,e){try{await Cv(`${Lb}${t}`,Nv(e))}catch(r){console.warn(`[cursorStore] Failed to persist cursor for key ${t}:`,r)}},async clear(t){try{await Rv(`${Lb}${t}`)}catch{}}};var Lv="@the_library/web3-cache:";function kv(){if(typeof window>"u"||typeof localStorage>"u")return!1;try{let t="__storage_test__";return localStorage.setItem(t,"test"),localStorage.removeItem(t),!0}catch{return!1}}function Id(t){if(!kv())return null;try{let e=localStorage.getItem(Lv+t);return e?JSON.parse(e):null}catch{return null}}function Sd(t,e){if(kv())try{localStorage.setItem(Lv+t,JSON.stringify(e))}catch(r){console.warn("[session/storage] Failed to save to localStorage:",r)}}var rg=new Map;async function Mv(t,e,r){let n=wd(r,e,t),o=rg.get(n);if(o)return o;let i=(async()=>{let s=Rb(e,r),a=await Ic.get(n),c=a?await s.syncSince(a):await s.sync(t);if(c.truncated)throw new Error("Subscription graph is truncated; cursor and active view remain unchanged");let u=!a||a.knownNodes.size!==c.cursor.knownNodes.size||[...a.knownNodes.keys()].some(f=>!c.cursor.knownNodes.has(f));await Jm(r,e,t,[...c.cursor.knownNodes.keys()],u);let d=0,l=new Set;if(c.patches.length>0){let f=vr(e,r);await f.ready;for(let g of c.patches)try{let m=await f.bouncerStorage.userIdToUsername(g.userId);if(!m){l.add(g.userId);continue}await Ks(m,eg(g,Tn),{streamId:`${r}:${e}:${g.userId}`,fromIndex:g.fromIndex});let h=await Qr(m);await Rr(h,m),d+=g.toIndex-g.fromIndex}catch(m){l.add(g.userId),console.warn(`[session/sync] failed to apply subscription patch for userId ${g.userId}`,m)}}let p=new Map(c.cursor.patchIndex);for(let f of l)p.set(f,a?.patchIndex.get(f)??0);await Ic.set(n,{...c.cursor,patchIndex:p}),lr.emitSubscriptionPatchesSynced({rootUserId:t,chainId:e,appliedCount:d,timestamp:Date.now(),failedUserIds:l.size>0?Array.from(l):void 0})})();rg.set(n,i);try{await i}catch(s){rg.delete(n),console.warn(`[session/sync] subscription sync failed for userId ${t}`,s)}finally{rg.delete(n)}}async function ri(t,e,r,n=St(),o=!1){let i=X.getState().known.find(u=>u.account.toLowerCase()===t.toLowerCase()&&u.chainId===e);if(!o&&i?.lastUpdated)return i.hasAccount&&i.userId&&Mv(i.userId,e,n),i;let s=vr(e,n);await s.ready;let a=i?{...i}:{account:t,username:"",hasAccount:!1,userId:0,lastPatchIndex:0,lastRestorationIndex:0,chainId:e,wallet:r},c=await s.bouncerStorage.hasAccount(t);if(a.hasAccount=c,c){let[u,d,l,p]=await s.bouncerStorage.userInfos(t);a.username=u,a.country=d,a.language=l,a.userId=p;let{total:f,donations:g,unspent:m}=await s.projectManagerStorage.balanceOfAddress(t);a.projectBalance={contributions:f,allocated:g,remaining:m};try{a.level=await s.archivistStorage.userLevel(p)}catch{a.level=1}try{a.donationsPerProject=await s.projectManagerStorage.addressDonationsPerProject(t)}catch{a.donationsPerProject=[]}await Mv(p,e,n)}return a.lastUpdated=Date.now(),X.addKnown(a),a}async function kb(t,e,r=St()){let n=X.getState().known.find(s=>s.account.toLowerCase()===t.toLowerCase()&&s.chainId===e);if(!n||!n.hasAccount)return!1;let o=vr(e,r);if(await o.ready,!await o.bouncerStorage.hasAccount(t))return X.updateAccount(t,e,{hasAccount:!1}),!1;try{await nl("mine")>0&&await ct.calculateLevel("mine");let s=await o.factory.nbWritesByUsername(n.username);if(s>n.lastRestorationIndex){let[a,c,u]=await o.factory.loadUsernameSince(n.username,n.lastRestorationIndex),d=0;if(a&&a.length>0){let l=await qs("mine");await Ks("mine",{version:Tn,patches:a,textIndex:c.map(Number),textData:u},{streamId:`${r}:${e}:${n.userId}`,fromIndex:n.lastRestorationIndex});let p=await Qr("mine");await Rr(p,"mine"),Tr(p.filter(f=>f.pk>l&&f.sourceStream&&!Te(f))),d=a.length,await ct.calculateLevel("mine")}X.setLastRestorationIndex(t,e,s),lr.emitSaveRestored({wallet:n.wallet,chainId:e,account:t,username:n.username,newRestorationIndex:s,appliedCount:d,timestamp:Date.now()})}return!0}catch(s){return console.error(`[session/sync] restoreAccountSave failed for ${t} on ${e}`,s),!1}}async function ZR(t,e){let{lastPatchIndex:r}=X.lastSyncCounters(t,e),n=await qs("mine");if(n<=r)return!1;let o=(await pi("mine",r+1)).filter(i=>i.pk<=n&&!i.sourceStream);return o.length>0&&Qs(o).patches.length>0}function Dv(t,e){if(t.length===0)return!1;let r=0;for(let n of t){let o=BigInt(n);for(;r<e.length&&BigInt(e[r])!==o;)r++;if(r===e.length)return!1;r++}return!0}async function Mb(t,e,r,n,o=St()){let i=X.getState().known.find(s=>s.account.toLowerCase()===t.toLowerCase()&&s.chainId===e);if(!i?.hasAccount||i.lastRestorationIndex!==r||n.length===0)return!1;try{let s=vr(e,o);await s.ready;let a=await s.factory.nbWritesByUsername(i.username);if(a<=r)return!1;let[c]=await s.factory.loadUsernameSince(i.username,r);return c.length!==a-r||!Dv(c,n)?!1:(X.setLastRestorationIndex(t,e,a),!0)}catch(s){return console.warn(`[session/sync] acknowledgeOwnSave skipped for ${t} on ${e}`,s),!1}}async function JR(t,e=St(),r=!1){let n=`networkInfos_${t}${e==="staging"?"_staging":""}`;if(!r){let u=Id(n);if(u)return u}let o=vr(t,e);await o.ready;let[i,s,a]=await Promise.all([o.bouncerStorage.getAllLocationCounts(),o.projectManagerStorage.nbProjects(),o.bouncerStorage.nbAccounts()]),c={nbUsers:a,nbLocations:i.length,nbProjects:s,locationStats:i};return Sd(n,c),c}var Db=new Map;function ng(t){Db.set(t.type,t)}function Ob(t){return Db.get(t)}function Fb(){return Array.from(Db.values())}var og="wallet_pk_",jb="@the_library/web3-session:",Ov=null;function XR(){return Ov}function e3(t){Ov=t}function Ub(){if(typeof window>"u"||typeof localStorage>"u")return!1;try{let t="__storage_test__";return localStorage.setItem(t,"test"),localStorage.removeItem(t),!0}catch{return!1}}function Fv(t){if(!Ub())return null;try{let e=localStorage.getItem(jb+t);return e?JSON.parse(e):null}catch{return null}}function t3(t,e){if(Ub())try{localStorage.setItem(jb+t,JSON.stringify(e))}catch(r){console.warn("Failed to save to localStorage:",r)}}function jv(t,e){if(!e)throw new Error("Private key is required");let r=`${og}${t}`;t3(r,e)}function ho(t){let e=`${og}${t}`;return Fv(e)}function ig(t){let e=`${og}${t}`;return!!Fv(e)}function r3(){if(!Ub())return!1;let t=`${jb}${og}`;for(let e=0;e<localStorage.length;e++)if(localStorage.key(e)?.startsWith(t))return!0;return!1}var n3=(t,e,r)=>jv(t,e),o3=(t,e)=>ho(t),i3=t=>ig(t);Ma();H();Or();Ut();function Uv(t){if(typeof t=="string"){if(!Z(t,{strict:!1}))throw new le({address:t});return{address:t,type:"json-rpc"}}if(!Z(t.address,{strict:!1}))throw new le({address:t.address});return{address:t.address,nonceManager:t.nonceManager,sign:t.sign,signAuthorization:t.signAuthorization,signMessage:t.signMessage,signTransaction:t.signTransaction,signTypedData:t.signTypedData,source:"custom",type:"local"}}Ma();Zt();ze();H();var _b=!1;async function wn({hash:t,privateKey:e,to:r="object"}){let{r:n,s:o,recovery:i}=ir.sign(t.slice(2),e.slice(2),{lowS:!0,extraEntropy:he(_b,{strict:!1})?De(_b):_b}),s={r:E(n,{size:32}),s:E(o,{size:32}),v:i?28n:27n,yParity:i};return r==="bytes"||r==="hex"?km({...s,to:r}):s}async function _v(t){let{chainId:e,nonce:r,privateKey:n,to:o="object"}=t,i=t.contractAddress??t.address,s=await wn({hash:of({address:i,chainId:e,nonce:r}),privateKey:n,to:o});return o==="object"?{address:i,chainId:e,nonce:r,...s}:s}async function zv({message:t,privateKey:e}){return await wn({hash:Qo(t),privateKey:e,to:"hex"})}er();async function $v(t){let{privateKey:e,transaction:r,serializer:n=DI}=t,o=r.type==="eip4844"?{...r,sidecars:!1}:r,i=await wn({hash:ie(await n(o)),privateKey:e});return await n(r,i)}async function Hv(t){let{privateKey:e,...r}=t;return await wn({hash:lm(r),privateKey:e,to:"hex"})}function vd(t,e={}){let{nonceManager:r}=e,n=Ae(ir.getPublicKey(t.slice(2),!1)),o=Kp(n);return{...Uv({address:o,nonceManager:r,async sign({hash:s}){return wn({hash:s,privateKey:t,to:"hex"})},async signAuthorization(s){return _v({...s,privateKey:t})},async signMessage({message:s}){return zv({message:s,privateKey:t})},async signTransaction(s,{serializer:a}={}){return $v({privateKey:t,transaction:s,serializer:a})},async signTypedData(s){return Hv({...s,privateKey:t})}}),publicKey:n,source:"privateKey"}}function zb(t){return t.startsWith("0x")?t:`0x${t}`}function Ad(t){return vd(zb(t)).address}function Pd(t,e){let r=vd(zb(e)),n=dr(t);return As({account:r,chain:Xo(n),transport:gd(n.rpc)})}var Sc=class{constructor(){this.type="private_key";this.activeChainId=0;this.chainChangedCallbacks=new Set}isAvailable(){return!0}async connect(e=bd){if(!ig(e))throw new Error(`No private key configured for chain ${e}`);this.activeChainId=e;let r=ho(e);if(!r)throw new Error(`No private key configured for chain ${e}`);return{address:Ad(r),chainId:e}}async getAccounts(){if(!this.activeChainId)return[];let e=ho(this.activeChainId);return e?[Ad(e)]:[]}async getChainId(){return this.activeChainId}async requestSwitchChain(e){if(!ho(e))throw new Error(`No private key configured for chain ${e}`);this.activeChainId=e;for(let n of this.chainChangedCallbacks)n(e)}async sendTransaction(e,r){let n=ho(r);if(!n)throw new Error(`No private key found for chain ${r}`);return await Pd(r,n).sendTransaction(e)}async signMessage(e){if(!this.activeChainId)throw new Error("Wallet not connected");let r=ho(this.activeChainId);if(!r)throw new Error("No private key found");return await vd(zb(r)).signMessage({message:e})}async getWalletClient(e){let r=ho(e);if(!r)throw new Error(`No private key configured for chain ${e}`);return Pd(e,r)}onAccountChanged(e){return()=>{}}onChainChanged(e){return this.chainChangedCallbacks.add(e),()=>{this.chainChangedCallbacks.delete(e)}}disconnect(){this.activeChainId=0}};function s3(){return new Sc}async function $b(t,e,r=St()){let n=t;if(typeof n.getWalletClient!="function")throw new Error(`Connector '${t.type}' does not support EVM write operations`);t.type==="private_key"&&await t.getChainId()!==e&&await n.connect(e);let i=(await t.getAccounts())[0];if(!i)throw new Error(`No account available for wallet '${t.type}' \u2014 connect() first`);let s=await Zm(e,r),a=await n.getWalletClient(e);return new xc(t.type,s,a,i)}async function a3(t,e,r=St()){let n=await Zm(t,r),o=Pd(t,e),i=Ad(e);return new xc("private_key",n,o,i)}var ni={lastRun:0,running:!1},Wv=()=>{ni.running=!1,ni.lastRun=0},c3=()=>ni.running&&Date.now()-ni.lastRun<1e3*60?!1:(ni.lastRun=Date.now(),ni.running=!0,!0),Gv=(t,e,r)=>{console.error(`[session/mutations] error while transaction wallet=${t} chainId=${e}`,r),Wv();let n=ke(r).code==="USER_REJECTED";lr.emitWalletError({wallet:t,chainId:e,timestamp:Date.now(),reason:n?"USER_REJECTED":r?.code??"UNKNOWN_ERROR",args:r})},u3=(t,e)=>{lr.emitWalletStateEvent({wallet:t,chainId:e,event:"TRANSACTION_STARTED",timestamp:Date.now()})},d3=(t,e)=>{lr.emitWalletStateEvent({wallet:t,chainId:e,event:"TRANSACTION_DONE",timestamp:Date.now()})},l3=async(t,e)=>c3()?!0:(console.log("[session/mutations] preTransaction skipped \u2014 another transaction is running, wait 1min"),!1),p3=async(t,e,r)=>{ni.running=!1,ni.lastRun=0,lr.emitWalletStateEvent({wallet:t,chainId:e,event:"UPDATING_STATE_STARTED",functionName:"syncAccount",timestamp:Date.now()});try{await ri(r,e,t,St(),!0)}catch(n){return lr.emitWalletStateEvent({wallet:t,chainId:e,event:"UPDATING_STATE_FAILED",functionName:"syncAccount",timestamp:Date.now()}),console.error(n),!1}return lr.emitWalletStateEvent({wallet:t,chainId:e,event:"UPDATING_STATE_DONE",functionName:"syncAccount",timestamp:Date.now()}),!0};async function f3(t,e){let r=Ob(t);if(!r)throw new Error(`No connector registered for wallet '${t}' \u2014 bootstrapWebSDK() must run first`);return $b(r,e,St())}async function Ed(t,e,r,n,o){if(!await l3(t,e))return!1;u3(t,e);try{let i=await f3(t,e);await n(i)}catch(i){throw Gv(t,e,i),i}return d3(t,e),o?.(),p3(t,e,r)}var Vv={retire:(t,e,r,n,o)=>Ed(t,e,r,i=>i.accountManager.unregisterWithConsent(n.expiry,n.signature,o)),vote:(t,e,r,n,o,i,s)=>Ed(t,e,r,a=>a.factory.donateToProject(n,o,i,s)),save:(t,e,r,n,o,i,s,a)=>Ed(t,e,r,c=>c.factory.save(n,s,o,i,a),()=>{if(!a?.skipCounterUpdate){let c=a?.consumedRows??n.length,{lastPatchIndex:u}=X.lastSyncCounters(r,e);X.setLastSavedPatchIndex(r,e,Math.max(u,a?.savedThrough??u+c))}}),subscribe:(t,e,r,n,o)=>Ed(t,e,r,i=>i.subscriptionManager.subscribeTo(n,o)),unsubscribe:(t,e,r,n,o)=>Ed(t,e,r,i=>i.subscriptionManager.unsubscribeFrom(n,o))},m3=100,g3=t=>{switch(t.action){case 0:case 2:case 3:case 5:return`${t.objectType}:${t.objectId}:0`;case 4:return`${t.objectType}:${t.objectId}:${t.part}`;case 6:return`${t.objectType}:${t.objectId}:${t.part}`;default:return null}};function y3(t){let e=[],r=[],n=new Set;for(let o of t){let i=Te(o)?null:g3(o);i!==null&&!n.has(i)&&n.size>=m3&&(e.push(r),r=[],n=new Set),i!==null&&n.add(i),r.push(o)}return r.length&&e.push(r),e}var Hb=new Map;function h3(t,e,r,n){let o=`${St()}:${e}:${r.toLowerCase()}`,i=Hb.get(o);if(i)return i;let s=b3(t,e,r,n);return Hb.set(o,s),s.finally(()=>Hb.delete(o)).catch(()=>{}),s}async function b3(t,e,r,n){let{lastPatchIndex:o}=X.lastSyncCounters(r,e),i=await qs("mine"),s=i>o?(await pi("mine",o+1)).filter(f=>f.pk<=i&&!f.sourceStream):[],a;try{a=kb}catch{}if(!(typeof a=="function"?await a(r,e):!0))return!1;s.length>0&&$.threadInstance&&await Rr(s,"mine");let{lastRestorationIndex:u}=X.lastSyncCounters(r,e),d=[],l=await x3(t,e,r,n,d),p;try{p=Mb}catch{}return l&&typeof p=="function"&&await p(r,e,u,d),l}async function x3(t,e,r,n,o=[]){let{lastPatchIndex:i}=X.lastSyncCounters(r,e),s=await qs("mine");if(s<=i)return!1;let a=Math.floor(await ct.calculateLevel("mine"))+1,c=(await pi("mine",i+1)).filter(p=>p.pk<=s),u=y3(c),d=i,l=!1;for(let p=0;p<u.length;p++){let f=u[p],g=p===u.length-1?s:f[f.length-1].pk,m=Qs(f);if(m.patches.length===0)n?.skipCounterUpdate||X.setLastSavedPatchIndex(r,e,g);else{if(!await Vv.save(t,e,r,m.patches,m.textIndex,m.textData,a,{...n,consumedRows:g-d,savedThrough:g}))return l;l=!0,o.push(...m.patches.map(BigInt))}d=g}return!u.length&&!n?.skipCounterUpdate&&X.setLastSavedPatchIndex(r,e,s),l}var qv=(t,e,r)=>{let n=t.balance,o=t.availableLanguages.findIndex(s=>s===e);if(o!==-1)return{lang:t.availableLanguages[o],version:{...t.versions[o]},id:t.id,balance:n};let i=t.availableLanguages.findIndex(s=>s===" eng");if(i!==-1)return{lang:" eng",version:{...t.versions[i]},id:t.id,balance:n};if(t.availableLanguages.length===0)throw new Error(`No language available for project ${t.id}`);return{lang:t.availableLanguages[0],version:{...t.versions[0]},id:t.id,balance:n}},Kv=120*1e3,Wb=class{projectKey(e,r,n){return`${e}_${r}_${n}_v2`}nbProjectsKey(e,r){return`${e}_${r}_nbProjects_v2`}nbProjects(e,r){let n=Id(this.nbProjectsKey(e,r));return n?parseInt(n,10):0}setNbProjects(e,r,n){Sd(this.nbProjectsKey(e,r),n.toString())}getProject(e,r,n){return Id(this.projectKey(e,r,n))}cacheProject(e,r,n){Sd(this.projectKey(e,r,n.id),{...n,cachedAt:Date.now()})}getCachedProjects(e,r){let n=this.nbProjects(e,r);if(n<=0)return[];let o=[];for(let i=1;i<=n;i++)o.push(this.getProject(e,r,i));return o}async loadProject(e,r,n,o=!1){let i=this.getProject(e,r,n);if(i!==null&&Date.now()-(i.cachedAt??0)<Kv&&!o)return i;try{let a=vr(e);await a.ready;let c=qv(await a.projectManagerStorage.loadProject(n),r,e);return this.cacheProject(e,r,c),c}catch(a){if(i!==null&&!o)return i;throw a}}async loadProjects(e,r){let n;try{n=vr(e)}catch(a){return console.warn(`[ProjectRegistry] No read client for chain ${e} \u2014 returning cached projects only.`,a),this.getCachedProjects(e,r)}await n.ready;let o=this.nbProjects(e,r),i=await n.projectManagerStorage.nbProjects();i!==o&&this.setNbProjects(e,r,i);let s=Array.from({length:i},(a,c)=>c+1);return Promise.all(s.map(a=>this.loadProject(e,r,a).catch(c=>(console.error(`[ProjectRegistry] Error loading project ${a}:`,c),null))))}},Qv=new Wb,Gb=(t,e)=>Qv.loadProjects(t,e),w3=(t,e,r,n=!1)=>Qv.loadProject(t,e,r,n);var Zv=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"Forbidden",type:"error"},{inputs:[],name:"ImportsFinalized",type:"error"},{inputs:[{internalType:"uint64",name:"count",type:"uint64"}],name:"InvalidBatchSize",type:"error"},{inputs:[],name:"InvalidPublicLibraryId",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"LibraryIdOutOfRange",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"NotLibraryStaff",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"NotLockHolder",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"holder",type:"address"},{internalType:"uint256",name:"expiresAt",type:"uint256"}],name:"PublishLockHeld",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"PublishNotLocked",type:"error"},{inputs:[],name:"StorageFrozen",type:"error"},{anonymous:!1,inputs:[],name:"ImportsFinalized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldRegistry",type:"address"},{indexed:!0,internalType:"address",name:"newRegistry",type:"address"}],name:"LibraryRegistryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"},{indexed:!1,internalType:"uint32",name:"seq",type:"uint32"}],name:"LibrarySequenceBumped",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"frozen",type:"bool"}],name:"MigrationFrozen",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"},{indexed:!1,internalType:"uint256",name:"acquiredAt",type:"uint256"}],name:"PublishLockAcquired",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"}],name:"PublishLockReleased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"uint8",name:"objectType",type:"uint8"},{indexed:!0,internalType:"address",name:"staff",type:"address"},{indexed:!1,internalType:"uint64",name:"startId",type:"uint64"},{indexed:!1,internalType:"uint64",name:"count",type:"uint64"}],name:"RecordIdsAllocated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"}],name:"StaffAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"}],name:"StaffRemoved",type:"event"},{inputs:[],name:"MAX_BATCH_SIZE",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_LOCK_DURATION",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"acquirePublishLock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"staff",type:"address"}],name:"addStaff",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address[]",name:"staffMembers",type:"address[]"}],name:"addStaffBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"count",type:"uint64"}],name:"allocateRecordIds",outputs:[{internalType:"uint64",name:"startId",type:"uint64"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"authorizedWriters",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"bumpLibrarySequence",outputs:[{internalType:"uint32",name:"seq",type:"uint32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportLibraries",outputs:[{internalType:"uint256[]",name:"libraryIds",type:"uint256[]"},{internalType:"uint32[]",name:"sequences",type:"uint32[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"exportRecordCounters",outputs:[{internalType:"uint64[256]",name:"counters",type:"uint64[256]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportStaff",outputs:[{internalType:"address[]",name:"staff",type:"address[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"finalizeImports",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"freezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint8",name:"objectType",type:"uint8"}],name:"getCurrentRecordCounter",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"getLibrarySequence",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"getPublishLock",outputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"uint64",name:"acquiredAt",type:"uint64"},{internalType:"bool",name:"active",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"staff",type:"address"}],name:"getStaffLibraries",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint32",name:"sequence",type:"uint32"},{internalType:"uint64[256]",name:"counters",type:"uint64[256]"}],name:"importLibraryState",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address[]",name:"staff",type:"address[]"}],name:"importStaff",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"importsFinalized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"isStaffOf",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"libraryRegistry",outputs:[{internalType:"contract IPublicLibraryStorage",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"migrationFrozen",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nbLibraries",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"nbStaff",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"releasePublishLock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"staff",type:"address"}],name:"removeStaff",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address[]",name:"staffMembers",type:"address[]"}],name:"removeStaffBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"storageAddr",type:"address"}],name:"setLibraryRegistry",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unfreezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"staff",type:"address"}],name:"verifyMember",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];var Vb={AddressRegistry:"The Card Catalog",Factory:"The Head Librarian",BouncerStorage:"The Library Card Office",ProjectManagerStorage:"The Project Manager",ScientistStorage:"The Statistician",BackupStorage:"The Archivist",AccountManager:"RegistrationDesk",SubscriptionManager:"The Membership Desk",LibraryRegistryStorage:"The Union Catalog",PublicLibraryStorage:"The Reading Room",DSafeHRStorage:"The Staff Office",StatsPivotStorage:"The Records Room",RelationshipIndexerStorage:"The Cross-Reference Desk",EmailRecoveryManager:"The Lost & Found"};function Jv(t){return Vb[t]??t}var qb=(u=>(u.chromium="chromium",u.firefox="firefox",u.safari="safari",u.edge="edge",u.opera="opera",u.brave="brave",u.vivaldi="vivaldi",u.yandex="yandex",u.palemoon="palemoon",u))(qb||{}),Kb=(n=>(n.android="android",n.ios="ios",n.browsers="browsers",n))(Kb||{}),Qb=(t=typeof navigator<"u"?navigator.userAgent:"")=>{let e=t.toLowerCase(),r;e.includes("yabrowser")||e.includes("yandex")?r="yandex":e.includes("brave")?r="brave":e.includes("vivaldi")?r="vivaldi":e.includes("palemoon")?r="palemoon":e.includes("edg/")||e.includes("edge/")?r="edge":e.includes("opr/")||e.includes("opera/")?r="opera":e.includes("firefox/")?r="firefox":e.includes("safari/")&&!e.includes("chrome/")?r="safari":(e.includes("chrome/")||e.includes("chromium/"),r="chromium");let n;return e.includes("android")?n="android":e.includes("iphone")||e.includes("ipad")||e.includes("ipod")?n="ios":n="browsers",{browser:r,platform:n}};var Zb=null;typeof window<"u"&&(window.addEventListener("eip6963:announceProvider",t=>{let e=t.detail;(e.info.rdns==="io.metamask"||e.info.rdns==="io.metamask.flask")&&(Zb=e.provider)}),window.dispatchEvent(new Event("eip6963:requestProvider")));var vc=class{constructor(){this.type="metamask";this.accountChangedCallbacks=new Set;this.chainChangedCallbacks=new Set;this.isListening=!1}getProvider(){return Zb||(typeof window<"u"?window.ethereum:null)}isAvailable(){return!!this.getProvider()}setupListeners(){if(this.isListening)return;let e=this.getProvider();e&&typeof e.on=="function"&&(e.on("accountsChanged",r=>{let n=r[0]||"";for(let o of this.accountChangedCallbacks)o(n)}),e.on("chainChanged",r=>{let n=parseInt(r,16);for(let o of this.chainChangedCallbacks)o(n)}),this.isListening=!0)}async connect(){let e=this.getProvider();if(!e)throw new Error("MetaMask provider not found");this.setupListeners();let r=await e.request({method:"eth_requestAccounts"}),n=await e.request({method:"eth_chainId"});return{address:r[0],chainId:parseInt(n,16)}}async getAccounts(){let e=this.getProvider();if(!e)return[];try{return await e.request({method:"eth_accounts"})||[]}catch{return[]}}async getChainId(){let e=this.getProvider();if(!e)return 0;try{let r=await e.request({method:"eth_chainId"});return parseInt(r,16)}catch{return 0}}async requestSwitchChain(e){let r=this.getProvider();if(!r)throw new Error("MetaMask provider not found");let n="0x"+e.toString(16);try{await r.request({method:"wallet_switchEthereumChain",params:[{chainId:n}]})}catch(o){if(o.code===4902){let i=dr(e);if(!i)throw new Error(`No configuration found for chain ID: ${e}`);await r.request({method:"wallet_addEthereumChain",params:[{chainId:n,chainName:i.name,rpcUrls:[i.rpc],blockExplorerUrls:[i.explorer],nativeCurrency:{decimals:i.decimals||18,name:i.name,symbol:i.symbol}}]})}else throw o}}async sendTransaction(e,r){let n=this.getProvider();if(!n)throw new Error("MetaMask provider not found");let o=await this.getAccounts();if(o.length===0)throw new Error("No accounts connected");let i=Xo(dr(r));return await As({account:o[0],chain:i,transport:md(n)}).sendTransaction(e)}async signMessage(e){let r=this.getProvider();if(!r)throw new Error("MetaMask provider not found");let n=await this.getAccounts();if(n.length===0)throw new Error("No accounts connected");return await As({account:n[0],transport:md(r)}).signMessage({account:n[0],message:e})}async getWalletClient(e){let r=this.getProvider();if(!r)throw new Error("MetaMask provider not found");let n=await this.getAccounts();if(n.length===0)throw new Error("No accounts connected");let o=Xo(dr(e));return As({account:n[0],chain:o,transport:md(r)})}onAccountChanged(e){return this.setupListeners(),this.accountChangedCallbacks.add(e),()=>{this.accountChangedCallbacks.delete(e)}}onChainChanged(e){return this.setupListeners(),this.chainChangedCallbacks.add(e),()=>{this.chainChangedCallbacks.delete(e)}}disconnect(){}};function I3(){return new vc}var S3="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLQogIC0gICAvKgogIC0gICAgKiBDb3B5cmlnaHQgKGMpIDIwMjYgRGF0YVBvbmQgRC1MaWJyYXJ5IFB0eSBMdGQuICgiVGhlIFNhbmN0dWFyeSIpCiAgLSAgICAqIE5vbi1Qcm9maXQgUHVibGljIExpYnJhcnkg4oCUIFRoZSBXb3JsZCBMaWJyYXJ5CiAgLSAgICAqCiAgLSAgICAqIExpY2Vuc2VkIHVuZGVyIHRoZSBELU9wZW4gQ29kZSBTb3ZlcmVpZ24gTGljZW5jZSB2MS4wCiAgLSAgICAqIGh0dHBzOi8vcmVnaXN0cnkud29ybGQuYmlibGlvdGVjaC5jb20vbGljZW5jZQogIC0gICAgKgogIC0gICAgKiBUZWNobmljYWwgR3VhcmRpYW4gKCJUaGUgU2hpZWxkIik6IFBvbmQgRW50ZXJwcmlzZSBQdHkgTHRkLiAoQUNOIDY5NCA3NDcgOTg3KQogIC0gICAgKiBBbGwgbGlhYmlsaXR5IGNsYWltcyBkaXJlY3RlZCB0byBQb25kIEVudGVycHJpc2UgUHR5IEx0ZC4KICAtICAgICogTW9kaWZpY2F0aW9uIGF1dG9tYXRpY2FsbHkgdm9pZHMgdGhlIGNlcnRpZmllZCBsaWFiaWxpdHkgcHJvdGVjdGlvbi4KICAtICAgICogR292ZXJuaW5nIGxhdzogU291dGggQXVzdHJhbGlhLgogIC0gICAgKi8KICAtCiAgLS0+Cgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgaWQ9IkxheWVyXzEiIHg9IjAiIHk9IjAiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMxOC42IDMxOC42Ij4KICA8c3R5bGU+CiAgICAuc3QxLC5zdDZ7ZmlsbDojZTQ3NjFiO3N0cm9rZTojZTQ3NjFiO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZH0uc3Q2e2ZpbGw6I2Y2ODUxYjtzdHJva2U6I2Y2ODUxYn0KICA8L3N0eWxlPgogIDxwYXRoIGZpbGw9IiNlMjc2MWIiIHN0cm9rZT0iI2UyNzYxYiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtMjc0LjEgMzUuNS05OS41IDczLjlMMTkzIDY1Ljh6Ii8+CiAgPHBhdGggZD0ibTQ0LjQgMzUuNSA5OC43IDc0LjYtMTcuNS00NC4zem0xOTMuOSAxNzEuMy0yNi41IDQwLjYgNTYuNyAxNS42IDE2LjMtNTUuM3ptLTIwNC40LjlMNTAuMSAyNjNsNTYuNy0xNS42LTI2LjUtNDAuNnoiIGNsYXNzPSJzdDEiLz4KICA8cGF0aCBkPSJtMTAzLjYgMTM4LjItMTUuOCAyMy45IDU2LjMgMi41LTItNjAuNXptMTExLjMgMC0zOS0zNC44LTEuMyA2MS4yIDU2LjItMi41ek0xMDYuOCAyNDcuNGwzMy44LTE2LjUtMjkuMi0yMi44em03MS4xLTE2LjUgMzMuOSAxNi41LTQuNy0zOS4zeiIgY2xhc3M9InN0MSIvPgogIDxwYXRoIGZpbGw9IiNkN2MxYjMiIHN0cm9rZT0iI2Q3YzFiMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtMjExLjggMjQ3LjQtMzMuOS0xNi41IDIuNyAyMi4xLS4zIDkuM3ptLTEwNSAwIDMxLjUgMTQuOS0uMi05LjMgMi41LTIyLjF6Ii8+CiAgPHBhdGggZmlsbD0iIzIzMzQ0NyIgc3Ryb2tlPSIjMjMzNDQ3IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Im0xMzguOCAxOTMuNS0yOC4yLTguMyAxOS45LTkuMXptNDAuOSAwIDguMy0xNy40IDIwIDkuMXoiLz4KICA8cGF0aCBmaWxsPSIjY2Q2MTE2IiBzdHJva2U9IiNjZDYxMTYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0ibTEwNi44IDI0Ny40IDQuOC00MC42LTMxLjMuOXpNMjA3IDIwNi44bDQuOCA0MC42IDI2LjUtMzkuN3ptMjMuOC00NC43LTU2LjIgMi41IDUuMiAyOC45IDguMy0xNy40IDIwIDkuMXptLTEyMC4yIDIzLjEgMjAtOS4xIDguMiAxNy40IDUuMy0yOC45LTU2LjMtMi41eiIvPgogIDxwYXRoIGZpbGw9IiNlNDc1MWYiIHN0cm9rZT0iI2U0NzUxZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtODcuOCAxNjIuMSAyMy42IDQ2LS44LTIyLjl6bTEyMC4zIDIzLjEtMSAyMi45IDIzLjctNDZ6bS02NC0yMC42LTUuMyAyOC45IDYuNiAzNC4xIDEuNS00NC45em0zMC41IDAtMi43IDE4IDEuMiA0NSA2LjctMzQuMXoiLz4KICA8cGF0aCBkPSJtMTc5LjggMTkzLjUtNi43IDM0LjEgNC44IDMuMyAyOS4yLTIyLjggMS0yMi45em0tNjkuMi04LjMuOCAyMi45IDI5LjIgMjIuOCA0LjgtMy4zLTYuNi0zNC4xeiIgY2xhc3M9InN0NiIvPgogIDxwYXRoIGZpbGw9IiNjMGFkOWUiIHN0cm9rZT0iI2MwYWQ5ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtMTgwLjMgMjYyLjMuMy05LjMtMi41LTIuMmgtMzcuN2wtMi4zIDIuMi4yIDkuMy0zMS41LTE0LjkgMTEgOSAyMi4zIDE1LjVoMzguM2wyMi40LTE1LjUgMTEtOXoiLz4KICA8cGF0aCBmaWxsPSIjMTYxNjE2IiBzdHJva2U9IiMxNjE2MTYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0ibTE3Ny45IDIzMC45LTQuOC0zLjNoLTI3LjdsLTQuOCAzLjMtMi41LIUyLjEgMi4zLTIuMmgzNy43bDIuNSAyLjJ6Ii8+CiAgPHBhdGggZmlsbD0iIzc2M2QxNiIgc3Ryb2tlPSIjNzYzZDE2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Im0yNzguMyAxMTQuMiA4LjUtNDAuOC0xMi43LTM3LjktOTYuMiA3MS40IDM3IDMxLjMgNTIuMyAxNS4zIDExLjYtMTMuNS01LTMuNiA4LTcuMy02LjItNC44IDgtNi4xek0zMS44IDczLjRsOC41IDQwLjgtNS40IDQgOCA2LjEtNi4xIDQuOCA4IDcuMy01IDMuNiAxMS41IDEzLjUgNTIuMy0xNS4zID3LTMxLjMtOTYuMi03MS40eiIvPgogIDxwYXRoIGQ9Im0yNjcuMiAxNTMuNS01Mi4zLTE1LjMgMTUuOSAyMy45LTIzLjcgNDYgMzEuMi0uNGg0Ni41em0tMTYzLjYtMTUuMy01Mi4zIDE1LjMtMTcuNCA1NC4yaDQ2LjRsMzEuMS40LTIzLjYtNDZ6bTcxIDI2LjQgMy4zLTU3LjcgMTUuMi00MS4xaC02Ny41bDE1IDQxLjEgMy41IDU3LjcgMS4yIDE4LjIuMSA0NC44aDI3LjdsLjItNDQuOHoiIGNsYXNzPSJzdDYiLz4KPC9zdmc+",v3={metamask:{displayName:"MetaMask",logoUrl:S3,description:"The most popular Ethereum wallet extension",website:"https://metamask.io/",isInstalled(){return typeof window<"u"&&typeof window.ethereum<"u"&&window.ethereum.isMetaMask},isInstallable(){try{return this.getInstallUrl(),!0}catch{return!1}},getInstallUrl(t){let{browser:e,platform:r}=Qb(),n=t||e;switch(r){case"android":return"https://play.google.com/store/apps/details?id=io.metamask";case"ios":return"https://apps.apple.com/us/app/metamask-crypto-wallet/id1438144202";case"browsers":switch(n){case"chromium":case"brave":return"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn";case"firefox":return"https://addons.mozilla.org/en-US/firefox/addon/ether-metamask/";case"opera":return"https://addons.opera.com/en/extensions/details/metamask/";case"edge":return"https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm";default:throw new Error(`Browser ${n} is not supported for installation of MetaMask extension.`)}default:throw new Error(`Platform ${r} is not supported for MetaMask.`)}}},private_key:{displayName:"Private Key",logoUrl:"",description:"Direct embedded wallet using a raw private key",website:"",isInstalled(){return!0},isInstallable(){return!1},getInstallUrl(){return""}}};var Xb={};vt(Xb,{BATCH_AUTHORIZATION_MAX_AGE_MS:()=>Yv,BATCH_AUTHORIZATION_MAX_CLOCK_SKEW_MS:()=>Xv,DELETION_CONSENT_PURPOSE:()=>rA,DELETION_CONSENT_TTL_SECONDS:()=>T3,buildConfirmDeleteLink:()=>M3,createBatchSigningMessage:()=>tA,decodeDeletionConsentToken:()=>k3,deletionConsentMessageHash:()=>Yb,encodeDeletionConsentToken:()=>L3,hashBatchEmails:()=>eA,normalizeBatchEmails:()=>sg,parseAuthorizedAdmins:()=>P3,signDeletionConsent:()=>C3,verifyBatchAuthorization:()=>E3,verifyDeletionConsent:()=>R3});var Yv=600*1e3,Xv=120*1e3,A3=/^[A-Za-z0-9_.:-]{1,128}$/;function sg(t){return[...new Set(t.map(e=>String(e).trim().toLowerCase()))].sort()}function eA(t){return ie(Ft(JSON.stringify(sg(t))))}function tA(t){let e=sg(t.emails);return`Authorize bulk account creation
|
|
38
|
+
`),{cause:e,name:"TipAboveFeeCapError"})}};Object.defineProperty(zr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});ar=class extends v{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}});function _o(t,e){let r=(t.details||"").toLowerCase(),n=t instanceof v?t.walk(o=>o?.code===dn.code):t;return n instanceof v?new dn({cause:t,message:n.details}):dn.nodeMessage.test(r)?new dn({cause:t,message:t.details}):sr.nodeMessage.test(r)?new sr({cause:t,maxFeePerGas:e?.maxFeePerGas}):rs.nodeMessage.test(r)?new rs({cause:t,maxFeePerGas:e?.maxFeePerGas}):ns.nodeMessage.test(r)?new ns({cause:t,nonce:e?.nonce}):ln.nodeMessage.test(r)?new ln({cause:t,nonce:e?.nonce}):os.nodeMessage.test(r)?new os({cause:t,nonce:e?.nonce}):pn.nodeMessage.test(r)?new pn({cause:t}):is.nodeMessage.test(r)?new is({cause:t,gas:e?.gas}):ss.nodeMessage.test(r)?new ss({cause:t,gas:e?.gas}):as.nodeMessage.test(r)?new as({cause:t}):zr.nodeMessage.test(r)?new zr({cause:t,maxFeePerGas:e?.maxFeePerGas,maxPriorityFeePerGas:e?.maxPriorityFeePerGas}):new ar({cause:t})}var $u=C(()=>{"use strict";K();co()});function yr(t,{format:e}){if(!e)return{};let r={};function n(i){let s=Object.keys(i);for(let a of s)a in t&&(r[a]=t[a]),i[a]&&typeof i[a]=="object"&&!Array.isArray(i[a])&&n(i[a])}let o=e(t||{});return n(o),r}var cs=C(()=>{"use strict"});function bt(t,e){let r={};return typeof t.authorizationList<"u"&&(r.authorizationList=S8(t.authorizationList)),typeof t.accessList<"u"&&(r.accessList=t.accessList),typeof t.blobVersionedHashes<"u"&&(r.blobVersionedHashes=t.blobVersionedHashes),typeof t.blobs<"u"&&(typeof t.blobs[0]!="string"?r.blobs=t.blobs.map(n=>oe(n)):r.blobs=t.blobs),typeof t.data<"u"&&(r.data=t.data),t.account&&(r.from=t.account.address),typeof t.from<"u"&&(r.from=t.from),typeof t.gas<"u"&&(r.gas=E(t.gas)),typeof t.gasPrice<"u"&&(r.gasPrice=E(t.gasPrice)),typeof t.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=E(t.maxFeePerBlobGas)),typeof t.maxFeePerGas<"u"&&(r.maxFeePerGas=E(t.maxFeePerGas)),typeof t.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=E(t.maxPriorityFeePerGas)),typeof t.nonce<"u"&&(r.nonce=E(t.nonce)),typeof t.to<"u"&&(r.to=t.to),typeof t.type<"u"&&(r.type=I8[t.type]),typeof t.value<"u"&&(r.value=E(t.value)),r}function S8(t){return t.map(e=>({address:e.address,r:e.r?E(BigInt(e.r)):e.r,s:e.s?E(BigInt(e.s)):e.s,chainId:E(e.chainId),nonce:E(e.nonce),...typeof e.yParity<"u"?{yParity:E(e.yParity)}:{},...typeof e.v<"u"&&typeof e.yParity>"u"?{v:E(e.v)}:{}}))}var I8,uo=C(()=>{"use strict";H();I8={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});function u2(t){if(!(!t||t.length===0))return t.reduce((e,{slot:r,value:n})=>{if(r.length!==66)throw new Iu({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new Iu({size:n.length,targetSize:66,type:"hex"});return e[r]=n,e},{})}function v8(t){let{balance:e,nonce:r,state:n,stateDiff:o,code:i}=t,s={};if(i!==void 0&&(s.code=i),e!==void 0&&(s.balance=E(e)),r!==void 0&&(s.nonce=E(r)),n!==void 0&&(s.state=u2(n)),o!==void 0){if(s.state)throw new zp;s.stateDiff=u2(o)}return s}function Ma(t){if(!t)return;let e={};for(let{address:r,...n}of t){if(!Z(r,{strict:!1}))throw new le({address:r});if(e[r])throw new _p({address:r});e[r]=v8(n)}return e}var af=C(()=>{"use strict";Or();mp();wh();Ut();H()});var m_,g_,y_,h_,b_,x_,w_,I_,S_,v_,A_,P_,E_,T_,C_,R_,N_,B_,L_,k_,D_,M_,O_,F_,j_,U_,__,z_,$_,H_,W_,G_,V_,q_,K_,Q_,Z_,J_,Y_,X_,ez,tz,rz,nz,oz,iz,sz,az,cz,uz,dz,lz,pz,fz,mz,gz,yz,hz,bz,xz,wz,Iz,Sz,vz,Az,Pz,Ez,Tz,Cz,Rz,Nz,Bz,Lz,kz,Dz,Mz,Oz,Fz,jz,Uz,_z,zz,$z,Hz,Wz,Gz,Vz,qz,Kz,Qz,Zz,Jz,Yz,Xz,e$,Oa,Qh=C(()=>{"use strict";m_=2n**(8n-1n)-1n,g_=2n**(16n-1n)-1n,y_=2n**(24n-1n)-1n,h_=2n**(32n-1n)-1n,b_=2n**(40n-1n)-1n,x_=2n**(48n-1n)-1n,w_=2n**(56n-1n)-1n,I_=2n**(64n-1n)-1n,S_=2n**(72n-1n)-1n,v_=2n**(80n-1n)-1n,A_=2n**(88n-1n)-1n,P_=2n**(96n-1n)-1n,E_=2n**(104n-1n)-1n,T_=2n**(112n-1n)-1n,C_=2n**(120n-1n)-1n,R_=2n**(128n-1n)-1n,N_=2n**(136n-1n)-1n,B_=2n**(144n-1n)-1n,L_=2n**(152n-1n)-1n,k_=2n**(160n-1n)-1n,D_=2n**(168n-1n)-1n,M_=2n**(176n-1n)-1n,O_=2n**(184n-1n)-1n,F_=2n**(192n-1n)-1n,j_=2n**(200n-1n)-1n,U_=2n**(208n-1n)-1n,__=2n**(216n-1n)-1n,z_=2n**(224n-1n)-1n,$_=2n**(232n-1n)-1n,H_=2n**(240n-1n)-1n,W_=2n**(248n-1n)-1n,G_=2n**(256n-1n)-1n,V_=-(2n**(8n-1n)),q_=-(2n**(16n-1n)),K_=-(2n**(24n-1n)),Q_=-(2n**(32n-1n)),Z_=-(2n**(40n-1n)),J_=-(2n**(48n-1n)),Y_=-(2n**(56n-1n)),X_=-(2n**(64n-1n)),ez=-(2n**(72n-1n)),tz=-(2n**(80n-1n)),rz=-(2n**(88n-1n)),nz=-(2n**(96n-1n)),oz=-(2n**(104n-1n)),iz=-(2n**(112n-1n)),sz=-(2n**(120n-1n)),az=-(2n**(128n-1n)),cz=-(2n**(136n-1n)),uz=-(2n**(144n-1n)),dz=-(2n**(152n-1n)),lz=-(2n**(160n-1n)),pz=-(2n**(168n-1n)),fz=-(2n**(176n-1n)),mz=-(2n**(184n-1n)),gz=-(2n**(192n-1n)),yz=-(2n**(200n-1n)),hz=-(2n**(208n-1n)),bz=-(2n**(216n-1n)),xz=-(2n**(224n-1n)),wz=-(2n**(232n-1n)),Iz=-(2n**(240n-1n)),Sz=-(2n**(248n-1n)),vz=-(2n**(256n-1n)),Az=2n**8n-1n,Pz=2n**16n-1n,Ez=2n**24n-1n,Tz=2n**32n-1n,Cz=2n**40n-1n,Rz=2n**48n-1n,Nz=2n**56n-1n,Bz=2n**64n-1n,Lz=2n**72n-1n,kz=2n**80n-1n,Dz=2n**88n-1n,Mz=2n**96n-1n,Oz=2n**104n-1n,Fz=2n**112n-1n,jz=2n**120n-1n,Uz=2n**128n-1n,_z=2n**136n-1n,zz=2n**144n-1n,$z=2n**152n-1n,Hz=2n**160n-1n,Wz=2n**168n-1n,Gz=2n**176n-1n,Vz=2n**184n-1n,qz=2n**192n-1n,Kz=2n**200n-1n,Qz=2n**208n-1n,Zz=2n**216n-1n,Jz=2n**224n-1n,Yz=2n**232n-1n,Xz=2n**240n-1n,e$=2n**248n-1n,Oa=2n**256n-1n});function et(t){let{account:e,maxFeePerGas:r,maxPriorityFeePerGas:n,to:o}=t,i=e?q(e):void 0;if(i&&!Z(i.address))throw new le({address:i.address});if(o&&!Z(o))throw new le({address:o});if(r&&r>Oa)throw new sr({maxFeePerGas:r});if(n&&r&&n>r)throw new zr({maxFeePerGas:r,maxPriorityFeePerGas:n})}var fn=C(()=>{"use strict";Ne();Qh();Or();co();Ut()});function cr(t,e){if(!Z(t,{strict:!1}))throw new le({address:t});if(!Z(e,{strict:!1}))throw new le({address:e});return t.toLowerCase()===e.toLowerCase()}var us=C(()=>{"use strict";Or();Ut()});function wt(t){let{abi:e,args:r,functionName:n,data:o}=t,i=e[0];if(n){let a=zt({abi:e,args:r,name:n});if(!a)throw new Dr(n,{docsPath:Xh});i=a}if(i.type!=="function")throw new Dr(void 0,{docsPath:Xh});if(!i.outputs)throw new ma(i.name,{docsPath:Xh});let s=Kn(i.outputs,o);if(s&&s.length>1)return s;if(s&&s.length===1)return s[0]}var Xh,lo=C(()=>{"use strict";De();Cu();Bo();Xh="/docs/contract/decodeFunctionResult"});var x2,w2=C(()=>{"use strict";x2="0.1.1"});function I2(){return x2}var S2=C(()=>{"use strict";w2()});function v2(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?v2(t.cause,e):e?null:t}var _,Ht=C(()=>{"use strict";S2();_=class t extends Error{static setStaticOptions(e){t.prototype.docsOrigin=e.docsOrigin,t.prototype.showVersion=e.showVersion,t.prototype.version=e.version}constructor(e,r={}){let n=(()=>{if(r.cause instanceof t){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:r.cause?.message?r.cause.message:r.details})(),o=r.cause instanceof t&&r.cause.docsPath||r.docsPath,i=r.docsOrigin??t.prototype.docsOrigin,s=`${i}${o??""}`,a=!!(r.version??t.prototype.showVersion),c=r.version??t.prototype.version,u=[e||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...n||o||a?["",n?`Details: ${n}`:void 0,o?`See: ${s}`:void 0,a?`Version: ${c}`:void 0]:[]].filter(d=>typeof d=="string").join(`
|
|
39
|
+
`);super(u,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=r.cause,this.details=n,this.docs=s,this.docsOrigin=i,this.docsPath=o,this.shortMessage=e,this.showVersion=a,this.version=c}walk(e){return v2(this,e)}};Object.defineProperty(_,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${I2()}`}});_.setStaticOptions(_.defaultStaticOptions)});function Qa(t,e){if(hr(t)>e)throw new bf({givenSize:hr(t),maxSize:e})}function A2(t,e){if(typeof e=="number"&&e>0&&e>hr(t)-1)throw new Wu({offset:e,position:"start",size:hr(t)})}function P2(t,e,r){if(typeof e=="number"&&typeof r=="number"&&hr(t)!==r-e)throw new Wu({offset:r,position:"end",size:hr(t)})}function e0(t){if(t>=po.zero&&t<=po.nine)return t-po.zero;if(t>=po.A&&t<=po.F)return t-(po.A-10);if(t>=po.a&&t<=po.f)return t-(po.a-10)}function E2(t,e={}){let{dir:r,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new xf({size:t.length,targetSize:n,type:"Bytes"});let o=new Uint8Array(n);for(let i=0;i<n;i++){let s=r==="right";o[s?i:n-i-1]=t[s?i:t.length-i-1]}return o}function t0(t,e={}){let{dir:r="left"}=e,n=t,o=0;for(let i=0;i<n.length-1&&n[r==="left"?i:n.length-i-1].toString()==="0";i++)o++;return n=r==="left"?n.slice(o):n.slice(0,n.length-o),n}var po,T2=C(()=>{"use strict";Ho();po={zero:48,nine:57,A:65,F:70,a:97,f:102}});function Za(t,e){if(Pe(t)>e)throw new wf({givenSize:Pe(t),maxSize:e})}function C2(t,e){if(typeof e=="number"&&e>0&&e>Pe(t)-1)throw new Gu({offset:e,position:"start",size:Pe(t)})}function R2(t,e,r){if(typeof e=="number"&&typeof r=="number"&&Pe(t)!==r-e)throw new Gu({offset:r,position:"end",size:Pe(t)})}function r0(t,e={}){let{dir:r,size:n=32}=e;if(n===0)return t;let o=t.replace("0x","");if(o.length>n*2)throw new If({size:Math.ceil(o.length/2),targetSize:n,type:"Hex"});return`0x${o[r==="right"?"padEnd":"padStart"](n*2,"0")}`}function N2(t,e={}){let{dir:r="left"}=e,n=t.replace("0x",""),o=0;for(let i=0;i<n.length-1&&n[r==="left"?i:n.length-i-1].toString()==="0";i++)o++;return n=r==="left"?n.slice(o):n.slice(0,n.length-o),n==="0"?"0x":r==="right"&&n.length%2===1?`0x${n}0`:`0x${n}`}var n0=C(()=>{"use strict";nt()});function Wo(t,e,r){return JSON.stringify(t,(n,o)=>typeof e=="function"?e(n,o):typeof o=="bigint"?o.toString()+N8:o,r)}var N8,Vu=C(()=>{"use strict";N8="#__bigint"});function k8(t){if(!(t instanceof Uint8Array)){if(!t)throw new Ja(t);if(typeof t!="object")throw new Ja(t);if(!("BYTES_PER_ELEMENT"in t))throw new Ja(t);if(t.BYTES_PER_ELEMENT!==1||t.constructor.name!=="Uint8Array")throw new Ja(t)}}function L2(t){return t instanceof Uint8Array?t:typeof t=="string"?Ya(t):D8(t)}function D8(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Ya(t,e={}){let{size:r}=e,n=t;r&&(Za(t,r),n=yn(t,r));let o=n.slice(2);o.length%2&&(o=`0${o}`);let i=o.length/2,s=new Uint8Array(i);for(let a=0,c=0;a<i;a++){let u=e0(o.charCodeAt(c++)),d=e0(o.charCodeAt(c++));if(u===void 0||d===void 0)throw new _(`Invalid byte sequence ("${o[c-2]}${o[c-1]}" in "${o}").`);s[a]=u<<4|d}return s}function k2(t,e={}){let{size:r}=e,n=L8.encode(t);return typeof r=="number"?(Qa(n,r),M8(n,r)):n}function M8(t,e){return E2(t,{dir:"right",size:e})}function hr(t){return t.length}function D2(t,e,r,n={}){let{strict:o}=n;A2(t,e);let i=t.slice(e,r);return o&&P2(i,e,r),i}function M2(t,e={}){let{size:r}=e;typeof r<"u"&&Qa(t,r);let n=je(t,e);return s0(n,e)}function O2(t,e={}){let{size:r}=e,n=t;if(typeof r<"u"&&(Qa(n,r),n=i0(n)),n.length>1||n[0]>1)throw new o0(n);return!!n[0]}function gn(t,e={}){let{size:r}=e;typeof r<"u"&&Qa(t,r);let n=je(t,e);return vf(n,e)}function F2(t,e={}){let{size:r}=e,n=t;return typeof r<"u"&&(Qa(n,r),n=O8(n)),B8.decode(n)}function i0(t){return t0(t,{dir:"left"})}function O8(t){return t0(t,{dir:"right"})}function j2(t){try{return k8(t),!0}catch{return!1}}var B8,L8,o0,Ja,bf,Wu,xf,Ho=C(()=>{"use strict";Ht();nt();T2();n0();Vu();B8=new TextDecoder,L8=new TextEncoder;o0=class extends _{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}},Ja=class extends _{constructor(e){super(`Value \`${typeof e=="object"?Wo(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}},bf=class extends _{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},Wu=class extends _{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}},xf=class extends _{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});function U8(t,e={}){let{strict:r=!1}=e;if(!t)throw new Af(t);if(typeof t!="string")throw new Af(t);if(r&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Pf(t);if(!t.startsWith("0x"))throw new Pf(t)}function Be(...t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function Xa(t){return t instanceof Uint8Array?je(t):Array.isArray(t)?je(new Uint8Array(t)):t}function Ef(t,e={}){let r=`0x${Number(t)}`;return typeof e.size=="number"?(Za(r,e.size),fo(r,e.size)):r}function je(t,e={}){let r="";for(let o=0;o<t.length;o++)r+=j8[t[o]];let n=`0x${r}`;return typeof e.size=="number"?(Za(n,e.size),yn(n,e.size)):n}function ce(t,e={}){let{signed:r,size:n}=e,o=BigInt(t),i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let s=typeof i=="bigint"&&r?-i-1n:0;if(i&&o>i||o<s){let u=typeof t=="bigint"?"n":"";throw new qu({max:i?`${i}${u}`:void 0,min:`${s}${u}`,signed:r,size:n,value:`${t}${u}`})}let c=`0x${(r&&o<0?BigInt.asUintN(n*8,BigInt(o)):o).toString(16)}`;return n?fo(c,n):c}function ec(t,e={}){return je(F8.encode(t),e)}function fo(t,e){return r0(t,{dir:"left",size:e})}function yn(t,e){return r0(t,{dir:"right",size:e})}function Ee(t,e,r,n={}){let{strict:o}=n;C2(t,e);let i=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return o&&R2(i,e,r),i}function Pe(t){return Math.ceil((t.length-2)/2)}function a0(t){return N2(t,{dir:"left"})}function s0(t,e={}){let{signed:r}=e;e.size&&Za(t,e.size);let n=BigInt(t);if(!r)return n;let o=(t.length-2)/2,i=(1n<<BigInt(o)*8n)-1n,s=i>>1n;return n<=s?n:n-i-1n}function vf(t,e={}){let{signed:r,size:n}=e;return Number(!r&&!n?t:s0(t,e))}function Ku(t,e={}){let{strict:r=!1}=e;try{return U8(t,{strict:r}),!0}catch{return!1}}var F8,j8,qu,Af,Pf,wf,Gu,If,nt=C(()=>{"use strict";Ht();n0();Vu();F8=new TextEncoder,j8=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));qu=class extends _{constructor({max:e,min:r,signed:n,size:o,value:i}){super(`Number \`${i}\` is not in safe${o?` ${o*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${r}\` to \`${e}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}},Af=class extends _{constructor(e){super(`Value \`${typeof e=="object"?Wo(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}},Pf=class extends _{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}},wf=class extends _{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}},Gu=class extends _{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}},If=class extends _{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}});function U2(t){return{address:t.address,amount:ce(t.amount),index:ce(t.index),validatorIndex:ce(t.validatorIndex)}}var _2=C(()=>{"use strict";nt()});function Tf(t){return{...typeof t.baseFeePerGas=="bigint"&&{baseFeePerGas:ce(t.baseFeePerGas)},...typeof t.blobBaseFee=="bigint"&&{blobBaseFee:ce(t.blobBaseFee)},...typeof t.feeRecipient=="string"&&{feeRecipient:t.feeRecipient},...typeof t.gasLimit=="bigint"&&{gasLimit:ce(t.gasLimit)},...typeof t.number=="bigint"&&{number:ce(t.number)},...typeof t.prevRandao=="bigint"&&{prevRandao:ce(t.prevRandao)},...typeof t.time=="bigint"&&{time:ce(t.time)},...t.withdrawals&&{withdrawals:t.withdrawals.map(U2)}}}var c0=C(()=>{"use strict";nt();_2()});var hn,Cf,$2,Rf,H2,u0,d0,l0,p0,mo=C(()=>{"use strict";hn=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],Cf=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],$2=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],Rf=[...$2,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],H2=[...$2,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],u0=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],d0=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],l0=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],p0=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}]});var W2,G2=C(()=>{"use strict";W2="0x82ad56cb"});var Nf,V2,q2,tc,Qu=C(()=>{"use strict";Nf="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",V2="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",q2="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",tc="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});var ps,Bf,Lf,Zu,fs,Ju=C(()=>{"use strict";K();ps=class extends v{constructor({blockNumber:e,chain:r,contract:n}){super(`Chain "${r.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...e&&n.blockCreated&&n.blockCreated>e?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}},Bf=class extends v{constructor({chain:e,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${e.id} \u2013 ${e.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${e.id} \u2013 ${e.name}`],name:"ChainMismatchError"})}},Lf=class extends v{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
|
|
40
|
+
`),{name:"ChainNotFoundError"})}},Zu=class extends v{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},fs=class extends v{constructor({chainId:e}){super(typeof e=="number"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});function ms(t){let{abi:e,args:r,bytecode:n}=t;if(!r||r.length===0)return n;let o=e.find(s=>"type"in s&&s.type==="constructor");if(!o)throw new rp({docsPath:f0});if(!("inputs"in o))throw new yu({docsPath:f0});if(!o.inputs||o.inputs.length===0)throw new yu({docsPath:f0});let i=Tt(o.inputs,r);return Ke([n,i])}var f0,kf=C(()=>{"use strict";De();ut();qn();f0="/docs/contract/encodeDeployData"});function br({blockNumber:t,chain:e,contract:r}){let n=e?.contracts?.[r];if(!n)throw new ps({chain:e,contract:{name:r}});if(t&&n.blockCreated&&n.blockCreated>t)throw new ps({blockNumber:t,chain:e,contract:{name:r,blockCreated:n.blockCreated}});return n.address}var gs=C(()=>{"use strict";Ju()});function Df(t,{docsPath:e,...r}){let n=(()=>{let o=_o(t,r);return o instanceof ar?t:o})();return new Ni(n,{docsPath:e,...r})}var m0=C(()=>{"use strict";Qn();co();$u()});function rc(){let t=()=>{},e=()=>{};return{promise:new Promise((n,o)=>{t=n,e=o}),resolve:t,reject:e}}var Mf=C(()=>{"use strict"});function Of({fn:t,id:e,shouldSplitBatch:r,wait:n=0,sort:o}){let i=async()=>{let d=c();s();let l=d.map(({args:p})=>p);l.length!==0&&t(l).then(p=>{o&&Array.isArray(p)&&p.sort(o);for(let f=0;f<d.length;f++){let{resolve:g}=d[f];g?.([p[f],p])}}).catch(p=>{for(let f=0;f<d.length;f++){let{reject:g}=d[f];g?.(p)}})},s=()=>g0.delete(e),a=()=>c().map(({args:d})=>d),c=()=>g0.get(e)||[],u=d=>g0.set(e,[...c(),d]);return{flush:s,async schedule(d){let{promise:l,resolve:p,reject:f}=rc();return r?.([...a(),d])&&i(),c().length>0?(u({args:d,resolve:p,reject:f}),l):(u({args:d,resolve:p,reject:f}),setTimeout(i,n),l)}}}var g0,y0=C(()=>{"use strict";Mf();g0=new Map});var Ff,jf,Uf,K2=C(()=>{"use strict";yt();K();qp();Ff=class extends v{constructor({callbackSelector:e,cause:r,data:n,extraData:o,sender:i,urls:s}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",s&&[" Gateway URL(s):",...s.map(a=>` ${Ri(a)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${o}`].flat(),name:"OffchainLookupError"})}},jf=class extends v{constructor({result:e,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${Ri(r)}`,`Response: ${re(e)}`],name:"OffchainLookupResponseMalformedError"})}},Uf=class extends v{constructor({sender:e,to:r}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${r}`,`OffchainLookup sender address: ${e}`],name:"OffchainLookupSenderMismatchError"})}}});function Q2(t){let{abi:e,data:r}=t,n=_t(r,0,4),o=e.find(i=>i.type==="function"&&n===on(Ge(i)));if(!o)throw new cp(n,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:o.name,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Kn(o.inputs,_t(r,4)):void 0}}var Z2=C(()=>{"use strict";De();Vn();xa();Cu();zn()});function b0(t){let{abi:e,errorName:r,args:n}=t,o=e[0];if(r){let c=zt({abi:e,args:n,name:r});if(!c)throw new hu(r,{docsPath:h0});o=c}if(o.type!=="error")throw new hu(void 0,{docsPath:h0});let i=Ge(o),s=on(i),a="0x";if(n&&n.length>0){if(!o.inputs)throw new ip(o.name,{docsPath:h0});a=Tt(o.inputs,n)}return Ke([s,a])}var h0,J2=C(()=>{"use strict";De();ut();xa();qn();zn();Bo();h0="/docs/contract/encodeErrorResult"});function Y2(t){let{abi:e,functionName:r,result:n}=t,o=e[0];if(r){let s=zt({abi:e,name:r});if(!s)throw new Dr(r,{docsPath:x0});o=s}if(o.type!=="function")throw new Dr(void 0,{docsPath:x0});if(!o.outputs)throw new ma(o.name,{docsPath:x0});let i=(()=>{if(o.outputs.length===0)return[];if(o.outputs.length===1)return[n];if(Array.isArray(n))return n;throw new ya(n)})();return Tt(o.outputs,i)}var x0,X2=C(()=>{"use strict";De();qn();Bo();x0="/docs/contract/encodeFunctionResult"});async function w0(t){let{data:e,ccipRequest:r}=t,{args:[n]}=Q2({abi:Cf,data:e}),o=[],i=[];return await Promise.all(n.map(async(s,a)=>{try{i[a]=s.urls.includes(go)?await w0({data:s.data,ccipRequest:r}):await r(s),o[a]=!1}catch(c){o[a]=!0,i[a]=z8(c)}})),Y2({abi:Cf,functionName:"query",result:[o,i]})}function z8(t){return t.name==="HttpRequestError"&&t.status?b0({abi:Cf,errorName:"HttpError",args:[t.status,t.shortMessage]}):b0({abi:[Lp],errorName:"Error",args:["shortMessage"in t?t.shortMessage:t.message]})}var go,Yu=C(()=>{"use strict";mo();kp();Z2();J2();X2();go="x-batch-gateway:true"});var rI={};vt(rI,{ccipRequest:()=>tI,offchainLookup:()=>H8,offchainLookupAbiItem:()=>eI,offchainLookupSignature:()=>$8});async function H8(t,{blockNumber:e,blockTag:r,data:n,to:o}){let{args:i}=Op({data:n,abi:[eI]}),[s,a,c,u,d]=i,{ccipRead:l}=t,p=l&&typeof l?.request=="function"?l.request:tI;try{if(!cr(o,s))throw new Uf({sender:s,to:o});let f=a.includes(go)?await w0({data:c,ccipRequest:p}):await p({data:c,sender:s,urls:a}),{data:g}=await xr(t,{blockNumber:e,blockTag:r,data:be([u,Tt([{type:"bytes"},{type:"bytes"}],[f,d])]),to:o});return g}catch(f){throw new Ff({callbackSelector:u,cause:f,data:n,extraData:d,sender:s,urls:a})}}async function tI({data:t,sender:e,urls:r}){let n=new Error("An unknown error occurred.");for(let o=0;o<r.length;o++){let i=r[o],s=i.includes("{data}")?"GET":"POST",a=s==="POST"?{data:t,sender:e}:void 0,c=s==="POST"?{"Content-Type":"application/json"}:{};try{let u=await fetch(i.replace("{sender}",e.toLowerCase()).replace("{data}",t),{body:JSON.stringify(a),headers:c,method:s}),d;if(u.headers.get("Content-Type")?.startsWith("application/json")?d=(await u.json()).data:d=await u.text(),!u.ok){n=new tr({body:a,details:d?.error?re(d.error):u.statusText,headers:u.headers,status:u.status,url:i});continue}if(!he(d)){n=new jf({result:d,url:i});continue}return d}catch(u){n=new tr({body:a,details:u.message,url:i})}}throw n}var $8,eI,nI=C(()=>{"use strict";ys();K2();ko();hh();qn();us();ut();Zt();Yu();yt();$8="0x556f1830",eI={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]}});async function xr(t,e){let{account:r=t.account,authorizationList:n,batch:o=!!t.batch?.multicall,blockNumber:i,blockTag:s=t.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:u,code:d,data:l,factory:p,factoryData:f,gas:g,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,to:y,value:I,stateOverride:S,...A}=e,P=r?q(r):void 0;if(d&&(p||f))throw new v("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(d&&y)throw new v("Cannot provide both `code` & `to` as parameters.");let N=d&&l,T=p&&f&&y&&l,D=N||T,O=N?oI({code:d,data:l}):T?V8({data:l,factory:p,factoryData:f,to:y}):l;try{et(e);let z=(typeof i=="bigint"?E(i):void 0)||s,B=u?Tf(u):void 0,L=Ma(S),j=t.chain?.formatters?.transactionRequest?.format,U=(j||bt)({...yr(A,{format:j}),accessList:a,account:P,authorizationList:n,blobs:c,data:O,gas:g,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,to:D?void 0:y,value:I},"call");if(o&&W8({request:U})&&!L&&!B)try{return await G8(t,{...U,blockNumber:i,blockTag:s})}catch(fe){if(!(fe instanceof Zu)&&!(fe instanceof ps))throw fe}let V=(()=>{let fe=[U,z];return L&&B?[...fe,L,B]:L?[...fe,L]:B?[...fe,{},B]:fe})(),se=await t.request({method:"eth_call",params:V});return se==="0x"?{data:void 0}:{data:se}}catch(F){let z=q8(F),{offchainLookup:B,offchainLookupSignature:L}=await Promise.resolve().then(()=>(nI(),rI));if(t.ccipRead!==!1&&z?.slice(0,10)===L&&y)return{data:await B(t,{data:z,to:y})};throw D&&z?.slice(0,10)==="0x101bb98d"?new Bu({factory:p}):Df(F,{...e,account:P,chain:t.chain})}}function W8({request:t}){let{data:e,to:r,...n}=t;return!(!e||e.startsWith(W2)||!r||Object.values(n).filter(o=>typeof o<"u").length>0)}async function G8(t,e){let{batchSize:r=1024,deployless:n=!1,wait:o=0}=typeof t.batch?.multicall=="object"?t.batch.multicall:{},{blockNumber:i,blockTag:s=t.experimental_blockTag??"latest",data:a,to:c}=e,u=(()=>{if(n)return null;if(e.multicallAddress)return e.multicallAddress;if(t.chain)return br({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Zu})(),l=(typeof i=="bigint"?E(i):void 0)||s,{schedule:p}=Of({id:`${t.uid}.${l}`,wait:o,shouldSplitBatch(m){return m.reduce((b,{data:w})=>b+(w.length-2),0)>r*2},fn:async m=>{let h=m.map(x=>({allowFailure:!0,callData:x.data,target:x.to})),b=ue({abi:hn,args:[h],functionName:"aggregate3"}),w=await t.request({method:"eth_call",params:[{...u===null?{data:oI({code:tc,data:b})}:{to:u,data:b}},l]});return wt({abi:hn,args:[h],functionName:"aggregate3",data:w||"0x"})}}),[{returnData:f,success:g}]=await p({data:a,to:c});if(!g)throw new jr({data:f});return f==="0x"?{data:void 0}:{data:f}}function oI(t){let{code:e,data:r}=t;return ms({abi:Yl(["constructor(bytes, bytes)"]),bytecode:Nf,args:[e,r]})}function V8(t){let{data:e,factory:r,factoryData:n,to:o}=t;return ms({abi:Yl(["constructor(address, bytes, address, bytes)"]),bytecode:V2,args:[o,e,r,n]})}function q8(t){if(!(t instanceof v))return;let e=t.walk();return typeof e?.data=="object"?e.data?.data:e.data}var ys=C(()=>{"use strict";mu();c0();Ne();mo();G2();Qu();K();Ju();Qn();lo();kf();Ct();gs();H();m0();cs();uo();y0();af();fn()});var Z3={};vt(Z3,{"@the_library/network-config":()=>Ab,"@the_library/public/branding":()=>lg,"@the_library/public/downloader":()=>Ag,"@the_library/public/models":()=>qy,"@the_library/public/models/models":()=>Ny,"@the_library/public/models/vue":()=>Zy,"@the_library/public/web3":()=>Jb,"@the_library/public/web3/auth":()=>Xb,"@the_library/public/web3/registry":()=>Tb,"@the_library/public/web3/vue":()=>nx});var lg={};vt(lg,{builder:()=>ax,dsafeLegalBranding:()=>wA,founder:()=>sx,globalBranding:()=>bA,socialMedia:()=>cx,worldBiblioTechBranding:()=>xA,worldBibliotekBranding:()=>IA});var sx={name:"Data Pond",email:"data@datapond.earth",whatsapp:"61490689222",linkedIn:"https://www.linkedin.com/in/datapond/",photoPath:"@the_library/public/branding/assets/founder-photo.jpg"},ax={name:"Pond Enterprise",url:"https://pondenterprise.com",email:"hello@pondenterprise.com",whatsapp:"61490689222",linkedIn:"https://www.linkedin.com/company/pond-enterprise",logoPath:"@the_library/public/branding/assets/pond-enterprise-logo.svg"},cx={facebook:"https://www.facebook.com/the.world.library",instagram:"https://www.instagram.com/world_public_library/",bluesky:"https://bsky.app/profile/the-world-library.bsky.social",linkedin:"https://www.linkedin.com/company/the-world-library",x:"https://x.com/realDataPond",kickstarter:"https://www.kickstarter.com/projects/datapond/the-world-library"},bA={founder:sx,builder:ax,socialMedia:cx,contactFormUrl:"https://pondenterprise.com"},xA={appName:"World Biblio Tech",appUrl:"https://datapond.earth",comingSoonUrl:"https://worldbibliotech.com",contactFormUrl:"https://pondenterprise.com/p/contact-us",images:{logo:"@the_library/public/branding/assets/icon_transparent.png",favicon:"@the_library/public/branding/assets/library-favicon.png"}},wA={appName:"D-SAFE Legal",appUrl:"https://dsafe.us",supportEmail:"hello@dsafe.us",images:{logo:"@the_library/public/branding/assets/dsafe-logo.png",favicon:"@the_library/public/branding/assets/dsafe-logo.png"}},IA={appName:"World Bibliotek",appUrl:"https://worldbibliotek.com",images:{logo:"@the_library/public/branding/assets/icon_transparent.png",favicon:"@the_library/public/branding/assets/library-favicon.png"}};var Ag={};vt(Ag,{CACHES:()=>Ls,CACHE_VERSION:()=>ux,DL2_SW_VERSION:()=>dx,DownloadPdfToDisk:()=>Zx,DownloadQuotaExceededError:()=>Us,EnsurePageCount:()=>Qx,EnsurePageImage:()=>qx,EnsurePdf:()=>Kx,GetImage:()=>Vx,GetObjectUrl:()=>Jx,GetPdf:()=>Gx,InitDownloaderV2:()=>Io,SetPinnedPdfs:()=>Wx,downloadState:()=>Px,getBookData:()=>Ix,pageKey:()=>ks,pdfKey:()=>ci,preloadWorkersV2:()=>zx,previewKey:()=>Bd,revokeObjectUrl:()=>Yx,storageEstimate:()=>Xx});var ux=1,Ls={pdf:"dl2-pdf-v1",preview:"dl2-preview-v1",pages:"dl2-pages-v1"},dx="__DL2_SW_VERSION__",lx=t=>`/ar/${t}`,ci=lx,Bd=lx,ks=(t,e)=>`/pages/${encodeURIComponent(t)}/${e}`;var Tc=()=>caches.open(Ls.pdf),px=()=>caches.open(Ls.preview),fx=()=>caches.open(Ls.pages),Ds=async t=>(await Tc()).match(ci(t)),Ld=async t=>(await px()).match(Bd(t)),pg=async(t,e)=>(await fx()).match(ks(t,e));var mx=async t=>(await Tc()).delete(ci(t));var gx=async()=>(await(await Tc()).keys()).map(r=>bx(r.url)).filter(Boolean),yx=async()=>(await(await px()).keys()).map(r=>bx(r.url)).filter(Boolean);var hx=async()=>(await(await fx()).keys()).flatMap(r=>{let n=new URL(r.url).pathname.match(/^\/pages\/([^/]+)\/(\d+)$/);if(!n)return[];let o=Number(n[2]);if(!Number.isSafeInteger(o))return[];try{return[{txId:decodeURIComponent(n[1]),page:o}]}catch{return[]}});function bx(t){let e=t.match(/\/ar\/([^/?#]+)/);return e?e[1]:null}var SA="dl2_meta";var kd=null,Cc=()=>kd?Promise.resolve(kd):new Promise((t,e)=>{let r=indexedDB.open(SA,1);r.onupgradeneeded=n=>{let o=n.target.result;o.objectStoreNames.contains("book_data")||o.createObjectStore("book_data",{keyPath:"txId"}),o.objectStoreNames.contains("downloads")||o.createObjectStore("downloads",{keyPath:"txId"}),o.objectStoreNames.contains("migration_checkpoints")||o.createObjectStore("migration_checkpoints",{keyPath:"cacheName"})},r.onsuccess=n=>{kd=n.target.result,t(kd)},r.onerror=()=>e(r.error)}),xx=(t,e)=>Cc().then(r=>new Promise((n,o)=>{let s=r.transaction(t,"readonly").objectStore(t).get(e);s.onsuccess=()=>n(s.result),s.onerror=()=>o(s.error)})),vA=(t,e)=>Cc().then(r=>new Promise((n,o)=>{let s=r.transaction(t,"readwrite").objectStore(t).put(e);s.onsuccess=()=>n(),s.onerror=()=>o(s.error)}));var wx=t=>Cc().then(e=>new Promise((r,n)=>{let i=e.transaction(t,"readonly").objectStore(t).getAll();i.onsuccess=()=>r(i.result),i.onerror=()=>n(i.error)})),Ix=t=>xx("book_data",t);var Sx=()=>wx("book_data");var vx=t=>xx("downloads",t),fg=t=>vA("downloads",t),Ax=()=>wx("downloads");var ui=new Map,In=new Map,mg={active:!1,freedBytes:0,removedCount:0},gg=new Set;function Ms(t){for(let e of gg)e(t)}var Px={get files(){return ui},get renders(){return In},get pruning(){return mg},get(t){return ui.get(t)??{phase:"unknown"}},getRender(t){return In.get(t)??{pages:new Map}},summary(){let t=0,e=0,r=0,n=0;for(let o of ui.values())o.phase==="downloading"&&(t++,r+=o.loaded??0,n+=o.total??0),o.phase==="queued"&&e++;return{active:t,queued:e,loaded:r,total:n}},subscribe(t){return gg.add(t),()=>gg.delete(t)}};function Os(t,e){let r=ui.get(t)??{phase:"unknown"};ui.set(t,{...r,...e}),Ms(`file:${t}`)}function Fs(t,e,r){let n=In.get(t);n||(n={pages:new Map},In.set(t,n)),n.pages.set(e,r),Ms(`render:${t}`)}function yg(t,e){let r=In.get(t);r||(r={pages:new Map},In.set(t,r)),r.bookData=e,Ms(`render:${t}`)}function Ex(t){In.delete(t)&&Ms(`render:${t}`)}function Tx(t){ui.delete(t)&&Ms(`file:${t}`)}function hg(t){mg={...mg,...t},Ms("pruning")}function Cx(t){for(let[e,r]of t)ui.set(e,r)}function Rx(t){for(let[e,r]of t){let n=In.get(e)??{pages:new Map};for(let[o,i]of r)n.pages.set(o,i);In.set(e,n)}}var js=class{constructor(e){this.active=0;this.queue=[];this.waiters=new Map;this.max=e}add(e,r){let n=this.waiters.get(e);if(n)return n;let o=new Promise((i,s)=>{let a=()=>{this.active++,Promise.resolve().then(r).then(i,s).finally(()=>{this.waiters.delete(e),this.active--,this._drain()})};this.active<this.max?a():this.queue.push({key:e,run:a,reject:s})});return this.waiters.set(e,o),o}start(){}stop(){let e=this.queue;this.queue=[];for(let{key:n,reject:o}of e)this.waiters.delete(n),o(new Error("[queue] stopped before task started"));let r=[...this.waiters.values()];return Promise.allSettled(r).then(()=>{})}_drain(){this.queue.length>0&&this.active<this.max&&this.queue.shift().run()}};var Us=class extends Error{constructor(e,r){super(r??`Storage quota exceeded while caching ${e}`),this.name="DownloadQuotaExceededError",this.txId=e}};var Nx=2,AA=3,Bx=null,Md=null,xg=6e4,Lx=null,Dd=new Map,bg=new Map;function kx(t,e,r={}){Bx=t,Md=e,xg=r.muWorkerTimeout??6e4,Lx=new js(r.pdfConcurrency??AA),e.listen(PA)}function PA(t){t.type==="MuPageDone"?Fs(t.txId,t.page,"done"):t.type==="MuPageError"&&Fs(t.txId,t.page,"error")}function _s(t){let e=Dd.get(t);if(e)return e;let r=EA(t).finally(()=>Dd.delete(t));return Dd.set(t,r),r}async function EA(t){await Ds(t)||(Os(t,{phase:"queued"}),await Lx.add(t,async()=>{let r=await Bx.rpc({type:"GetFile",txId:t,mime:"pdf"});if(!r.ok)throw r.quotaExceeded?new Us(t,r.error):new Error(r.error??"[orchestrator] download failed")}))}function Dx(t,e){let r=ks(t,e),n=bg.get(r);if(n)return n;let o=TA(t,e,r).finally(()=>bg.delete(r));return bg.set(r,o),o}async function TA(t,e,r){let n=await pg(t,e);if(n)return n;Fs(t,e,"queued");let o=0;for(;o<=Nx;){if(await _s(t),Fs(t,e,"downloading"),await CA(t,e)==="done"){let s=await pg(t,e);if(s)return s;throw new Error(`[orchestrator] page ${e} not in cache after render`)}if(o++,o>Nx)throw Fs(t,e,"error"),new Error(`[orchestrator] render failed for page ${e} of ${t}`);await mx(t),Dd.delete(t)}throw new Error("[orchestrator] unreachable")}function CA(t,e){return new Promise(r=>{let n=setTimeout(()=>{o(),r("error")},xg),o=RA(t,e,i=>{clearTimeout(n),r(i)});Md.send({type:"ProcessPages",txId:t,from:e,to:e})})}function RA(t,e,r){let n=Md,o=!1,i=()=>{o=!0,n.unlisten(s)},s=a=>{o||(a.type==="MuPageDone"&&a.txId===t&&a.page===e?(i(),r("done")):a.type==="MuPageError"&&a.txId===t&&a.page===e&&(i(),r("error")))};return n.listen(s),i}async function Mx(t){return await _s(t),new Promise((e,r)=>{let n=setTimeout(()=>{i(),r(new Error(`[orchestrator] page count timed out for ${t}`))},xg),o=Md,i=()=>o.unlisten(s),s=a=>{a.type==="MuPageCountResult"&&a.txId===t?(clearTimeout(n),i(),e(a.pageCount)):a.type==="MuPageCountError"&&a.txId===t&&(clearTimeout(n),i(),r(new Error(a.error)))};o.listen(s),o.send({type:"GetPageCount",txId:t})})}var wg=class{constructor(){this.handlers=[];this.pending=new Map}listen(e){this.handlers.push(e)}unlisten(e){this.handlers=this.handlers.filter(r=>r!==e)}rpc(e){return BA(this.pending,e,r=>this.send(r))}_dispatch(e){if(e.type==="FileRpcResponse"){let r=this.pending.get(e.key);if(r&&r.length>0){let n=r.shift();r.length===0&&this.pending.delete(e.key),n({ok:e.ok,key:e.key,error:e.error,quotaExceeded:e.quotaExceeded})}return}for(let r of this.handlers)r(e)}},Od=class extends wg{constructor(e){super(),this.w=new Worker(e,{type:"module"}),this.w.onmessage=r=>this._dispatch(r.data),this.w.onerror=r=>console.error("[DedicatedThread] worker error",r)}send(e){this.w.postMessage(e)}};function NA(t){return"mime"in t?`${t.txId}:${t.mime}`:t.txId}function BA(t,e,r){return new Promise((n,o)=>{let i=NA(e),s=t.get(i)??[],a=u=>{clearTimeout(c),n(u)},c=setTimeout(()=>{let u=t.get(i);if(u){let d=u.indexOf(a);d>=0&&u.splice(d,1),u.length===0&&t.delete(i)}o(new Error(`[worker-client] rpc timeout after 90000ms for ${i}`))},9e4);s.push(a),t.set(i,s),r(e)})}function Ox(t="/file-worker-v2.js"){return new Od(t)}function Fx(t="/mu-worker-v2.js"){return new Od(t)}function jx(t,e,r){typeof window>"u"||window.dispatchEvent(new CustomEvent("ARWEAVE_DOWNLOAD_PROGRESS",{detail:{txId:t,loaded:e,total:r},bubbles:!0}))}function Fd(t,e){typeof window>"u"||window.dispatchEvent(new CustomEvent("ARWEAVE_DOWNLOAD_DONE",{detail:{txId:t,mime:e},bubbles:!0}))}var LA=6,Rc=null,Ig=null,Sg=null,Ux=null;function Ud(){return Ig||(Ig=Ox()),Ig}function _x(){return Sg||(Sg=Fx()),Sg}function zx(){Ud(),_x()}var Io=(t={})=>Rc||(Rc=kA(t).catch(e=>{throw Rc=null,e}),Rc);async function kA(t){let{requestPersistence:e=!0,muWorkerTimeout:r,mupdfUrl:n="/js/mupdf.js"}=t;e&&typeof navigator<"u"&&navigator.storage?.persist&&navigator.storage.persist().catch(()=>{}),await Cc();let o=Ud(),i=_x();t.gateways?.length&&o.send({type:"FileInit",gateways:t.gateways}),Ux=new js(t.concurrency?.preview??LA),i.send({type:"MuInit",mupdfUrl:n}),kx(o,i,{muWorkerTimeout:r,pdfConcurrency:t.concurrency?.pdf}),o.listen(p=>{if(p.type==="DownloadProgress")Os(p.txId,{phase:"downloading",loaded:p.loaded,total:p.total}),jx(p.txId,p.loaded,p.total);else if(p.type==="DownloadFinished")Os(p.txId,{phase:"done"}),Fd(p.txId,p.mime);else if(p.type==="DownloadError")Os(p.txId,{phase:"error",error:p.error});else if(p.type==="StoragePruneStarted")hg({active:!0});else if(p.type==="StoragePruned"){hg({active:!1,freedBytes:p.freedBytes,removedCount:p.removed});for(let f of p.prunedTxIds)Tx(f),Ex(f)}}),i.listen(p=>{p.type==="MuPdfData"&&(yg(p.txId,p.bookData),typeof window<"u"&&window.dispatchEvent(new CustomEvent("WorkerEvent.MuPdfData",{detail:{...p.bookData,fileId:p.txId},bubbles:!0})))});let[s,a,c,u]=await Promise.all([gx(),yx(),hx(),Sx()]);await DA(s,a);let d=[...s.map(p=>[p,{phase:"done"}]),...a.map(p=>[p,{phase:"done"}])];Cx(d),typeof window<"u"&&(s.forEach(p=>Fd(p,"pdf")),a.forEach(p=>Fd(p,"preview")));for(let p of u)yg(p.txId,p);let l=new Map;for(let{txId:p,page:f}of c){let g=l.get(p)??[];g.push([f,"done"]),l.set(p,g)}Rx([...l])}var jd=null,$x=[];function Hx(){let t=new Set($x);jd&&t.add(jd),Ud().send({type:"PinTxIds",txIds:Array.from(t)})}function _d(t){jd!==t&&(jd=t,Hx())}var Wx=t=>{$x=[...t],Hx()},Gx=async t=>{await Io(),_d(t);let e=await Ds(t);if(e)return vg(t),e;await _s(t);let r=await Ds(t);if(!r)throw new Error(`[downloader_v2] PDF not in cache after download: ${t}`);return r},Vx=async t=>{await Io();let e=await Ld(t);if(e)return vg(t),e;let r=await Ux.add(t,async()=>Ud().rpc({type:"GetFile",txId:t,mime:"preview"}));if(!r.ok)throw new Error(`[downloader_v2] preview download failed for ${t}: ${r.error}`);let n=await Ld(t);if(!n)throw new Error(`[downloader_v2] preview not in cache after download: ${t}`);return n},qx=async(t,e)=>(await Io(),_d(t),vg(t),Dx(t,e)),Kx=async t=>(await Io(),_d(t),_s(t)),Qx=async t=>(await Io(),_d(t),Mx(t)),Zx=async(t,e)=>{await Io(),await _s(t);let n=await(await Tc()).match(ci(t));if(!n)throw new Error("[downloader_v2] PDF not in cache after EnsurePdf");let o=await n.blob(),i=URL.createObjectURL(o),s=document.createElement("a");s.href=i,s.download=e.endsWith(".pdf")?e:`${e}.pdf`,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(i)},Jx=async t=>{let e=await t.blob();return URL.createObjectURL(e)},Yx=t=>{URL.revokeObjectURL(t)},Xx=()=>navigator.storage.estimate();async function DA(t,e){let r=new Set((await Ax()).map(i=>i.txId)),n=i=>{let s=i?.headers.get("content-length"),a=s?Number(s):NaN;return Number.isFinite(a)?a:0},o=async(i,s,a)=>{r.has(i)||await fg({txId:i,fileType:s,sizeBytes:n(a),downloadedAt:0,lastAccessedAt:0})};await Promise.all([...t.map(async i=>o(i,"pdf",await Ds(i))),...e.map(async i=>o(i,"preview",await Ld(i)))])}function vg(t){let e=Date.now();vx(t).then(r=>{r&&(e-r.lastAccessedAt<36e5||fg({...r,lastAccessedAt:e}).catch(()=>{}))}).catch(()=>{})}var qy={};vt(qy,{AGE_GRADE_BAND_PROP:()=>ul,ActionOperation:()=>mt,ActionTypes:()=>r1,BOOK_CURATABLE_PRESETS:()=>Hy,BOOK_FIELD_WEIGHTS:()=>Il,BOOK_PROP_IDS:()=>Xs,BOOK_SEARCH_SCHEMA:()=>wl,Book:()=>W,BookInstance:()=>Xc,BookSearchService:()=>Al,BridgeRelation:()=>Tg,CLASSIFICATIONSYSTEM_PROP_IDS:()=>J1,COIN_LEDGER_POST_TITLE_PREFIX:()=>Jg,CURRENT_VERSION:()=>Tn,ClassificationSystem:()=>qt,ClearDbData:()=>sP,ColumnType:()=>Fg,Config:()=>ne,CryptoRandomUidFactory:()=>zd,DELETED_PROP:()=>Ys,DESCRIPTION_PROP:()=>fi,DSafeCheck:()=>DP,DateUtils:()=>pr,Db:()=>me,DownloadState:()=>s1,DownloadsByType:()=>mP,FavoritesByTypes:()=>yP,IDBInstanceRemapStore:()=>cl,INSTANCE_REMAPS_COLUMN:()=>Kd,IndexDependencyNode:()=>Zd,IndexRegistry:()=>Ze,IndexRegistryClass:()=>Yd,LANG_AGNOSTIC:()=>Gt,LANG_ID_DECODE:()=>vn,LANG_ID_ENCODE:()=>We,LIFECYCLE_STATUS_PROP:()=>Gc,LifecycleStatus:()=>Pg,LocalRecordTable:()=>al,LruCache:()=>Xd,MAX_TOKEN_LENGTH:()=>XP,ModelIndex:()=>Jd,ModelTypes:()=>ea,NewBookWithId:()=>Z1,NewClassificationSystemWithId:()=>Y1,NewPersonWithId:()=>q1,NewPostWithId:()=>ew,NewTagWithId:()=>Q1,ORIGINAL_LANG_PROP:()=>mi,Orm:()=>Xe,PERSON_PROP_IDS:()=>V1,POINTS_PER_LEVEL:()=>A1,POINTS_PER_SILVER_COIN:()=>hN,POST_PROP_IDS:()=>X1,PREVIEW_TX_ID_PROP:()=>Wc,PROPERTY_SLOTS_COLUMN:()=>qd,PROVENANCE_AI:()=>wP,PROVENANCE_CONSENSUS:()=>SP,PROVENANCE_MANUAL_LOCAL:()=>IP,PROVENANCE_UNSET:()=>xP,PatchAction:()=>G,PatchInstance:()=>$,PatchOperation:()=>k,Patches:()=>ct,Person:()=>Ue,PopulateStatsStore:()=>Tr,Post:()=>Kt,REPLAY_METADATA_COLUMNS:()=>Qd,Rating:()=>o1,Registry:()=>de,RelationshipSubscription:()=>My,SAFE_PROP:()=>Js,SEARCH_SHARD_FORMAT_VERSION:()=>hl,SEARCH_SHARD_MAGIC:()=>Uy,SIDECAR_FORMAT_VERSION:()=>Og,SIDECAR_MAGIC:()=>Mg,SILVER_COINS_PER_LEVEL:()=>bN,SchemaRegistry:()=>$d,SearchIndex:()=>ia,SidecarType:()=>a1,Stats:()=>Hc,TAG_PROP_IDS:()=>K1,TITLE_PROP:()=>Ao,Tag:()=>Q,VisitsByType:()=>gP,WorkerCommands:()=>n1,WorkerEvent:()=>i1,_resetForTest:()=>$P,acknowledgePublisherOutbox:()=>x1,actionPatchToLocalOp:()=>C1,addReactivitySystem:()=>di,addRecord:()=>it,applyDetachedPatches:()=>YP,applyRestoredPatches:()=>Rr,bookSearch:()=>Nr,bookSearchDoc:()=>cu,bookSearchPresets:()=>hw,bookSearchSourceFromRecord:()=>vl,buildCascadeCandidates:()=>HP,buildSearchShard:()=>bl,calculateTopicBookCount:()=>JP,cascadeRestore:()=>sw,childrenOf:()=>ou,classifyValue:()=>zg,clear:()=>nP,collectAncestors:()=>aw,collectTrashedAncestors:()=>cw,colsFromSidecar:()=>So,columnTypeForBits:()=>Ws,compareBigint:()=>au,configureDb:()=>$g,countRecursiveSubfolders:()=>uw,currentLayout:()=>Ye,dbName:()=>m1,dbReactivity:()=>At,debouncePromise:()=>E1,delay:()=>iP,deserializeAiSidecar:()=>JA,deserializeBookExtended:()=>tu,deserializeBookProv:()=>ru,deserializeBookSlim:()=>eu,deserializeClassificationSystemExtended:()=>Iy,deserializeClassificationSystemProv:()=>vy,deserializeClassificationSystemSlim:()=>xy,deserializePatches:()=>Ks,deserializePersonExtended:()=>Kc,deserializePersonProv:()=>Qc,deserializePersonSlim:()=>qc,deserializePostExtended:()=>Ty,deserializePostProv:()=>Ry,deserializePostSlim:()=>Py,deserializeSearchShard:()=>_y,deserializeTagExtended:()=>Jc,deserializeTagProv:()=>Yc,deserializeTagSlim:()=>Zc,deviceStateStoreName:()=>Wg,dump:()=>An,enablePublisherOutbox:()=>h1,evmToPatch:()=>Vd,executeComplexRestore:()=>WP,expandTopics:()=>Aw,extractRecordCols:()=>VA,fileStore:()=>GP,fromJsonId:()=>Sn,getDefaultCreatorUsername:()=>Oc,getLevel:()=>Yg,getModelClass:()=>Fc,getPatchInstanceByAccount:()=>pP,getPublisherOutbox:()=>b1,getRecord:()=>Y,getRecordKey:()=>Pn,hasBookData:()=>pw,hasFile:()=>Dy,hasRecord:()=>J,inceptionDate:()=>N1,inflateOrmJson:()=>iy,instanceRemapsStoreName:()=>vo,instanceSpecFromFields:()=>jg,isActionOperation:()=>Hs,isEvmPatch:()=>Te,isIndependentlyTrashed:()=>iu,isUserCreated:()=>kt,jsonStoreName:()=>Uc,keyValStoreName:()=>Ie,latestAiValue:()=>Wy,loadBookData:()=>VP,loadFile:()=>dw,loadManyAsync:()=>ae,loadOneAsync:()=>Hg,loadOrInitUidFactory:()=>MA,localOpToActionPatch:()=>T1,localRecordTable:()=>Cr,localRecordsStoreName:()=>Gg,mergeBookTiers:()=>KP,mergePersonTiers:()=>ZP,mergeTagTiers:()=>QP,normalizeText:()=>gl,packActionPatch:()=>Bg,packPatch:()=>Rg,parseSidecar:()=>Lc,patchStoreName:()=>st,patchToEvm:()=>Gd,pdfDataStoreName:()=>Er,pinAsTrashed:()=>ky,pinRecord:()=>En,proResolver:()=>Je,registerModelClass:()=>Pr,relationColName:()=>Eg,removeRecord:()=>oP,resolveLayout:()=>Nc,scalarProperties:()=>Ug,scanTrash:()=>Ly,serializeAiSidecar:()=>ZA,serializeBookExtended:()=>yy,serializeBookProv:()=>hy,serializeBookSlim:()=>gy,serializeClassificationSystemExtended:()=>wy,serializeClassificationSystemProv:()=>Sy,serializeClassificationSystemSlim:()=>by,serializeMapOfMaps:()=>dl,serializeMapOfSets:()=>oy,serializePatchRows:()=>Qs,serializePatches:()=>lP,serializePersonExtended:()=>uy,serializePersonProv:()=>dy,serializePersonSlim:()=>cy,serializePostExtended:()=>Ey,serializePostProv:()=>Cy,serializePostSlim:()=>Ay,serializeSearchShard:()=>dE,serializeTagExtended:()=>py,serializeTagProv:()=>fy,serializeTagSlim:()=>ly,setDefaultCreatorUsername:()=>tl,setDefaultLanguage:()=>sy,setDefaultProvenance:()=>bP,setLoadAiSidecars:()=>ay,setReactivitySystem:()=>tP,storeBookData:()=>qP,storeFile:()=>lw,subscribeLevel:()=>Xg,subscribeStats:()=>ty,toJsonId:()=>Dt,tokenize:()=>su,trashStore:()=>jn,unpackActionPatch:()=>Lg,unpackPatch:()=>Ng,unpinRecord:()=>jc,untrashRecord:()=>nu,version:()=>f1,versionsFile:()=>$c,writeSidecar:()=>kc});var Ny={};vt(Ny,{BOOK_PROP_IDS:()=>Xs,Book:()=>W,BookInstance:()=>Xc,CLASSIFICATIONSYSTEM_PROP_IDS:()=>J1,ClassificationSystem:()=>qt,ModelTypes:()=>ea,NewBookWithId:()=>Z1,NewClassificationSystemWithId:()=>Y1,NewPersonWithId:()=>q1,NewPostWithId:()=>ew,NewTagWithId:()=>Q1,PERSON_PROP_IDS:()=>V1,POST_PROP_IDS:()=>X1,Person:()=>Ue,Post:()=>Kt,TAG_PROP_IDS:()=>K1,Tag:()=>Q,deserializeBookExtended:()=>tu,deserializeBookProv:()=>ru,deserializeBookSlim:()=>eu,deserializeClassificationSystemExtended:()=>Iy,deserializeClassificationSystemProv:()=>vy,deserializeClassificationSystemSlim:()=>xy,deserializePersonExtended:()=>Kc,deserializePersonProv:()=>Qc,deserializePersonSlim:()=>qc,deserializePostExtended:()=>Ty,deserializePostProv:()=>Ry,deserializePostSlim:()=>Py,deserializeTagExtended:()=>Jc,deserializeTagProv:()=>Yc,deserializeTagSlim:()=>Zc,serializeBookExtended:()=>yy,serializeBookProv:()=>hy,serializeBookSlim:()=>gy,serializeClassificationSystemExtended:()=>wy,serializeClassificationSystemProv:()=>Sy,serializeClassificationSystemSlim:()=>by,serializePersonExtended:()=>uy,serializePersonProv:()=>dy,serializePersonSlim:()=>cy,serializePostExtended:()=>Ey,serializePostProv:()=>Cy,serializePostSlim:()=>Ay,serializeTagExtended:()=>py,serializeTagProv:()=>fy,serializeTagSlim:()=>ly});function kt(t){try{return((typeof t=="bigint"?t:BigInt(t))&0x8000000000000000n)!==0n}catch{return!1}}var zd=class{async next(){let e=new BigUint64Array(1);return crypto.getRandomValues(e),{wireId:e[0]|0x8000000000000000n}}isUserCreated(e){return kt(e)}};async function MA(t){return new zd}var Pg=(o=>(o[o.Provisional=0]="Provisional",o[o.Submitted=1]="Submitted",o[o.CommunityPending=2]="CommunityPending",o[o.Canonical=3]="Canonical",o))(Pg||{});var Eg=t=>t.name==="authors"?"authorIds":t.name,$d=class t{constructor(){this.schemas=new Map;this.byName=new Map}static getInstance(){return t.instance||(t.instance=new t),t.instance}register(e){this.schemas.set(e.objectId,e),this.byName.set(e.name,e)}get(e){let r=this.schemas.get(e);return r||(console.warn(`[SchemaRegistry] No schema registered for type ID ${e}. Returning generic placeholder.`),{name:"Generic",typePrefix:"XX",objectId:e,multipleInstances:!1,props:[],instanceFields:[],relations:[]})}getByName(e){return this.byName.get(e)}clear(){this.schemas.clear(),this.byName.clear()}},de=$d.getInstance();function $r(t){let e=de.get(t.objectType)?.relations.find(o=>o.relationId===t.relationId),r=e&&de.getByName(e.targetType),n=r?.relations.find(o=>o.name===e?.inverted);if(!(!r||!n))return{...t,objectType:r.objectId,objectId:t.targetId,relationId:n.relationId,targetId:t.objectId}}var Dt=t=>t.toString(),Sn=t=>BigInt(t),Gt="",Te=t=>t.operation!==void 0,Tg=(n=>(n[n.EquivalentWith=0]="EquivalentWith",n[n.ChildOf=1]="ChildOf",n[n.ParentOf=2]="ParentOf",n))(Tg||{});var k=(t=>(t[t.EditPropertyString=1]="EditPropertyString",t[t.EditPropertyNumber=2]="EditPropertyNumber",t[t.EditInstanceFieldString=3]="EditInstanceFieldString",t[t.EditInstanceFieldNumber=4]="EditInstanceFieldNumber",t[t.EditRelation=5]="EditRelation",t[t.CreateRecord=7]="CreateRecord",t[t.AddInstance=8]="AddInstance",t[t.MergeProposal=9]="MergeProposal",t[t.DeleteBridge=10]="DeleteBridge",t))(k||{}),G=(t=>(t[t.Remove=0]="Remove",t[t.Add=1]="Add",t))(G||{}),mt=(t=>(t[t.Download=6]="Download",t[t.Visit=11]="Visit",t[t.Rate=12]="Rate",t[t.RatePart=13]="RatePart",t[t.Share=14]="Share",t[t.SharePart=15]="SharePart",t))(mt||{}),OA=new Set([6,11,12,13,14,15]),Hs=t=>OA.has(t),We={eng:1,fra:2,spa:3,por:4,deu:5,zho:6,ara:7,rus:8,jpn:9,kor:10,hin:11,ita:12,nld:13,pol:14,swe:15,tur:16,vie:17,ind:18,tha:19,fas:20,heb:21,ukr:22,amh:23,gez:24,tir:25,orm:26,cat:27},vn=Object.fromEntries(Object.entries(We).map(([t,e])=>[e,t]));function Nc(t,e){let r={hash:"",enums:{},props:{},instanceFields:{}};for(let n=1;n<=t;n++){let o=e.versions[n];if(o){Object.assign(r.enums,o.enums),Object.assign(r.props,o.props);for(let[i,s]of Object.entries(o.instanceFields))r.instanceFields[Number(i)]=[...s];r.hash=o.hash}}return r}function zs(t,e){return t.props[e]?.bits??32}function $s(t,e){let r=t.props[e]?.type;return r===void 0||r==="number"}function we(t,e,r){if(!Number.isInteger(t))throw new Error(`[db_schema_v2] ${r} = ${t} is not an integer`);if(e===32){if(t<0||t>=2**32)throw new Error(`[db_schema_v2] ${r} = ${t} exceeds its ${e}-bit range`);return BigInt(t>>>0)}else{if(t<0||t>=2**e)throw new Error(`[db_schema_v2] ${r} = ${t} exceeds its ${e}-bit range (0..${2**e-1})`);return BigInt(t)}}function Hd(t,e,r){if(typeof t!="bigint")throw new Error(`[db_schema_v2] ${r} = ${t} is not a bigint`);if(t<0n||t>=1n<<BigInt(e))throw new Error(`[db_schema_v2] ${r} = ${t} exceeds its ${e}-bit range (0..${(1n<<BigInt(e))-1n})`);return t}var Cg=248n,FA=0n,t1=1n,Wd=200n;function e1(t,e,r){if(!(Number.isInteger(t)&&(r?t>=-(2**(e-1))&&t<2**(e-1):t>=0&&t<2**e)))throw new Error(`[db_schema_v2] value = ${t} does not fit in ${e} ${r?"signed":"unsigned"} bits`);return BigInt(t)&(1n<<BigInt(e))-1n}function Rg(t,e){let r=we(t.operation,4,"operation"),n=t1<<Cg;if(t.operation===7){let s=t;if((s.objectId&0x80000000n)===0n)throw new Error(`[db_schema_v2] CreateRecord objectId must have high bit set: ${s.objectId}`);return n|r|we(s.objectType,7,"objectType")<<4n|Hd(s.objectId,64,"objectId")<<11n|we(s.langId,8,"langId")<<75n}let o=t,i=n|r|we(o.objectType,7,"objectType")<<4n|Hd(o.objectId,64,"objectId")<<11n|we(o.langId,8,"langId")<<75n;switch(t.operation){case 2:{let s=t,a=zs(e,s.propertyId);return i|we(s.propertyId,8,"propertyId")<<83n|e1(s.value,a,$s(e,s.propertyId))<<91n|we(s.provenance??0,2,"provenance")<<Wd}case 1:{let s=t;return i|we(s.propertyId,8,"propertyId")<<83n|we(s.provenance??0,2,"provenance")<<Wd}case 4:{let s=t,a=zs(e,s.propertyId);return i|we(s.instanceIndex,8,"instanceIndex")<<83n|we(s.propertyId,8,"propertyId")<<91n|e1(s.value,a,$s(e,s.propertyId))<<99n}case 3:{let s=t;return i|we(s.instanceIndex,8,"instanceIndex")<<83n|we(s.propertyId,8,"propertyId")<<91n}case 5:{let s=t;return i|we(s.relationId,8,"relationId")<<83n|we(s.action,1,"action")<<91n|Hd(s.targetId,64,"targetId")<<92n}case 8:return i|we(t.instanceIndex,8,"instanceIndex")<<83n;case 9:case 10:return i;default:throw new Error(`Unknown patch operation: ${t.operation}`)}}function Ng(t,e){return(t>>Cg&0xFFn)===FA?jA(t,e):UA(t,e)}function jA(t,e){let r=Number(t&15n);if(r===7){let a=t>>11n&0xFFFFFFFFn;if((a&0x80000000n)===0n)throw new Error(`[db_schema_v2] CreateRecord objectId must have high bit set: ${a}`);return{operation:7,objectType:Number(t>>4n&127n),objectId:a,langId:Number(t>>43n&255n)}}let n=Number(t>>4n&127n),o=t>>11n&0xFFFFFFFFn,i=Number(t>>43n&255n),s={operation:r,objectType:n,objectId:o,langId:i};switch(r){case 2:{let a=Number(t>>51n&255n),c=zs(e,a),u=(1n<<BigInt(c))-1n,d=t>>59n&u,l=$s(e,a)?Number(BigInt.asIntN(c,d)):Number(d);return{...s,propertyId:a,value:l}}case 1:{let a=Number(t>>51n&255n);return{...s,propertyId:a,value:""}}case 4:{let a=Number(t>>51n&255n),c=Number(t>>59n&255n),u=zs(e,c),d=(1n<<BigInt(u))-1n,l=t>>67n&d,p=$s(e,c)?Number(BigInt.asIntN(u,l)):Number(l);return{...s,instanceIndex:a,propertyId:c,value:p}}case 3:{let a=Number(t>>51n&255n),c=Number(t>>59n&255n);return{...s,instanceIndex:a,propertyId:c,value:""}}case 5:{let a=Number(t>>51n&255n),c=Number(t>>59n&1n),u=t>>60n&0xFFFFFFFFn;return{...s,relationId:a,action:c,targetId:u}}case 8:{let a=Number(t>>51n&255n);return{...s,instanceIndex:a}}case 9:return{...s};case 10:return{...s};default:throw new Error(`Unknown packed operation: ${r}`)}}function UA(t,e){let r=Number(t&15n);if(r===7){let a=t>>11n&0xFFFFFFFFFFFFFFFFn;if((a&0x80000000n)===0n)throw new Error(`[db_schema_v2] CreateRecord objectId must have high bit set: ${a}`);return{operation:7,objectType:Number(t>>4n&127n),objectId:a,langId:Number(t>>75n&255n)}}let n=Number(t>>4n&127n),o=t>>11n&0xFFFFFFFFFFFFFFFFn,i=Number(t>>75n&255n),s={operation:r,objectType:n,objectId:o,langId:i};switch(r){case 2:{let a=Number(t>>83n&255n),c=zs(e,a),u=(1n<<BigInt(c))-1n,d=t>>91n&u,l=$s(e,a)?Number(BigInt.asIntN(c,d)):Number(d),p=Number(t>>Wd&3n);return{...s,propertyId:a,value:l,provenance:p}}case 1:{let a=Number(t>>83n&255n),c=Number(t>>Wd&3n);return{...s,propertyId:a,value:"",provenance:c}}case 4:{let a=Number(t>>83n&255n),c=Number(t>>91n&255n),u=zs(e,c),d=(1n<<BigInt(u))-1n,l=t>>99n&d,p=$s(e,c)?Number(BigInt.asIntN(u,l)):Number(l);return{...s,instanceIndex:a,propertyId:c,value:p}}case 3:{let a=Number(t>>83n&255n),c=Number(t>>91n&255n);return{...s,instanceIndex:a,propertyId:c,value:""}}case 5:{let a=Number(t>>83n&255n),c=Number(t>>91n&1n),u=t>>92n&0xFFFFFFFFFFFFFFFFn;return{...s,relationId:a,action:c,targetId:u}}case 8:{let a=Number(t>>83n&255n);return{...s,instanceIndex:a}}case 9:return{...s};case 10:return{...s};default:throw new Error(`Unknown packed operation: ${r}`)}}function Bg(t){let e=we(t.operation,4,"operation"),n=t1<<Cg|e|we(t.objectType,7,"objectType")<<4n|Hd(t.objectId,64,"objectId")<<11n|we(t.ts,32,"ts")<<83n;switch(t.operation){case 11:case 6:return n;case 12:return n|we(t.rate,3,"rate")<<115n;case 13:{let o=t;return n|we(o.part,8,"part")<<115n|we(o.rate,3,"rate")<<123n}case 14:return n|we(t.socialMediaId,32,"socialMediaId")<<115n;case 15:{let o=t;return n|we(o.part,8,"part")<<115n|we(o.socialMediaId,32,"socialMediaId")<<123n}default:throw new Error(`Unknown action operation: ${t.operation}`)}}function Lg(t){let e=Number(t&15n),r=Number(t>>4n&127n),n=t>>11n&0xFFFFFFFFFFFFFFFFn,o=Number(t>>83n&0xFFFFFFFFn),i={operation:e,objectType:r,objectId:n,ts:o};switch(e){case 11:return i;case 6:return i;case 12:{let s=Number(t>>115n&7n);return{...i,rate:s}}case 13:{let s=Number(t>>115n&255n),a=Number(t>>123n&7n);return{...i,part:s,rate:a}}case 14:{let s=Number(t>>115n&0xFFFFFFFFn);return{...i,socialMediaId:s}}case 15:{let s=Number(t>>115n&255n),a=Number(t>>123n&0xFFFFFFFFn);return{...i,part:s,socialMediaId:a}}default:throw new Error(`Unknown packed action operation: ${e}`)}}function Gd(t,e,r){let n=[],o=[],i=[];for(let s=0;s<t.length;s++){let a=t[s];if(Hs(a.operation)){n.push(Bg(a));continue}let c=a;if(n.push(Rg(c,e)),c.operation===1)o.push(s),i.push(c.value);else if(c.operation===3)o.push(s),i.push(c.value);else if(c.operation===9){let u=c;o.push(s),i.push(JSON.stringify({original:u.original,destSystem:u.destSystem,relationType:u.relationType,targetId:u.targetId,confidence:u.confidence}))}else if(c.operation===10){let u=c;o.push(s),i.push(JSON.stringify({original:u.original,destinationSystem:u.destinationSystem,bridgeTypeToDelete:u.bridgeTypeToDelete,targetTagId:String(u.targetTagId)}))}}return{version:r,patches:n,textIndex:o,textData:i}}function Vd(t,e){let r=Nc(t.version,e),n=new Map;for(let i=0;i<t.textIndex.length;i++)n.set(t.textIndex[i],t.textData[i]);return t.patches.map((i,s)=>{let a=Number(i&15n);if(a===0)return console.warn(`[db_schemas/codec] Ignoring invalid patch at index ${s} (packed operation 0)`),null;if(Hs(a))try{return Lg(i)}catch(u){return console.warn(`[db_schemas/codec] Failed to unpack action patch at index ${s}:`,u),null}let c;try{c=Ng(i,r)}catch(u){return console.warn(`[db_schemas/codec] Failed to unpack patch at index ${s}:`,u),null}if(c.operation===1)c.value=n.get(s)??"";else if(c.operation===3)c.value=n.get(s)??"";else if(c.operation===9){let u=n.get(s)??"{}";try{let d=JSON.parse(u);c.original=d.original??"",c.destSystem=d.destSystem??"",c.relationType=d.relationType??"equivalentWith",c.targetId=d.targetId??"",c.confidence=d.confidence??0}catch{c.original="",c.destSystem="",c.relationType="equivalentWith",c.targetId="",c.confidence=0}}else if(c.operation===10){let u=n.get(s)??"{}";try{let d=JSON.parse(u);c.original=d.original??"",c.destinationSystem=d.destinationSystem??"",c.bridgeTypeToDelete=d.bridgeTypeToDelete??"equivalentWith",c.targetTagId=d.targetTagId??""}catch{c.original="",c.destinationSystem="",c.bridgeTypeToDelete="equivalentWith",c.targetTagId=""}}return c}).filter(i=>i!==null)}var r1=(a=>(a[a.Visit=0]="Visit",a[a.VisitPart=1]="VisitPart",a[a.Download=2]="Download",a[a.Rate=3]="Rate",a[a.RatePart=4]="RatePart",a[a.Share=5]="Share",a[a.SharePart=6]="SharePart",a))(r1||{}),n1=(o=>(o.Init="init",o.SavePatches="savePatches",o.GetRecord="getRecord",o.LoadLanguage="loadLanguage",o))(n1||{}),o1=(i=>(i[i.None=0]="None",i[i.New=1]="New",i[i.Keep=2]="Keep",i[i.Trash=3]="Trash",i[i.Shared=4]="Shared",i))(o1||{}),i1=(s=>(s.WorkerReady="workerready",s.WorkerLoadingError="workerLoadingError",s.DownloadStarted="downloadStarted",s.DownloadFinished="downloadFinished",s.DownloadError="downloadError",s.LevelUpdated="levelUpdated",s))(i1||{}),s1=(i=>(i[i.Unknown=0]="Unknown",i[i.Pending=1]="Pending",i[i.InProgress=2]="InProgress",i[i.Done=3]="Done",i[i.Error=4]="Error",i))(s1||{}),a1=(n=>(n[n.Slim=0]="Slim",n[n.Extended=1]="Extended",n[n.Provenance=2]="Provenance",n))(a1||{});var Mg=1146113329,Og=6,Fg=(c=>(c[c.Uint8=1]="Uint8",c[c.Uint16=2]="Uint16",c[c.NullableString=3]="NullableString",c[c.Relation=4]="Relation",c[c.InstanceArray=5]="InstanceArray",c[c.Uint32=6]="Uint32",c[c.Bool=7]="Bool",c[c.Uint64=8]="Uint64",c))(Fg||{}),Ws=t=>t<=0?3:t<=8?1:t<=16?2:6,jg=(t,e)=>t.map((r,n)=>{if(r.type==="string")return{name:r.name,type:3};if(r.type==="boolean")return{name:r.name,type:7};let o=e?.[n]?.bits??r.bits??32;return{name:r.name,type:Ws(o)}}),c1={name:"isDefault",type:7},_A=new TextDecoder,Bc=new TextEncoder,kg=class{constructor(e){this.offset=0;this.view=new DataView(e)}get remaining(){return this.view.byteLength-this.offset}u8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}u16(){let e=this.view.getUint16(this.offset);return this.offset+=2,e}u24(){let e=this.view.getUint8(this.offset)<<16|this.view.getUint16(this.offset+1);return this.offset+=3,e}u32(){let e=this.view.getUint32(this.offset);return this.offset+=4,e}u64(){let e=this.view.getBigUint64(this.offset);return this.offset+=8,e}bytes(e){let r=new Uint8Array(this.view.buffer,this.view.byteOffset+this.offset,e);return this.offset+=e,r}utf8(e){return _A.decode(this.bytes(e))}nullableString(){if(this.u8()===0)return null;let r=this.u16();return this.utf8(r)}varString(){let e=this.u8();return this.utf8(e)}},zA=(t,e,r)=>{switch(e){case 1:{let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t.u8();return n}case 2:{let n=new Uint16Array(r);for(let o=0;o<r;o++)n[o]=t.u16();return n}case 6:{let n=new Uint32Array(r);for(let o=0;o<r;o++)n[o]=t.u32();return n}case 8:{let n=new BigUint64Array(r);for(let o=0;o<r;o++)n[o]=t.u64();return n}case 3:{let n=new Array(r);for(let o=0;o<r;o++)n[o]=t.nullableString();return n}default:throw new Error(`Unsupported column type 0x${e.toString(16)}`)}},$A=(t,e)=>{switch(e){case 1:return t.u8();case 2:return t.u16();case 6:return t.u32();case 7:return t.u8()===1;case 3:return t.nullableString();default:throw new Error(`Unsupported instance field type 0x${e.toString(16)}`)}},HA=t=>{let e=t.u8(),r=new Array(e);for(let n=0;n<e;n++){let o=t.u8(),i=t.u8();r[n]={name:t.utf8(i),type:o}}return r},WA=(t,e)=>{let r={};for(let n of e)r[n.name]=$A(t,n.type);return r},GA=(t,e)=>{if(t.u8()===0)return;let n=e>=6?()=>t.varString():()=>t.u32(),o=t.varString(),i=t.u8(),s={};for(let a=0;a<i;a++){let c=t.varString(),u={},d=t.u8();if(d>0){u.equivalentWith=[];for(let f=0;f<d;f++)u.equivalentWith.push({id:n(),confidence:t.u8()/255})}let l=t.u8();if(l>0){u.childOf=[];for(let f=0;f<l;f++)u.childOf.push({id:n(),confidence:t.u8()/255})}let p=t.u8();if(p>0){u.parentOf=[];for(let f=0;f<p;f++)u.parentOf.push({id:n(),confidence:t.u8()/255})}s[c]=u}return{original:o,conversions:s}},Lc=t=>{let e=new kg(t),r=e.u32();if(r!==Mg)throw new Error(`Invalid sidecar magic 0x${r.toString(16)} (expected DPM1)`);let n=e.u8();if(n!==1&&n!==2&&n!==3&&n!==4&&n!==5&&n!==Og)throw new Error(`Unsupported sidecar format version ${n}`);let o=n===1?e.u16():e.u24(),i=e.u8(),s=e.u8(),a=new Map;for(let u=0;u<i;u++){let d=e.u8(),l=e.u8(),p=e.utf8(l);a.set(p,zA(e,d,o))}let c={header:{formatVersion:n,recordCount:o,columnCount:i,sidecarType:s},columns:a};if(s===2&&(n>=4&&e.remaining>0?e.u8():0)===1){let d=new Array(o);for(let l=0;l<o;l++)d[l]=GA(e,n);c.bridges=d}if(s===1){let u=e.u8(),d=new Array(u);for(let f=0;f<u;f++){let g=e.u8();d[f]=e.utf8(g)}if(u>0){let f=new Map;for(let h of d)f.set(h,new Array(o));let g=n===1?()=>BigInt(e.u16()):n===2?()=>BigInt(e.u24()):n>=5?()=>e.u64():()=>BigInt(e.u32());for(let h=0;h<o;h++)for(let b of d){let w=e.u16(),x=new Array(w);for(let y=0;y<w;y++)x[y]=g();f.get(b)[h]=x}c.relations=f;let m=f.get("authors");m&&(c.authorIds=m)}let l=HA(e),p=new Array(o);for(let f=0;f<o;f++){let g=e.u16(),m=new Array(g);for(let h=0;h<g;h++)m[h]=WA(e,l);p[f]=m}c.instanceFields=l,c.instances=p}return c},So=t=>{if(t.header.sidecarType===2){let r={},n;for(let[o,i]of t.columns)o==="ids"?n=i:r[o]=i;return{ids:n,fields:r,bridges:t.bridges}}let e={};for(let[r,n]of t.columns)e[r]=n;if(t.relations)for(let[r,n]of t.relations)e[r]=n;return t.authorIds&&(e.authorIds=t.authorIds),t.instances&&(e.instances=t.instances),e},VA=(t,e)=>{let r=o=>Array.isArray(o)?[o[e]??null]:o.slice(e,e+1);if(t.header.sidecarType===2){let o={},i;for(let[s,a]of t.columns)s==="ids"?i=r(a):o[s]=r(a);return{ids:i,fields:o,bridges:t.bridges?[t.bridges[e]??void 0]:void 0}}let n={};for(let[o,i]of t.columns)n[o]=r(i);if(t.relations)for(let[o,i]of t.relations)n[o]=[i[e]??[]];return t.authorIds&&(n.authorIds=[t.authorIds[e]??[]]),t.instances&&(n.instances=[t.instances[e]??[]]),n},Dg=class{constructor(){this.chunks=[]}u8(e){this.chunks.push(new Uint8Array([e&255]))}u16(e){let r=new Uint8Array(2);new DataView(r.buffer).setUint16(0,e),this.chunks.push(r)}u24(e){let r=new Uint8Array(3);r[0]=e>>>16&255,r[1]=e>>>8&255,r[2]=e&255,this.chunks.push(r)}u32(e){let r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e>>>0),this.chunks.push(r)}u64(e){let r=new Uint8Array(8);new DataView(r.buffer).setBigUint64(0,e),this.chunks.push(r)}bytes(e){this.chunks.push(e)}nullableString(e){if(e===null){this.u8(0);return}this.u8(1);let r=Bc.encode(e);this.u16(r.length),this.bytes(r)}varString(e){let r=Bc.encode(e);this.u8(r.length),this.bytes(r)}toBuffer(){let e=this.chunks.reduce((o,i)=>o+i.length,0),r=new Uint8Array(e),n=0;for(let o of this.chunks)r.set(o,n),n+=o.length;return r.buffer}},qA=t=>{let e=[...t.relations??[]];return t.authorIds&&!e.some(r=>r.name==="authors")&&e.push({name:"authors",data:t.authorIds}),e},KA=(t,e,r)=>{switch(e){case 1:t.u8(r??0);break;case 2:t.u16(r??0);break;case 6:t.u32(r??0);break;case 7:t.u8(r?1:0);break;case 3:t.nullableString(r??null);break;default:throw new Error(`Unsupported instance field type 0x${e.toString(16)}`)}},QA=(t,e)=>{if(e.length>255)throw new Error("Too many instance fields (max 255)");t.u8(e.length);for(let r of e){t.u8(r.type);let n=Bc.encode(r.name);t.u8(n.length),t.bytes(n)}},kc=t=>{let e=new Dg;e.u32(Mg),e.u8(Og),e.u24(t.recordCount),e.u8(t.columns.length),e.u8(t.sidecarType);for(let r of t.columns){e.u8(r.type);let n=Bc.encode(r.name);e.u8(n.length),e.bytes(n);let o=r.data;for(let i=0;i<t.recordCount;i++)switch(r.type){case 1:e.u8(o[i]??0);break;case 2:e.u16(o[i]??0);break;case 6:e.u32(o[i]??0);break;case 8:e.u64(o[i]??0n);break;case 7:e.u8(o[i]?1:0);break;case 3:e.nullableString(o[i]??null);break;default:throw new Error(`Unsupported column type 0x${r.type.toString(16)}`)}}if(t.sidecarType===1){let r=qA(t);e.u8(r.length);for(let s of r){let a=Bc.encode(s.name);e.u8(a.length),e.bytes(a)}for(let s=0;s<t.recordCount;s++)for(let a of r){let c=a.data[s]??[];e.u16(c.length);for(let u of c)e.u64(u)}let n=t.instanceFields??[];if((t.instances?.length??0)>0&&n.length===0)throw new Error("writeSidecar: instances provided without instanceFields spec");let o=n.some(s=>s.name===c1.name)?n:[...n,c1];QA(e,o);let i=t.instances??[];for(let s=0;s<t.recordCount;s++){let a=i[s]??[];e.u16(a.length);for(let c of a)for(let u of o)KA(e,u.type,c[u.name])}}else if(t.sidecarType===2){let r=t.bridges,n=r&&r.some(o=>o&&o.conversions&&Object.keys(o.conversions).length>0);if(e.u8(n?1:0),n)for(let o=0;o<t.recordCount;o++){let i=r[o];if(!i||!i.conversions||Object.keys(i.conversions).length===0)e.u8(0);else{e.u8(1),e.varString(i.original);let s=Object.keys(i.conversions);e.u8(s.length);for(let a of s){e.varString(a);let c=i.conversions[a];e.u8(c.equivalentWith?.length||0);for(let u of c.equivalentWith||[])e.varString(String(u.id)),e.u8(Math.round(u.confidence*255));e.u8(c.childOf?.length||0);for(let u of c.childOf||[])e.varString(String(u.id)),e.u8(Math.round(u.confidence*255));e.u8(c.parentOf?.length||0);for(let u of c.parentOf||[])e.varString(String(u.id)),e.u8(Math.round(u.confidence*255))}}}}return e.toBuffer()},ZA=t=>{let e={};for(let[r,n]of t.entries()){let o={};for(let[i,s]of n.entries()){let a={};for(let[c,u]of s.entries())a[c]=Array.from(u);o[i]=a}e[String(r)]=o}return new TextEncoder().encode(JSON.stringify(e)).buffer},JA=t=>{if(t.byteLength===0)return new Map;let e=JSON.parse(new TextDecoder().decode(t)),r=new Map;for(let[n,o]of Object.entries(e)){let i=new Map;for(let[s,a]of Object.entries(o)){let c=new Map;for(let[u,d]of Object.entries(a))c.set(u,new Set(d));i.set(s,c)}r.set(BigInt(n),i)}return r};var qd="__propertySlots",Kd="__instanceRemaps",Qd=[[qd,"_propertySlots"],[Kd,"_instanceRemaps"]],YA=[["title","string"],["description","string"],["originalLang","string"],["ageGradeBand","number"],["previewTxId","string"],["safe","boolean"],["deleted","boolean"],["lifecycleStatus","number"]].map(([t,e],r)=>({name:t,type:e,propId:r,source:r===1?"extended":"slim"}));function Ug(t){return[...new Map([...YA,...t.props].map(e=>[e.propId,e])).values()]}var Dc=t=>t.charAt(0).toUpperCase()+t.slice(1),Vt=(t,e)=>e==="string"&&!t.endsWith("s")?`${t}s`:t,u1=(t,e)=>{let r=e.props[t.propId]?.bits;return typeof r=="number"&&r>0?r:t.type==="boolean"?1:t.bits??32},XA=(t,e,r,n)=>{let o=n.instanceFields?.[r]?.[e],i=typeof o=="number"?n.props[o]?.bits:void 0;return typeof i=="number"&&i>0?i:t.type==="boolean"?1:t.bits??32},eP=t=>t.name==="authors"?"authorIds":t.name,_g=(t,e)=>t<=8?Uint8Array.from(e):t<=16?Uint16Array.from(e):Uint32Array.from(e);function Hr(t,e,r){let n=e.map(s=>BigInt(s.id)),o=[{name:"ids",type:8,data:BigUint64Array.from(n)},{name:"titles",type:3,data:e.map(s=>s.title)},{name:"originalLangs",type:3,data:e.map(s=>s.originalLang)},{name:"previewTxIds",type:3,data:e.map(s=>s.previewTxId)},{name:"ageGradeBands",type:1,data:Uint8Array.from(e.map(s=>s.ageGradeBand))},{name:"safes",type:1,data:Uint8Array.from(e.map(s=>s.safe===!1?0:1))},{name:"deleteds",type:1,data:Uint8Array.from(e.map(s=>s.deleted?1:0))}];for(let s of t.props.filter(a=>a.source==="slim")){let a=Vt(s.name,s.type);if(s.type==="string")o.push({name:a,type:3,data:e.map(c=>c[s.name])});else if(s.type==="boolean")o.push({name:a,type:1,data:Uint8Array.from(e.map(c=>c[s.name]?1:0))});else{let c=u1(s,r);o.push({name:a,type:Ws(c),data:_g(c,e.map(u=>u[s.name]))})}}if(t.multipleInstances)for(let s=0;s<t.instanceFields.length;s++){let a=t.instanceFields[s],c=Dc(a.name),u=Vt(c,a.type),d=e.map(l=>l[`default${c}`]);if(a.type==="string")o.push({name:`default${u}`,type:3,data:d});else if(a.type==="boolean")o.push({name:`default${u}`,type:1,data:Uint8Array.from(d.map(l=>l?1:0))});else{let l=XA(a,s,t.objectId,r);o.push({name:`default${u}`,type:Ws(l),data:_g(l,d)})}}let i={sidecarType:0,recordCount:e.length,columns:o};return kc(i)}function Wr(t,e,r){let n=e.map(c=>BigInt(c.id)),o=[{name:"ids",type:8,data:BigUint64Array.from(n)},{name:"descriptions",type:3,data:e.map(c=>c.description)}];for(let c of t.props.filter(u=>u.source==="extended")){let u=Vt(c.name,c.type);if(c.type==="string")o.push({name:u,type:3,data:e.map(d=>d[c.name])});else if(c.type==="boolean")o.push({name:u,type:1,data:Uint8Array.from(e.map(d=>d[c.name]?1:0))});else{let d=u1(c,r);o.push({name:u,type:Ws(d),data:_g(d,e.map(l=>l[c.name]))})}}let s=t.relations.filter(c=>c.direction==="has").map(c=>({name:c.name,data:e.map(u=>{let d=u[eP(c)];return c.cardinality==="1to1"?d?[BigInt(d)]:[]:(d??[]).map(l=>BigInt(l))})})),a={sidecarType:1,recordCount:e.length,columns:o,...s.length>0&&{relations:s}};return t.multipleInstances&&(a.instanceFields=jg(t.instanceFields),a.instances=e.map(c=>c.instances)),kc(a)}function Gr(t,e){let r=[{name:"ids",type:8,data:BigUint64Array.from(e.map(i=>BigInt(i.id)))}],n=["title","description","originalLang","ageGradeBand","previewTxId","safe","deleted","lifecycleStatus",...t.props.map(i=>i.name),...t.multipleInstances?t.instanceFields.map(i=>i.name):[]];for(let i of n){let s=new Uint8Array(e.length),a=!1;for(let c=0;c<e.length;c++){let u=e[c]._prov?.[i]?.source;u==="manual"?(s[c]=2,a=!0):u==="ai"?(s[c]=1,a=!0):u==="consensus"?(s[c]=3,a=!0):e[c]._prov&&e[c]._prov[i]!==void 0&&(s[c]=2,a=!0)}a&&r.push({name:i,type:1,data:s})}for(let[i,s]of Qd)e.some(a=>a[s]!==void 0)&&r.push({name:i,type:3,data:e.map(a=>a[s]===void 0?null:JSON.stringify(a[s]))});let o={sidecarType:2,recordCount:e.length,columns:r,bridges:e.map(i=>i.bridges)};return kc(o)}function Vr(t,e){let r=Lc(e),n=r.header.recordCount,o=new Array(n);for(let p=0;p<n;p++)o[p]={};let i=r.columns.get("ids"),s=r.columns.get("titles"),a=r.columns.get("originalLangs"),c=r.columns.get("previewTxIds"),u=r.columns.get("ageGradeBands"),d=r.columns.get("safes"),l=r.columns.get("deleteds");for(let p=0;p<n;p++)o[p].id=i?BigInt(i[p]):0n,o[p].title=s?s[p]:null,o[p].originalLang=a?a[p]:null,o[p].previewTxId=c?c[p]:null,o[p].ageGradeBand=u?u[p]:0,o[p].safe=d?d[p]===1:!0,o[p].deleted=l?l[p]===1:!1;for(let p of t.props.filter(f=>f.source==="slim")){let f=Vt(p.name,p.type),g=r.columns.get(f);for(let m=0;m<n;m++)p.type==="boolean"?o[m][p.name]=g?g[m]===1:!1:o[m][p.name]=g?g[m]:p.type==="string"?null:0}if(t.multipleInstances)for(let p=0;p<t.instanceFields.length;p++){let f=t.instanceFields[p],g=Dc(f.name),m=Vt(g,f.type),h=r.columns.get(`default${m}`);for(let b=0;b<n;b++)f.type==="boolean"?o[b][`default${g}`]=h?h[b]===1:!1:o[b][`default${g}`]=h?h[b]:f.type==="string"?null:0}return o}function qr(t,e){let r=Lc(e),n=r.header.recordCount,o=new Array(n);for(let c=0;c<n;c++)o[c]={};let i=r.columns.get("ids"),s=r.columns.get("descriptions");for(let c=0;c<n;c++)o[c].id=i?BigInt(i[c]):0n,o[c].description=s?s[c]:null;for(let c of t.props.filter(u=>u.source==="extended")){let u=Vt(c.name,c.type),d=r.columns.get(u);for(let l=0;l<n;l++)c.type==="boolean"?o[l][c.name]=d?d[l]===1:!1:o[l][c.name]=d?d[l]:c.type==="string"?null:0}let a=t.relations.filter(c=>c.direction==="has");for(let c of a){let u=c.name==="authors"?"authorIds":c.name,d=r.relations?.get(c.name)||(c.name==="authors"?r.authorIds:void 0);for(let l=0;l<n;l++){let p=d?d[l]||[]:[];o[l][u]=c.cardinality==="1to1"?p[0]??null:p}}if(t.multipleInstances){let c=r.instances;for(let u=0;u<n;u++)o[u].instances=c?c[u]||[]:[]}return o}function Kr(t,e){let r=Lc(e),n=r.header.recordCount,o=new Array(n);for(let s=0;s<n;s++)o[s]={_prov:{}};let i=r.columns.get("ids");for(let s=0;s<n;s++)o[s].id=i?BigInt(i[s]):0n,o[s].bridges=r.bridges?r.bridges[s]:void 0;for(let[s,a]of r.columns.entries()){if(s==="ids")continue;let c=Qd.find(([u])=>u===s);if(c){for(let u=0;u<n;u++)a[u]!=null&&(o[u][c[1]]=JSON.parse(String(a[u])));continue}for(let u=0;u<n;u++)a[u]!==0&&(o[u]._prov[s]={source:"manual"})}return o}var Zd=class{constructor(e,r,n){this.objectType=e;this.indexName=r;this.keyPath=n}};function zg(t,e){if(!t||typeof e!="string")return[e];if(t.type==="prefix"){if(t.customMappings&&t.customMappings[e]!==void 0){let n=t.customMappings[e];return[n,n]}let r=e.indexOf(t.separator);if(r>=0){let n=e.substring(0,r),o=e.substring(r+t.separator.length);return[n,o]}return[t.fallback,e]}return[e]}var Jd=class{constructor(e,r,n,o){this.objectType=e;this.name=r;this.keys=n;this.classifier=o;this.langIndex=new Map;this.reverseMap=new Map;this.depNodes=new Map}getOrCreateDepNode(e,r){let n=this.depNodes.get(e);n||(n=new Map,this.depNodes.set(e,n));let o=r.map(s=>String(s??"")).join(":"),i=n.get(o);return i||(i=new Zd(this.objectType,this.name,o),n.set(o,i)),i}addToTree(e,r,n){let o=e;for(let a=0;a<r.length-1;a++){let c=r[a],u=o.get(c);u||(u=new Map,o.set(c,u)),o=u}let i=r[r.length-1],s=o.get(i);s||(s=new Set,o.set(i,s)),s.add(n)}removeFromTree(e,r,n){let o=[],i=e;for(let u=0;u<r.length-1;u++){let d=r[u],l=i.get(d);if(!l)return!1;o.push({map:i,key:d}),i=l}let s=r[r.length-1],a=i.get(s);if(!a)return!1;let c=a.delete(n);if(a.size===0){i.delete(s);for(let u=o.length-1;u>=0;u--){let{map:d,key:l}=o[u],p=d.get(l);if(p&&p.size===0)d.delete(l);else break}}return c}triggerPath(e,r){At.trigger(this.getOrCreateDepNode(e,r));let n=this.depNodes.get(e);if(n)for(let o=0;o<r.length;o++){let i=r.slice(0,o).map(a=>String(a??"")).join(":"),s=n.get(i);s&&At.trigger(s)}}trackRaw(e,r,n){if(n.some(c=>c==null||c==="")){this.untrack(e,r);return}let o=[];for(let c=0;c<n.length;c++){let u=n[c];c===0&&this.classifier?o.push(...zg(this.classifier,u)):o.push(u)}let i=this.reverseMap.get(e);i||(i=new Map,this.reverseMap.set(e,i));let s=i.get(r);if(s&&JSON.stringify(s)===JSON.stringify(o))return;let a=this.langIndex.get(r);a||(a=new Map,this.langIndex.set(r,a)),s&&(this.removeFromTree(a,s,e),this.triggerPath(r,s)),this.addToTree(a,o,e),i.set(r,o),this.triggerPath(r,o)}trackRecord(e,r){let n=de.get(this.objectType),o=this.keys.map(i=>{let s=n.props.find(a=>a.name===i);return s?e.getProp(s.propId,r):i==="classificationSystem"?e.classificationSystem:e[i]});this.trackRaw(e.id,r,o)}untrack(e,r){let n=this.reverseMap.get(e);if(!n)return;let o=n.get(r);if(!o)return;let i=this.langIndex.get(r);i&&(this.removeFromTree(i,o,e),this.triggerPath(r,o)),n.delete(r)}getTrackedLangs(e){let r=this.reverseMap.get(e);return r?Array.from(r.keys()):[]}getUids(e,r){let n=this.getOrCreateDepNode(r,e);At.track(n);let o=this.langIndex.get(r);if(!o)return new Set;let i=o;for(let s of e){if(!(i instanceof Map))return new Set;i=i.get(s)}if(i instanceof Map){let s=new Set,a=c=>{for(let u of c.values())if(u instanceof Set)for(let d of u)s.add(d);else u instanceof Map&&a(u)};return a(i),s}return i instanceof Set?i:new Set}getUidsByRawValue(e,r){let n=this.classifier?zg(this.classifier,e):[e];return this.getUids(n,r)}getAvailableKeys(e,r){At.track(this.getOrCreateDepNode(r,e));let n=this.langIndex.get(r);if(!n)return[];let o=n;for(let i of e){if(!(o instanceof Map))return[];o=o.get(i)}return o instanceof Map?Array.from(o.keys()).map(String):[]}getAvailableRawValues(e){At.track(this.getOrCreateDepNode(e,[]));let r=this.langIndex.get(e);if(!r)return[];if(this.classifier&&this.classifier.type==="prefix"){let n=[];for(let[o,i]of r.entries())if(i instanceof Map)for(let s of i.keys())o===this.classifier.fallback?n.push(String(s)):o==="origin"?n.push("origin"):n.push(`${o}${this.classifier.separator}${s}`);return Array.from(new Set(n))}return Array.from(r.keys()).map(String)}},Yd=class{constructor(){this.indexes=new Map}registerIndex(e,r){let n=this.indexes.get(e);n||(n=new Map,this.indexes.set(e,n)),n.set(r.name,r)}getIndex(e,r){let o=this.indexes.get(e)?.get(r);if(!o){let s=de.get(e).indexes?.find(a=>a.name===r);if(s){let a=new Jd(e,r,s.keys,s.classifier);return this.registerIndex(e,a),a}throw new Error(`[IndexRegistry] Index "${r}" not found for objectType ${e}`)}return o}hasIndexForProperty(e,r){let n=de.get(e),o=n.props.find(s=>s.propId===r);if(!o)return!1;let i=this.indexes.get(e);if(i){for(let s of i.values())if(s.keys.includes(o.name))return!0}return n.indexes?.some(s=>s.keys.includes(o.name))??!1}trackRecord(e,r){let n=de.get(e);if(n.indexes)for(let o of n.indexes){let i=this.getIndex(e,o.name),s=r.getLoadedLanguages();for(let a of s)i.trackRecord(r,a)}}updateIndex(e,r,n){let o=de.get(e);if(!o.indexes)return;let i=o.props.find(s=>s.propId===r);if(i){for(let s of o.indexes)if(s.keys.includes(i.name)){let a=this.getIndex(e,s.name),c=new Set([...n.getLoadedLanguages(),...a.getTrackedLangs(n.id)]);for(let u of c)a.trackRecord(n,u)}}}getAvailableRawValues(e,r,n){try{return this.getIndex(e,r).getAvailableRawValues(n)}catch{return[]}}bootstrapSidecars(e){for(let r of e){let n=de.get(r.objectType);if(!n||!n.indexes)continue;let o=r.slim?So(r.slim):null,i=r.extended?So(r.extended):null;for(let s of n.indexes){let a=this.getIndex(r.objectType,s.name);for(let[c,u]of r.idIndex){let d=s.keys.map(l=>{if(l==="deleted"){let f=o?.deleteds??i?.deleteds;return f?!!f[u]:!1}if(l==="safe"){let f=o?.safes??i?.safes;return f?!!f[u]:!0}if(l==="classificationSystem"){let f=o?.classificationSystems??i?.classificationSystems;return f?f[u]:null}let p=n.props.find(f=>f.name===l);if(p){let f=Vt(p.name,p.type),g=o?.[f]??i?.[f];return g?g[u]:null}return null});a.trackRaw(c,r.lang,d)}}}}clear(){this.indexes.clear()}},Ze=new Yd;var Gs=new Set;function di(t){return Gs.add(t),()=>{Gs.delete(t)}}function tP(t){Gs.clear(),t&&Gs.add(t)}var At={track(t){for(let e of Gs)e.track(t)},trigger(t){for(let e of Gs)e.trigger(t)}},Xd=class{constructor(e){this.limit=e;this.map=new Map;this._pinned=new Set;this.pinReasons=new Map;this._warnedOverflow=!1}get size(){return this.map.size}get(e){if(!this.map.has(e))return;let r=this.map.get(e);return this.map.delete(e),this.map.set(e,r),r}set(e,r){if(this.map.has(e)&&this.map.delete(e),this.map.set(e,r),this.map.size>this.limit){let n=!1;for(let o of this.map.keys())if(!this._pinned.has(o)){this.map.delete(o),n=!0;break}!n&&!this._warnedOverflow&&(this._warnedOverflow=!0,console.warn(`[LruCache] limit (${this.limit}) exceeded with every entry pinned \u2014 growing past limit instead of evicting/crashing. This usually means too many draft/unsynced records are open at once.`))}}pin(e,r="lifecycle"){let n=this.pinReasons.get(e);n||this.pinReasons.set(e,n=new Set),n.add(r),this._pinned.add(e)}unpin(e,r="lifecycle"){let n=this.pinReasons.get(e);n?.delete(r),n?.size||(this.pinReasons.delete(e),this._pinned.delete(e))}has(e){return this.map.has(e)}delete(e){this.map.delete(e)}clear(){this.map.clear(),this._pinned.clear(),this.pinReasons.clear()}keys(){return this.map.keys()}values(){return this.map.values()}},rP=1e4,d1={cacheLimit:rP},Mc=new Map,$g=t=>{if(t.cacheLimit&&t.cacheLimit>0){d1.cacheLimit=t.cacheLimit;for(let e of Mc.values())e.limit=t.cacheLimit}},Vs=t=>{let e=Mc.get(t);return e||(e=new Xd(d1.cacheLimit),Mc.set(t,e)),e},nP=()=>{Mc.clear(),Ze.clear()},An=()=>Mc,el;function tl(t){el=t}function Oc(){return el}function Pn(t,e){if(kt(t)){let r=e||el;if(!r)throw new Error("[models_v2] creatorUsername required for user-created records");return`${r}:${t}`}return`canonical:${t}`}var J=(t,e,r)=>kt(e)&&!r&&!el?!1:Vs(t).has(Pn(e,r)),Y=(t,e,r)=>{let n=Pn(e,r),o=Vs(t).get(n);if(typeof o>"u")throw new Error(`cannot find ${t} with id ${e} (evicted or never loaded \u2014 use LoadAsync)`);return o},it=(t,e,r)=>{Vs(t).set(Pn(e.id,r),e)},oP=(t,e,r)=>{Vs(t).delete(Pn(e,r))},En=(t,e,r,n="lifecycle")=>{Vs(t).pin(Pn(e,r),n)};async function ae(t,e){let r=e.filter(n=>!t.Has(n));return r.length>0&&await Promise.all(r.map(n=>t.LoadAsync(n).catch(o=>{console.warn(`[loadManyAsync] failed to hydrate id=${n}: ${o?.message??o}`)}))),e.filter(n=>t.Has(n)).map(n=>t.Load(n))}async function Hg(t,e){return t.Has(e)||await t.LoadAsync(e).catch(r=>{console.warn(`[loadOneAsync] failed to hydrate id=${e}: ${r?.message??r}`)}),t.Has(e)?t.Load(e):null}var l1=new Map;function Pr(t,e){l1.set(t,e)}function Fc(t){return l1.get(t)}var jc=(t,e,r,n="lifecycle")=>{Vs(t).unpin(Pn(e,r),n)};var iP=t=>new Promise(e=>setTimeout(e,t)),Je=()=>{let t,e,r=!1,n=!1;return{pro:new Promise((u,d)=>{t=u,e=d}),resolve:u=>{r?console.trace("resolve called twice"):(t(u),r=!0)},reject:u=>{r?console.error("reject called twice"):(r=!0,e(u))},start:()=>n=!0,isStarted:()=>n}};var f1=5,m1="the_world_library",li=Je(),p1=()=>{li=Je()},st="patches",Uc="catalog_json",Ie="key_value",Er="pdf_data",Wg="deviceState",Gg="localRecords",vo="instanceRemaps",me=()=>{if(li.isStarted())return li.pro;li.start();let t=indexedDB.open(m1,f1);return t.onupgradeneeded=function(){let e=t.result;e.objectStoreNames.contains(Uc)||e.createObjectStore(Uc,{keyPath:"id"}),e.objectStoreNames.contains(Ie)||e.createObjectStore(Ie,{keyPath:"key"}),e.objectStoreNames.contains(Er)||e.createObjectStore(Er,{keyPath:"fileId"}),e.objectStoreNames.contains(st)||e.createObjectStore(st,{keyPath:["username","pk"]}).createIndex("username","username",{unique:!1});let r=t.transaction.objectStore(st);if(!r.indexNames.contains("byRecord")){r.createIndex("byRecord",["objectType","recordId"]),r.createIndex("byTarget","targetRecordId");let n=0,o=r.openCursor();o.onsuccess=()=>{let i=o.result;if(!i){t.transaction.objectStore(Ie).put({key:"patch-order",value:n});return}let s=i.value;s.order=++n,s.objectId!==void 0&&(s.recordId=String(s.objectId)),s.targetId!==void 0&&(s.targetRecordId=String(s.targetId)),i.update(s),i.continue()}}e.objectStoreNames.contains(Wg)||e.createObjectStore(Wg),e.objectStoreNames.contains(Gg)||e.createObjectStore(Gg,{keyPath:["creatorUsername","wireId"]}).createIndex("byCreator","creatorUsername",{unique:!1}),e.objectStoreNames.contains(vo)||e.createObjectStore(vo,{keyPath:["creatorUsername","objectId","langId","originalIndex"]}),console.log("[IDB] models_v2 schema upgraded to version",e.version)},t.onerror=function(e){p1(),li.reject(e)},t.onsuccess=function(e){let r=e.target.result;r.onversionchange=()=>{r.close()},r.onclose=()=>{p1()},li.resolve(r)},li.pro},sP=async()=>{let t=await me(),e=Array.from(t.objectStoreNames);if(e.length===0)return;let r=t.transaction(e,"readwrite");return e.forEach(n=>r.objectStore(n).clear()),new Promise(n=>r.oncomplete=n)};async function g1(t,e,r,n){let o=await me(),i=`${t}:${e}:`;await new Promise((s,a)=>{let c=o.transaction(Ie,"readwrite");c.objectStore(Ie).put({key:`subscription-view:${i}${r}`,value:{prefix:i,sources:n.map(u=>i+u)}}),c.oncomplete=()=>s(),c.onabort=()=>a(c.error)})}async function y1(t){let e=await me(),r=await new Promise((n,o)=>{let i=e.transaction(Ie),s=i.objectStore(Ie).getAll(IDBKeyRange.bound("subscription-view:","subscription-view:\uFFFF"));i.oncomplete=()=>n(s.result.map(a=>a.value)),i.onabort=()=>o(i.error)});return t.filter(n=>{if(!n.sourceStream)return!0;let o=r.filter(i=>n.sourceStream.startsWith(i.prefix));return!o.length||o.some(i=>i.sources.includes(n.sourceStream))})}var Vg="publisher-outbox-enabled",qg=t=>`publisher-outbox:${t}`;async function h1(){let t=await me();await new Promise((e,r)=>{let n=t.transaction(Ie,"readwrite");n.objectStore(Ie).put({key:Vg,value:!0}),n.oncomplete=()=>e(),n.onabort=()=>r(n.error)})}async function b1(){let t=await me();return new Promise((e,r)=>{let n=t.transaction(Ie),o=n.objectStore(Ie).getAll(IDBKeyRange.bound("publisher-outbox:","publisher-outbox:\uFFFF"));n.oncomplete=()=>e(o.result.map(i=>i.value).sort((i,s)=>i.order-s.order)),n.onabort=()=>r(n.error)})}async function x1(t){let e=await me();await new Promise((r,n)=>{let o=e.transaction(Ie,"readwrite");for(let i of t)o.objectStore(Ie).delete(qg(i));o.oncomplete=()=>r(),o.onabort=()=>n(o.error)})}var aP=new Set(["pk","username","eventId","sourceStream","order","recordId","targetRecordId","provenance"]),cP=t=>"action"in t?JSON.stringify(Object.keys(t).filter(e=>!aP.has(e)).sort().map(e=>[e,t[e]]),(e,r)=>typeof r=="bigint"?`${r}n`:r):null,Kg=t=>{let e=new Map;for(let n of t){let o=cP(n);if(o===null)continue;let i=e.get(o);i?i.push(n):e.set(o,[n])}let r=[];for(let n of e.values()){if(n.length<2)continue;let o=n.filter(i=>i.sourceStream);o.length===n.length&&(o.sort((i,s)=>(i.pk??0)-(s.pk??0)),o.shift()),r.push(...o)}return r},rl=t=>{let e=new Set(Kg(t));return e.size===0?t.slice():t.filter(r=>!e.has(r))};var _c=t=>`patch-sequence:${t}`,w1=(t,e)=>`patch-delivery:${JSON.stringify([t,e])}`,I1=async(t,e)=>{if(!e.length)return!0;let r=await me();return new Promise((n,o)=>{let i=r.transaction([st,Ie],"readwrite"),s=i.objectStore(st),a=i.objectStore(Ie);i.oncomplete=()=>n(!0),i.onabort=()=>o(i.error??new Error("Patch transaction aborted")),i.onerror=()=>o(i.error??new Error("Patch transaction failed"));let c=a.get(Vg),u=a.get("patch-order"),d=a.get(_c(t));d.onsuccess=()=>{let l=f=>{let g=f,m=u.result?.value??0,h=0,b=()=>{for(;h<e.length;){let{pk:w,username:x,...y}=e[h++],I=()=>{if(s.add({...y,username:t,pk:++g,order:++m,..."objectId"in y?{recordId:String(y.objectId)}:{},..."targetId"in y?{targetRecordId:String(y.targetId)}:{}}),c.result?.value&&t==="mine"&&!y.sourceStream&&Te(y)){let A=y.eventId??`publisher:${crypto.randomUUID()}`;a.put({key:qg(A),value:{...y,eventId:A,order:m}})}y.eventId&&a.put({key:w1(t,y.eventId),value:!0})};if(!y.eventId){I();continue}let S=a.get(w1(t,y.eventId));S.onsuccess=()=>{S.result||I(),b()};return}a.put({key:_c(t),value:g}),a.put({key:"patch-order",value:m})};b()};if(d.result){l(d.result.value);return}let p=s.index("username").getAll(IDBKeyRange.only(t));p.onsuccess=()=>l(p.result.reduce((f,g)=>Math.max(f,g.pk),0))}})},qs=async t=>{let e=await me();return new Promise((r,n)=>{let o=e.transaction([st,Ie],"readonly"),i=0;o.oncomplete=()=>r(i),o.onabort=()=>n(o.error),o.onerror=()=>n(o.error);let s=o.objectStore(Ie).get(_c(t));s.onsuccess=()=>{if(s.result){i=s.result.value;return}let a=o.objectStore(st).index("username").getAll(IDBKeyRange.only(t));a.onsuccess=()=>{i=a.result.reduce((c,u)=>Math.max(c,u.pk),0)}}})};var pi=(t,e)=>{let r=Je();return me().then(async n=>{let o=n.transaction(st,"readonly"),i=o.objectStore(st);i.index("username").getAll(IDBKeyRange.only(t)).onsuccess=s=>{let c=(s.target.result||[]).filter(u=>u.pk>=e);c.sort((u,d)=>u.pk-d.pk),r.resolve(c)},o.onerror=function(s){console.error("worker: error loading patches since",e,s.target),r.reject(s.target)}}).catch(r.reject),r.pro},Qr=t=>{let e=Je();return me().then(async r=>{let n=r.transaction(st,"readonly");n.objectStore(st).index("username").getAll(IDBKeyRange.only(t)).onsuccess=o=>{let i=o.target.result||[];i.sort((s,a)=>s.pk-a.pk),y1(i).then(e.resolve,e.reject)},n.onerror=function(o){console.error("worker: error loading all patches",o.target),e.reject(o.target)}}).catch(e.reject),e.pro};var nl=async t=>{let e=Kg(await Qr(t)).map(r=>r.pk);return e.length>0&&await uP(t,e),e.length},uP=async(t,e)=>{let r=await me();return new Promise((n,o)=>{let i=r.transaction([st,Ie],"readwrite"),s=i.objectStore(st),a=i.objectStore(Ie),c=a.get(_c(t)),u=()=>{for(let d of e)s.delete([t,d])};c.onsuccess=()=>{if(c.result){u();return}let d=s.index("username").getAll(IDBKeyRange.only(t));d.onsuccess=()=>{a.put({key:_c(t),value:d.result.reduce((l,p)=>Math.max(l,p.pk),0)}),u()}},i.oncomplete=()=>n(!0),i.onabort=()=>o(i.error),i.onerror=()=>o(i.error)})},S1=async()=>{let t=await me();return new Promise((e,r)=>{let n=t.transaction([st,Ie],"readwrite");n.objectStore(st).clear();let o=n.objectStore(Ie).openCursor();o.onsuccess=()=>{let i=o.result;i&&((i.key==="patch-order"||String(i.key).startsWith("patch-sequence:")||String(i.key).startsWith("patch-delivery:"))&&i.delete(),i.continue())},n.oncomplete=()=>e(!0),n.onabort=()=>r(n.error),n.onerror=()=>r(n.error)})};function zc(t){if(typeof t!="string")return t;let e=t.replace(/<\/?[^>]+(>|$)/g,""),r=/javascript:|data:|vbscript:|onclick|onerror|onload|onmouseover/gi;return e=e.replace(r,"[REDACTED]"),e}var v1={current:5,versions:{1:{hash:"ab76b7f6fee6015a",enums:{BookMethod:{bits:3,values:["Unknown","Scan","NativeDigital","OCR","AiTranslation"]},CopyrightStatus:{bits:2,values:["Unknown","PublicDomain","CreativeCommons","AllRightsReserved"]},QualityScore:{bits:3,values:["None","Poor","Fair","Good","VeryGood","Excellent"]},RecordingStatus:{bits:2,values:["Pending","Active","Completed","Archived"]}},props:{0:{name:"title",type:"string",bits:0},1:{name:"description",type:"string",bits:0},2:{name:"originalLang",type:"string",bits:0},3:{name:"ageGradeBand",type:"number",bits:8},4:{name:"previewTxId",type:"string",bits:0},5:{name:"safe",type:"boolean",bits:1},6:{name:"deleted",type:"boolean",bits:1},7:{name:"lifecycleStatus",type:"number",bits:2},8:{name:"prerequisites",type:"string",bits:0},9:{name:"deweyDecimal",type:"string",bits:0},10:{name:"locCallNumber",type:"string",bits:0},11:{name:"copyrightStatus",type:"enum",bits:2,enum:"CopyrightStatus"},12:{name:"textQuality",type:"enum",bits:3,enum:"QualityScore"},13:{name:"illustrations",type:"enum",bits:3,enum:"QualityScore"},14:{name:"educationQuality",type:"enum",bits:3,enum:"QualityScore"},15:{name:"practicality",type:"enum",bits:3,enum:"QualityScore"},16:{name:"accessibilityLevel",type:"enum",bits:3,enum:"QualityScore"},17:{name:"teacherMaterials",type:"boolean",bits:1},18:{name:"pedagogicalScaffolding",type:"enum",bits:3,enum:"QualityScore"},19:{name:"clarityOfExplanation",type:"enum",bits:3,enum:"QualityScore"},20:{name:"workedExamples",type:"enum",bits:3,enum:"QualityScore"},21:{name:"exercisesAndAssessment",type:"enum",bits:3,enum:"QualityScore"},22:{name:"selfStudyReadiness",type:"enum",bits:3,enum:"QualityScore"},23:{name:"referenceApparatus",type:"enum",bits:3,enum:"QualityScore"},24:{name:"safetyGuidance",type:"enum",bits:3,enum:"QualityScore"},25:{name:"contentCurrency",type:"enum",bits:3,enum:"QualityScore"},26:{name:"ecoRegeneration",type:"enum",bits:3,enum:"QualityScore"},27:{name:"communityLiving",type:"enum",bits:3,enum:"QualityScore"},28:{name:"promotesPeace",type:"enum",bits:3,enum:"QualityScore"},29:{name:"businessDevelopment",type:"enum",bits:3,enum:"QualityScore"},30:{name:"language",type:"string",bits:0},31:{name:"downloadTxId",type:"string",bits:0},32:{name:"method",type:"enum",bits:3,enum:"BookMethod"},33:{name:"isAiTranslation",type:"boolean",bits:1},34:{name:"aiEngine",type:"string",bits:0},35:{name:"addedAt",type:"number",bits:32},36:{name:"nbPages",type:"number",bits:16},37:{name:"sizeBytes",type:"number",bits:32},38:{name:"publisher",type:"string",bits:0},39:{name:"publicationDate",type:"string",bits:0},40:{name:"publishedAt",type:"string",bits:0},41:{name:"qualityScore",type:"enum",bits:3,enum:"QualityScore"},42:{name:"isbn",type:"string",bits:0},43:{name:"name",type:"string",bits:0},44:{name:"institution",type:"boolean",bits:1},45:{name:"country",type:"string",bits:0},46:{name:"rootTagId",type:"number",bits:32},47:{name:"birthDate",type:"string",bits:0},48:{name:"deathDate",type:"string",bits:0},49:{name:"nationality",type:"string",bits:0},50:{name:"wikiUrl",type:"string",bits:0},51:{name:"isniId",type:"string",bits:0},52:{name:"orcidId",type:"string",bits:0},53:{name:"classificationSystem",type:"string",bits:0},54:{name:"lccNotation",type:"string",bits:0},55:{name:"ddcNotation",type:"string",bits:0},56:{name:"udcNotation",type:"string",bits:0},57:{name:"clcNotation",type:"string",bits:0},58:{name:"bbkNotation",type:"string",bits:0},59:{name:"tlcNotation",type:"string",bits:0},60:{name:"ccNotation",type:"string",bits:0}},instanceFields:{0:[30,31,32,33,34,35,36,37,38,39,40,41,42]}},2:{hash:"e64d29ffeb68a760",enums:{},props:{44:{name:"deathDate",type:"string",bits:0},46:{name:"wikiUrl",type:"string",bits:0},60:{name:"ageGradeBand",type:"number",bits:8},61:{name:"previewTxId",type:"string",bits:0},62:{name:"safe",type:"boolean",bits:1},63:{name:"deleted",type:"boolean",bits:1},64:{name:"lifecycleStatus",type:"number",bits:2},65:{name:"name",type:"string",bits:0},66:{name:"institution",type:"boolean",bits:1},67:{name:"country",type:"string",bits:0},68:{name:"rootTagId",type:"number",bits:32},69:{name:"isRootContainer",type:"boolean",bits:1}},instanceFields:{}},3:{hash:"90a1b8881ca56990",enums:{},props:{70:{name:"isPinned",type:"boolean",bits:1},71:{name:"isLocked",type:"boolean",bits:1}},instanceFields:{}},4:{hash:"d15415e0f1378db2",enums:{},props:{},instanceFields:{}},5:{hash:"d8fe8075d5ea5abc",enums:{},props:{},instanceFields:{}}}};var $c=v1,Tn=$c.current,Qg=null,Ye=()=>(Qg||(Qg=Nc(Tn,$c)),Qg);var A1=21,hN=7,bN=3,Jg="[DPL-COIN:v1]",P1=new Map,Zg=new Set;typeof window<"u"&&window.addEventListener("LevelUpdate",t=>{let{username:e,level:r,points:n}=t.detail;if(!e){console.error("[models_v2 LevelState] LevelUpdate event missing username",t);return}let o=Number.isFinite(n)?Math.max(0,Number(n)):Math.max(0,r*21);P1.set(e,{level:Math.floor(r)+1,progress:100*(r-Math.floor(r)),points:o}),Zg.forEach(i=>i(e))});var Yg=t=>P1.get(t)??{level:1,progress:0,points:0},Xg=t=>(Zg.add(t),()=>Zg.delete(t));function E1(t,e){let r=null,n=[];return(...o)=>{r!==null&&clearTimeout(r);let i=new Promise((s,a)=>{n.push({resolve:s,reject:a})});return r=setTimeout(async()=>{r=null;let s=[...n];n=[];try{let a=await t(...o);s.forEach(c=>c.resolve(a))}catch(a){s.forEach(c=>c.reject(a))}},e),i}}var at=class at{constructor(e){this.username=e;this._patches=[];this.pendingPins=new Map;this.pendingEvents=new Map;this.authorshipListeners=new Set;this.syncStatusListeners=new Set;this._syncStatus="idle";this._retryAttempt=0;this._retryTimer=null}get syncStatus(){return this._syncStatus}setSyncStatus(e){if(this._syncStatus!==e){this._syncStatus=e;for(let r of this.syncStatusListeners)r(e)}}onSyncStatus(e){return this.syncStatusListeners.add(e),()=>this.syncStatusListeners.delete(e)}observePending(e){for(let r of this.pendingEvents.values())e(r);return this.authorshipListeners.add(e),()=>this.authorshipListeners.delete(e)}releasePins(e){for(let r of e)r.eventId&&(this.pendingPins.get(r.eventId)?.(),this.pendingPins.delete(r.eventId),this.pendingEvents.delete(r.eventId))}get patches(){return this._patches}initThread(e,r=2e3){console.log("InitPatchInstance with thread",e),this.thread=e,this.sync=E1(at.prototype.sync.bind(this),r),this._patches.length>0&&this.sync().catch(console.error)}get threadInstance(){return this.thread}static onSync(e){this.onSyncListeners.push(e)}static setReplay(e){this._replaying=e}clearQueue(){this.releasePins(this._patches),this._patches=[],this.cancelRetry(),this.setSyncStatus("idle")}cancelRetry(){this._retryTimer&&(clearTimeout(this._retryTimer),this._retryTimer=null),this._retryAttempt=0}scheduleRetry(){if(this._retryTimer)return;if(this._retryAttempt>=at.MAX_SYNC_RETRIES){console.error(`[Patches] sync retry limit (${at.MAX_SYNC_RETRIES}) reached for "${this.username}"; giving up until the next edit triggers a fresh attempt. ${this._patches.length} patch(es) remain queued.`);return}let e=at.SYNC_RETRY_BASE_MS*2**this._retryAttempt;this._retryAttempt++;let r=this._retryAttempt;this._retryTimer=setTimeout(()=>{this._retryTimer=null,at.prototype.sync.call(this).catch(n=>{console.warn(`[Patches] sync retry ${r}/${at.MAX_SYNC_RETRIES} failed for "${this.username}":`,n)})},e)}addPatch(e){if(at._replaying)return;Te(e)&&(e.operation===k.EditPropertyString?e.value=zc(e.value):e.operation===k.EditInstanceFieldString&&(e.value=zc(e.value)));let r=crypto.randomUUID();if(Te(e)){let o=e,i=[{objectType:o.objectType,id:o.objectId}];if(e.operation===k.EditRelation){let a=$r(e);a&&i.push({objectType:a.objectType,id:a.objectId})}let s=`pending:${r}`;for(let a of i)a.id!==void 0&&En(a.objectType,a.id,this.username,s);this.pendingPins.set(r,()=>{for(let a of i)a.id!==void 0&&jc(a.objectType,a.id,this.username,s)})}let n={...e,eventId:r};this.pendingEvents.set(r,n),this._patches.push(n);for(let o of this.authorshipListeners)o(n);this.sync().catch(console.error)}static cleanData(e){let r={},n=a=>typeof a>"u",o=[],i=(a,c,u)=>{n(r[a])&&(r[a]={}),n(r[a][c])&&(r[a][c]=!0,o.push(u))},s=(a,c,u)=>{n(r[a])&&(r[a]={}),n(r[a][c])?(r[a][c]=o.length,o.push(u)):o[r[a][c]]=u};for(let a=e.length-1;a>=0;a--){let c=e[a];if(Te(c)){let l=`evm-${c.objectType}-${c.objectId??c.fromUid}-${c.operation}`;switch(c.operation){case k.EditPropertyString:case k.EditPropertyNumber:{let p=c;i(l,`${p.propertyId}:${p.langId??0}`,c);break}case k.EditInstanceFieldString:case k.EditInstanceFieldNumber:{let p=c;i(l,`${p.instanceIndex}:${p.propertyId}:${p.langId??0}`,c);break}case k.EditRelation:{let p=c;i(l,`${p.relationId}:${p.targetId}`,c);break}case k.CreateRecord:{i(l,"create",c);break}case k.AddInstance:{let p=c;s(l,`${p.langId??0}:${p.instanceIndex}`,c);break}case k.MergeProposal:{let p=c;i(l,`${p.destSystem}:${p.relationType}:${p.targetId}`,c);break}case k.DeleteBridge:{let p=c;i(l,`${p.destinationSystem}:${p.bridgeTypeToDelete}:${p.targetTagId}`,c);break}default:throw new Error(`unknown patch operation ${c.operation}`)}continue}let u=c,d=`local-${u.objectType}-${u.objectId}-${u.action}`;switch(u.action){case 4:i(d,`${u.part}`,u);break;case 6:i(d,`${u.part}:${u.socialMediaId}`,u);break;case 3:i(d,"seen",u);break;case 0:case 2:case 5:case 1:o.push(u);break;default:throw new Error(`unknown local action ${u.action}`)}}return o.reverse(),o}sync(){if(this.activeSync)return this.activeSync.then(()=>this._patches.length?at.prototype.sync.call(this):!0);let e=this.persistQueued().finally(()=>{this.activeSync=void 0});return this.activeSync=e,e}async persistQueued(){if(typeof this.thread>"u")return null;let e=[...this._patches],r=at.cleanData(e);if(r.length===0)return this._patches=[],this.setSyncStatus("idle"),!0;this._patches=[],this.setSyncStatus("pending");let n;try{n=await this.thread.sendRequest({cmd:"savePatches",payload:{username:this.username,patches:r}})}catch(i){throw this._patches.unshift(...e),this.setSyncStatus("error"),this.scheduleRetry(),i}this.cancelRetry(),at.onSyncListeners.forEach(i=>{try{i(r)}catch(s){console.error(s)}}),this.releasePins(e);let o=await at.calculateLevel(this.username);return console.log("level after saving patches",o),this.setSyncStatus("idle"),n}static contributionScore(e){let r=this.cleanData(rl(e)),n=new Set;for(let i of r)Te(i)&&i.objectType===4&&i.operation===k.EditPropertyString&&i.propertyId===0&&i.value.startsWith(Jg)&&n.add(String(i.objectId));let o=0;for(let i of r){if(Te(i)){let s=i.objectId;if(i.objectType===4&&s!==void 0&&n.has(String(s)))continue;switch(i.operation){case k.EditPropertyString:case k.EditInstanceFieldString:o+=4;break;case k.EditPropertyNumber:case k.EditInstanceFieldNumber:o+=2;break;case k.EditRelation:o+=3;break}continue}switch(i.action){case 1:o+=.5;break;case 6:o+=1;break;case 4:o+=1;break;case 3:o+=1;break;case 0:o+=1;break;case 5:o+=2;break;case 2:o+=3;break}}return o}static async calculateLevel(e){let r=await Qr(e),n=this.contributionScore(r),o=n/21;if(typeof window<"u"&&typeof CustomEvent<"u"){let i=new CustomEvent("LevelUpdate",{detail:{level:o,points:n,username:e},bubbles:!0});window.dispatchEvent(i)}return o}};at.MAX_SYNC_RETRIES=5,at.SYNC_RETRY_BASE_MS=2e3,at._replaying=!1,at.onSyncListeners=[];var ct=at,ol=new Map,$=new ct("mine");ol.set("mine",$);var T1=t=>{let{objectType:e,objectId:r,ts:n}=t;switch(t.action){case 0:return{operation:mt.Visit,objectType:e,objectId:r,ts:n};case 2:return{operation:mt.Download,objectType:e,objectId:r,ts:n};case 3:return{operation:mt.Rate,objectType:e,objectId:r,ts:n,rate:t.rate};case 4:return{operation:mt.RatePart,objectType:e,objectId:r,ts:n,part:t.part,rate:t.rate};case 5:return{operation:mt.Share,objectType:e,objectId:r,ts:n,socialMediaId:t.socialMediaId};case 6:return{operation:mt.SharePart,objectType:e,objectId:r,ts:n,part:t.part,socialMediaId:t.socialMediaId};case 1:default:return null}},C1=t=>{let{objectType:e,objectId:r,ts:n}=t;switch(t.operation){case mt.Visit:return{action:0,objectType:e,objectId:r,ts:n};case mt.Download:return{action:2,objectType:e,objectId:r,ts:n};case mt.Rate:return{action:3,objectType:e,objectId:r,ts:n,rate:t.rate};case mt.RatePart:{let o=t;return{action:4,objectType:e,objectId:r,ts:n,part:o.part,rate:o.rate}}case mt.Share:return{action:5,objectType:e,objectId:r,ts:n,socialMediaId:t.socialMediaId};case mt.SharePart:{let o=t;return{action:6,objectType:e,objectId:r,ts:n,part:o.part,socialMediaId:o.socialMediaId}}}},dP=t=>Hs(t.operation),Ks=async(t,e,r)=>{let n=new Map(e.textIndex.map((i,s)=>[i,e.textData[s]])),o=[];for(let i=0;i<e.patches.length;i++){let s=Vd({version:e.version,patches:[e.patches[i]],textIndex:n.has(i)?[0]:[],textData:n.has(i)?[n.get(i)]:[]},$c);for(let a of s){let c=dP(a)?C1(a):a;o.push(r?{...c,sourceStream:r.streamId,eventId:JSON.stringify(["chain",r.streamId,r.fromIndex+i])}:c)}}await I1(t,o),r&&await nl(t)},Qs=t=>{let e=ct.cleanData(t.filter(r=>!r.sourceStream)).map(({pk:r,username:n,eventId:o,sourceStream:i,recordId:s,targetRecordId:a,order:c,provenance:u,...d})=>d).map(r=>Te(r)?(r.operation===k.EditPropertyString?r.value=zc(r.value):r.operation===k.EditInstanceFieldString&&(r.value=zc(r.value)),r):T1(r)).filter(r=>r!==null);return Gd(e,Ye(),Tn)},lP=async(t,e)=>{let r=await pi("mine",t+1);return Qs(r.filter(n=>n.pk<=e))},pP=t=>{if(!ol.has(t)){console.warn(`Account ${t} does not exist in patchesInstances \u2014 creating a new one`);let e=new ct(t);e.initThread($.threadInstance),ol.set(t,e)}return ol.get(t)};var il=new Map;async function Zr(t,e,r=Oc()){let n=`${t.type}:${Pn(e,r)}`;if(J(t.type,e,r))return Y(t.type,e,r);if(il.has(n))return il.get(n);let o=[],i=$.observePending(a=>{if(!(!Te(a)||kt(e)&&r!==$.username)&&(a.objectType===t.type&&a.objectId===e&&o.push(a),a.operation===k.EditRelation)){let c=$r(a);c?.objectType===t.type&&c.objectId===e&&o.push(c)}}),s=(async()=>{let a=$.threadInstance;if(!a)throw new Error("worker thread not initialized \u2014 call PatchInstance.initThread first");let c=await a.sendRequest({cmd:"getRecord",payload:{objectType:t.type,id:e,...r?{creatorUsername:r}:{}}});if(J(t.type,e,r))return Y(t.type,e,r);if(!c)throw new Error(`${t.type} ${e} not found in worker storage`);if(Array.isArray(c))throw new Error("Patch worker is outdated; reload with the rebuilt worker before loading records");let u=new t(c.json,r);u.restoreSnapshot(c);for(let d of o)u.patch(d,!1,!1);return kt(e)&&u.lifecycleStatus!==3&&En(t.type,e,r),it(t.type,u,r),u})();il.set(n,s);try{return await s}finally{i(),il.delete(n)}}function R1(t,e){var r;return r=(e.getFullYear()-t.getFullYear())*12,r-=t.getMonth(),r+=e.getMonth(),r<=0?0:r}var Zs=new Date(2025,4,1),N1=Math.floor(new Date(2025,11,1,0,0,0).getTime()/1e3),pr={now:()=>Math.floor(Date.now()/1e3)-N1,serialize:t=>{let e=new DataView(new ArrayBuffer(4));return e.setUint32(0,t),e.buffer},toNumber:t=>Math.floor(t.getTime()/1e3),fromNumber:t=>new Date(t*1e3),findNowBucket:()=>{let t=new Date;if(t.getTime()<Zs.getTime())throw new Error(`now ${t} is before zeroDate ${Zs}`);return R1(Zs,t)},findDateBucket:t=>{if(t.getTime()<Zs.getTime())throw new Error(`now ${t} is before zeroDate ${Zs}`);return R1(Zs,t)}};var Mt=new Map,B1=(t,e)=>{Mt.has(t)||Mt.set(t,new Map),Mt.get(t).has(e)||Mt.get(t).set(e,{visits:[],downloads:[],rating:0,socialMediaId:[],parts:{}})},ey=new Set,ty=t=>(ey.add(t),()=>{ey.delete(t)}),Tr=t=>{if(t.length!==0){fP(t);for(let e of ey)e()}},fP=t=>{for(let e of t){B1(e.objectType,e.objectId);let n=Mt.get(e.objectType).get(e.objectId);switch(e.action){case 0:n.visits.push(pr.now());break;case 2:n.downloads.push(pr.now());break;case 1:n.parts[e.part]?n.parts[e.part].visits.push(pr.now()):n.parts[e.part]={rating:0,visits:[pr.now()],socialMediaId:[]};break;case 4:n.parts[e.part]?n.parts[e.part].rating=e.rate:n.parts[e.part]={rating:e.rate,visits:[],socialMediaId:[]};break;case 3:n.rating=e.rate;break;case 6:n.parts[e.part]?n.parts[e.part].socialMediaId.push(e.socialMediaId):n.parts[e.part]={rating:0,visits:[],socialMediaId:[e.socialMediaId]};break;case 5:n.socialMediaId.push(e.socialMediaId);break;default:break}}},mP=t=>{if(!Mt.has(t))return[];let e=Mt.get(t);return Array.from(e.entries()).filter(([,r])=>r.downloads.length>0).map(([r])=>r)},gP=t=>{if(!Mt.has(t))return[];let e=Mt.get(t);return Array.from(e.entries()).filter(([,r])=>r.visits.length>0).map(([r])=>r)},yP=t=>{if(!Mt.has(t))return[];let e=Mt.get(t),r=Array.from(e.keys()).filter(n=>{let o=e.get(n);return o.visits.length>0||o.downloads.length>0||[2,1,4].includes(o.rating)}).map(n=>{let o=e.get(n);return{id:n,nbVisits:o.visits.length,rating:o.rating}});return r.sort((n,o)=>o.nbVisits-n.nbVisits),r},Hc=class{constructor(e,r){this.objectId=e;this.objectType=r}favoriteParts(){if(!Mt.has(this.objectType))return[];let e=Mt.get(this.objectType);if(!e.has(this.objectId))return[];let r=e.get(this.objectId),n=Object.keys(r.parts).map(o=>({partId:parseInt(o),nbVisits:r.parts[o].visits.length,rating:r.parts[o].rating}));return n.sort((o,i)=>i.nbVisits-o.nbVisits),n}check(){B1(this.objectType,this.objectId)}visit(){let e={action:0,ts:pr.now(),objectId:this.objectId,objectType:this.objectType};Tr([e]),$.addPatch(e)}download(){let e={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:2};Tr([e]),$.addPatch(e)}get rating(){return this.check(),Mt.get(this.objectType)?.get(this.objectId)?.rating}set rating(e){let r={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:3,rate:e};Tr([r]),$.addPatch(r)}share(e){let r={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:5,socialMediaId:e};Tr([r]),$.addPatch(r)}ratePart(e,r){let n={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:4,part:e,rate:r};Tr([n]),$.addPatch(n)}visitPart(e){let r={objectType:this.objectType,objectId:this.objectId,ts:pr.now(),action:1,part:e};Tr([r]),$.addPatch(r)}};var sl=new Map,ry="mine";var L1=(t,e)=>{sl.has(t)||sl.set(t,new Map);let r=sl.get(t);return r.has(e)||r.set(e,{createdBy:ry,properties:new Map,relations:new Map}),r.get(e)},k1=t=>{if(!ct._replaying)switch(t.operation){case k.EditPropertyString:case k.EditPropertyNumber:{let e=t,r=L1(e.objectType,e.objectId);r.properties.has(e.propertyId)||r.properties.set(e.propertyId,[]),r.properties.get(e.propertyId).push({username:ry,value:e.value,langId:e.langId});break}case k.EditRelation:{let e=t,r=L1(e.objectType,e.objectId);r.relations.has(e.relationId)||r.relations.set(e.relationId,[]),r.relations.get(e.relationId).push({username:ry,value:[e.action===G.Add?"+":"-",e.targetId]});break}default:break}},D1=(t,e)=>sl.get(t)?.get(e);var M1=t=>({...t,wireId:Dt(t.wireId)}),O1=t=>({...t,wireId:Sn(t.wireId)}),al=class{constructor(){this.db=null;this.instanceRemaps=new cl(this)}init(e){this.db=e}get idb(){if(!this.db)throw new Error("[models_v2] LocalRecordTable not initialised \u2014 call localRecordTable.init(db) at startup");return this.db}async put(e){return new Promise((r,n)=>{let s=this.idb.transaction("localRecords","readwrite").objectStore("localRecords").put(M1(e));s.onsuccess=()=>r(),s.onerror=()=>n(s.error)})}async putIfAbsent(e){return new Promise((r,n)=>{let o=this.idb.transaction("localRecords","readwrite");o.onabort=()=>n(o.error||new Error("Transaction aborted")),o.onerror=()=>n(o.error);let i=o.objectStore("localRecords"),s=i.get([e.creatorUsername,Dt(e.wireId)]);s.onsuccess=()=>{if(s.result)r();else{let a=i.add(M1(e));a.onsuccess=()=>r(),a.onerror=()=>n(a.error)}},s.onerror=()=>n(s.error)})}async get(e,r){return new Promise((n,o)=>{let a=this.idb.transaction("localRecords","readonly").objectStore("localRecords").get([e,Dt(r)]);a.onsuccess=()=>n(a.result?O1(a.result):void 0),a.onerror=()=>o(a.error)})}async getByCreator(e){return new Promise((r,n)=>{let a=this.idb.transaction("localRecords","readonly").objectStore("localRecords").index("byCreator").getAll(e);a.onsuccess=()=>r(a.result.map(O1)),a.onerror=()=>n(a.error)})}async setStatus(e,r,n){return new Promise((o,i)=>{let a=this.idb.transaction("localRecords","readwrite").objectStore("localRecords"),c=a.get([e,Dt(r)]);c.onsuccess=()=>{if(!c.result){i(new Error(`LocalRecordEntry not found: ${e}:${r}`));return}let u=c.result;u.status=n;let d=a.put(u);d.onsuccess=()=>o(),d.onerror=()=>i(d.error)},c.onerror=()=>i(c.error)})}async setCanonicalId(e,r,n){return new Promise((o,i)=>{let a=this.idb.transaction("localRecords","readwrite").objectStore("localRecords"),c=a.get([e,Dt(r)]);c.onsuccess=()=>{if(!c.result){i(new Error(`LocalRecordEntry not found: ${e}:${r}`));return}let u=c.result;u.canonicalId=n;let d=a.put(u);d.onsuccess=()=>o(),d.onerror=()=>i(d.error)},c.onerror=()=>i(c.error)})}},cl=class{constructor(e){this.table=e}async get(e,r,n,o){return new Promise((i,s)=>{let d=this.table.idb.transaction(vo,"readonly").objectStore(vo).get([n,Dt(e),r,o]);d.onsuccess=()=>i(d.result?.realIndex),d.onerror=()=>s(d.error)})}async put(e,r,n,o,i){return new Promise((s,a)=>{let l=this.table.idb.transaction(vo,"readwrite").objectStore(vo).put({creatorUsername:n,objectId:Dt(e),langId:r,originalIndex:o,realIndex:i});l.onsuccess=()=>s(),l.onerror=()=>a(l.error)})}},Cr=new al;var ny=null,hP="eng",U1,_1=!1,ne={get userLang(){if(ny===null)throw new Error("[models_v2] Default language not set! Call setDefaultLanguage() before using models.");return ny},get commonLang(){return hP},get defaultProvenance(){return U1},get loadAiSidecars(){return _1}};function sy(t){ny=t}function bP(t){U1=t}function ay(t){_1=t}var xP=0,wP=1,IP=2,SP=3,Ao=0,fi=1,mi=2,ul=3,Wc=4,Js=5,Ys=6,Gc=7;function oy(t){return Array.from(t.entries()).map(([e,r])=>[e,Array.from(r.values(),Dt)])}function dl(t){return Array.from(t,([e,r])=>[e,Array.from(r.entries())])}var iy=t=>{let[e,r,n,o,i,s,a]=t;return[Sn(e),new Map(r.map(([c,u])=>[c,new Set(u.map(Sn))])),new Map(n.map(([c,u])=>[c,new Set(u.map(Sn))])),new Map(o.map(([c,u])=>[c,new Map(u)])),new Map(i.map(([c,u])=>[c,new Map(u)])),new Map(s.map(([c,u])=>[c,new Map(u)])),new Map(a)]},F1=new Set,j1=(t,e)=>{if(t){if(t.has(e))return t.get(e);if(t.has(Gt))return t.get(Gt);if(t.size===1)return t.values().next().value}},vP=[0,2],AP=t=>{switch(t){case 1:return"childOf";case 2:return"parentOf";default:return"equivalentWith"}},Xe=class extends Hc{constructor(r,n,o){let i=n[1]instanceof Map?n:iy(n);super(i[0],r);this.hydratedThrough=0;this._boolValues=new Map;this._stringValues=new Map;this._numberValues=new Map;this._has=new Map;this._in=new Map;this._instances=new Map;this._provenance=new Map;this._aiResults=new Map;this.instanceRemaps=[];this._id=i[0],this._creatorUsername=o,this._has=i[1],this._in=i[2],this._numberValues=i[3],this._boolValues=i[4],this._stringValues=i[5],this._instances=i[6]??new Map,this.schema=de.get(r);for(let{relationId:s,direction:a}of this.schema.relations??[]){let c=a==="has"?this._has:this._in;c.has(s)||c.set(s,new Set)}for(let s of[Ao,fi,mi,Wc])this._stringValues.has(s)||this._stringValues.set(s,new Map);this._boolValues.has(Js)||this._boolValues.set(Js,new Map([[Gt,!0]])),this._boolValues.has(Ys)||this._boolValues.set(Ys,new Map([[Gt,!1]]))}static _safeRelation(r,n,o,i,s){let a=[];for(let c of n)if(o(c))a.push(i(c));else{let u="";try{let d=r.getProp(Ao);d&&(u=` and name="${d}"`)}catch{}console.warn(`[ORM] ${r.constructor.name} with Id=${r.id}${u} has a relationship not met: ${s} to Id=${c}. With id=${c} not defined.`)}return a}static createNewRequest(r){return[r,new Map,new Map,new Map,new Map,new Map,new Map]}static async createNewRecord(r,n){let{wireId:o}=await r.next(),i={operation:k.CreateRecord,objectType:this.type,objectId:o,langId:0};$.addPatch(i);let s=[o,new Map,new Map,new Map,new Map,new Map,new Map],a=new this(s,n);return it(this.type,a,n),En(this.type,o,n),await Cr.putIfAbsent({wireId:o,creatorUsername:n,objectType:this.type,createdAt:Date.now(),status:"active"}),a}get creatorUsername(){return kt(this.id)?this._creatorUsername??"":"canonical"}propertySlots(){let r=new Map;for(let n of[this._stringValues,this._numberValues,this._boolValues])for(let[o,i]of n)r.set(o,[...i]);return[...r]}restorePropertySlots(r,n){if(n===void 0)this._stringValues.clear(),this._numberValues.clear(),this._boolValues.clear();else for(let o of[this._stringValues,this._numberValues,this._boolValues])for(let i of o.values())i.delete(n);for(let[o,i]of r){let s=this.getPropType(o),a=s==="string"?this._stringValues:s==="boolean"?this._boolValues:this._numberValues;for(let[c,u]of i)(n===void 0||c===n||!a.get(o)?.has(c))&&this.setRaw(o,u,c)}}snapshot(){return{json:this.toJSON(),instanceRemaps:this.instanceRemaps,patchOrder:this.hydratedThrough,provenance:this._provenance,bridges:this.bridges,ai:this._aiResults}}replaceSnapshot(r){let n=iy(r.json);this._has=n[1],this._in=n[2],this._numberValues=n[3],this._boolValues=n[4],this._stringValues=n[5],this._instances=n[6]??new Map,this.restoreSnapshot(r)}restoreSnapshot(r){this.instanceRemaps=r.instanceRemaps??[],this.hydratedThrough=r.patchOrder??0,this._provenance=r.provenance,this.bridges=r.bridges,this._aiResults=r.ai}toJSON(){return[Dt(this._id),oy(this._has),oy(this._in),dl(this._numberValues),dl(this._boolValues),dl(this._stringValues),Array.from(this._instances.entries())]}getAiResultsAllLangs(){return this._aiResults}getAiResults(r){let n=r??ne.userLang,o=new Map;for(let[i,s]of this._aiResults.entries())for(let[a,c]of s.entries()){let u=j1(c,n);if(!u)continue;let d=o.get(i);d||(d=new Map,o.set(i,d)),d.set(a,u)}return o}attachAiResult(r,n,o,i){let s=Date.now(),a=i,c="json";i&&typeof i=="object"&&"ts"in i&&"value"in i&&"format"in i&&(s=i.ts,a=i.value,c=i.format);let u=this._aiResults.get(r);u||(u=new Map,this._aiResults.set(r,u));let d=u.get(n);d||(d=new Map,u.set(n,d));let l=d.get(o);l||(l=new Set,d.set(o,l));let p=!1;for(let f of l)if(f.ts===s&&f.format===c){p=!0;break}p||l.add({ts:s,value:a,format:c})}get id(){return this._id}langOf(r){return vn[r]??Gt}langIdOf(r){let n=r??ne.userLang,o=We[n];return o===void 0?(n!==Gt&&!F1.has(n)&&(F1.add(n),console.warn(`[models_v2] Unknown language "${n}" \u2014 patches will land in the lang-agnostic slot (langId 0) and may collide with other unmapped languages. Append "${n}" to LANG_ID_ENCODE in db_schema_v2.`)),0):o}getLoadedLanguages(){let r=new Set;for(let n of this._stringValues.values())for(let o of n.keys())o!==Gt&&r.add(o);for(let n of this._numberValues.values())for(let o of n.keys())o!==Gt&&r.add(o);for(let n of this._boolValues.values())for(let o of n.keys())o!==Gt&&r.add(o);if(r.size===0)try{r.add(ne.userLang)}catch{r.add("eng")}return Array.from(r)}getUidStrategies(){let r=this.schema?.uidStrategy,n=r?Array.isArray(r)?r:[r]:[];if(n.length===0)return n;let o=this.schema.indexes?.find(i=>i.linkToUidStrategy);if(o){let i;try{i=ne.userLang}catch{i="eng"}let s=Ze.getAvailableRawValues(this.objectType,o.name,i);return Array.from(new Set([...n,...s]))}return n}getClassificationType(r){let n=this.getUidStrategies();if(n.length===0)return"unclassified";if("classificationSystem"in this&&this.classificationSystem){let i=this.classificationSystem;if(n.includes(i))return i}let o=r||this.getDefaultClassificationFieldMap();for(let i of n){let s=o[i];if(s&&this[s])return i}return"unclassified"}getDefaultClassificationFieldMap(){let r={},n=this.getUidStrategies();for(let o of n)r[o]=`${o}Notation`;return r}get title(){return this.getProp(Ao)??""}set title(r){this.dispatchString(Ao,r)}getTitle(r){return this.getProp(Ao,r)??""}setTitle(r,n){this.dispatchString(Ao,r,n)}get description(){return this.getProp(fi)??""}set description(r){this.dispatchString(fi,r)}getDescription(r){return this.getProp(fi,r)??""}setDescription(r,n){this.dispatchString(fi,r,n)}get originalLang(){return this.getProp(mi)??""}set originalLang(r){this.dispatchString(mi,r)}getOriginalLang(r){return this.getProp(mi,r)??""}setOriginalLang(r,n){this.dispatchString(mi,r,n)}get ageGradeBand(){return this.getProp(ul)??0}set ageGradeBand(r){this.dispatchNumber(ul,r)}get previewTxId(){return this.getProp(Wc)??""}set previewTxId(r){this.dispatchString(Wc,r)}get safe(){return this.getProp(Js)??!0}set safe(r){this.dispatchNumber(Js,r?1:0)}get deleted(){return this.getProp(Ys)??!1}set deleted(r){this.dispatchNumber(Ys,r?1:0)}get lifecycleStatus(){return this.getProp(Gc)??0}set lifecycleStatus(r){if(!kt(this.id))throw new Error("lifecycleStatus can only be set on user-created provisional records");if(!this._creatorUsername)throw new Error("Missing creatorUsername on provisional record");if(r<this.lifecycleStatus)throw new Error(`lifecycleStatus is forward-only: cannot transition from ${this.lifecycleStatus} to ${r}`);this.dispatchNumber(Gc,r,Gt)}dispatchString(r,n,o){let i={operation:k.EditPropertyString,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(o),propertyId:r,value:n};this.patch(i);let s=o??ne.userLang,a=ne.defaultProvenance;a!==void 0&&this.getProvenance(r,s)!==a&&this.setProvenanceRaw(s,r,a),$.addPatch({...i,...a!==void 0?{provenance:a}:{}})}dispatchNumber(r,n,o){let i={operation:k.EditPropertyNumber,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(o),propertyId:r,value:n};this.patch(i);let s=o??ne.userLang,a=ne.defaultProvenance;a!==void 0&&this.getProvenance(r,s)!==a&&this.setProvenanceRaw(s,r,a),$.addPatch({...i,...a!==void 0?{provenance:a}:{}})}dispatchRelation(r,n,o){let i={operation:k.EditRelation,objectType:this.objectType,objectId:this.id,langId:0,relationId:r,action:n,targetId:o};this.patch(i),$.addPatch(i)}applyRelationRaw(r,n,o,i,s=!0){let a=r==="has"?this._has:this._in;a.has(n)||a.set(n,new Set),o===G.Add?a.get(n).add(i):a.get(n).delete(i),s&&At.trigger(this)}restoreInverses(){for(let[r,n]of this._has){let o=this.schema.relations?.find(a=>a.relationId===r);if(!o?.inverted)continue;let i=de.getByName(o.targetType),s=i?.relations.find(a=>a.name===o.inverted);if(!(!i||!s))for(let a of n){if(!J(i.objectId,a,this.creatorUsername))continue;let c=Y(i.objectId,a,this.creatorUsername),u=c._in.get(s.relationId);u||(u=new Set,c._in.set(s.relationId,u)),u.add(this._id)}}}findChildByTitle(r,n){let o=n.trim().toLowerCase();if(!o)return null;let i=this._has.get(r);if(!i||i.size===0)return null;let s=this.schema.relations?.find(c=>c.relationId===r&&c.direction==="has");if(!s)return null;let a=de.getByName(s.targetType);if(!a)return null;for(let c of i){if(!J(a.objectId,c))continue;let u=Y(a.objectId,c);if(u.title.trim().toLowerCase()===o)return u}return null}async hydrateChildren(r){let n=this._has.get(r);if(!n||n.size===0)return;let o=this.schema.relations?.find(c=>c.relationId===r&&c.direction==="has");if(!o)return;let i=de.getByName(o.targetType);if(!i)return;let s=Fc(i.objectId);if(!s)return;let a=Array.from(n).filter(c=>!J(i.objectId,c));a.length!==0&&await Promise.all(a.map(c=>s.LoadAsync(c).catch(u=>{console.warn(`[Orm.hydrateChildren] failed to hydrate id=${c}: ${u?.message??u}`)})))}async getOrCreateChildByTitle(r,n,o){await this.hydrateChildren(r);let i=this.findChildByTitle(r,n);if(i)return i;let s=await o();return s.title=n.trim(),this.dispatchRelation(r,G.Add,s.id),s}getBridgedRelationIdsSync(r,n,o=new Set){let i=n==="has"?this._has:this._in,s=Array.from(i.get(r)?.values()??[]);if(!this.bridges?.conversions)return s;let a=this.schema.relations?.find(d=>d.targetType===this.schema.name&&d.direction==="has"),c=a&&a.relationId===r,u=[...s];for(let[d,l]of Object.entries(this.bridges.conversions))for(let p of["equivalentWith","childOf","parentOf"]){let f=l[p];if(f)for(let g of f){let m=`${d}:${p}:${g.id}`;if(o.has(m))continue;o.add(m);let h;try{h=BigInt(g.id)}catch{try{let b=Ze.getIndex(this.objectType,"byClassificationSystem").getUidsByRawValue(d,"eng"),w=Array.from(b).find(x=>{let y=Y(this.objectType,x);return y&&(y.lccNotation||y.ddcNotation||y.udcNotation||y.clcNotation||y.bbkNotation||y.tlcNotation||y.ccNotation)===g.id});w&&(h=w)}catch{}}if(h)if(p==="equivalentWith"){if(J(this.objectType,h)){let b=Y(this.objectType,h);u.push(...b.getBridgedRelationIdsSync(r,n,o))}}else c&&(n==="has"&&p==="parentOf"||n==="in"&&p==="childOf")&&u.push(h)}}return Array.from(new Set(u))}async collectDeepIds(r,n){let o=n?.includeDeleted??!1,i=n?.bridgeTypes??vP,s=this.schema.relations?.find(b=>b.name===r);if(!s)return[];let c=s.targetType===this.schema.name?s:this.schema.relations?.find(b=>b.targetType===this.schema.name&&b.direction==="has"),u=Fc(this.objectType),d=async b=>{if(!u)return null;try{return u.Has(b)?u.Load(b):await u.LoadAsync(b)}catch{return null}},l=new Set,p=new Set,f=async(b,w)=>{if(l.has(b.id)||(l.add(b.id),!w&&!o&&(b.deleted||!b.safe)))return;let x=s.direction==="has"?b._has:b._in;for(let y of x.get(s.relationId)??[])p.add(y);if(c){let y=c.direction==="has"?b._has:b._in;for(let I of y.get(c.relationId)??[]){if(l.has(I))continue;let S=await d(I);S&&await f(S,!1)}}if(b.bridges?.conversions)for(let y of Object.keys(b.bridges.conversions)){let I=b.bridges.conversions[y];for(let S of i){let A=I[AP(S)];if(A)for(let P of A){let N;try{N=BigInt(P.id)}catch{continue}if(l.has(N))continue;let T=await d(N);T&&await f(T,!1)}}}};if(await f(this,!0),o)return Array.from(p);let g=de.getByName(s.targetType),m=g?Fc(g.objectId):void 0;if(!m)return Array.from(p);let h=[];for(let b of p)try{let w=m.Has(b)?m.Load(b):await m.LoadAsync(b);!w.deleted&&w.safe&&h.push(b)}catch{}return h}patch(r,n=!0,o=!0){switch(n&&k1(r),r.operation){case k.EditPropertyString:{let i=r;this._stringValues.has(i.propertyId)||this._stringValues.set(i.propertyId,new Map),this._stringValues.get(i.propertyId).set(this.langOf(i.langId),i.value);break}case k.EditPropertyNumber:{let i=r;if(o&&i.propertyId===Gc){let a=i.value===1?"submitted":i.value===2?"community_pending":i.value===3?"canonical":"active";Cr.setStatus(this.creatorUsername,this.id,a).catch(c=>{c.message?.includes("not found")||console.error("[Orm] Failed to update LocalRecordTable status:",c)}),i.value===3&&jc(this.objectType,this.id,this.creatorUsername)}let s=this.langOf(i.langId);this.getPropType(i.propertyId)==="boolean"?(this._boolValues.has(i.propertyId)||this._boolValues.set(i.propertyId,new Map),this._boolValues.get(i.propertyId).set(s,!!i.value)):(this._numberValues.has(i.propertyId)||this._numberValues.set(i.propertyId,new Map),this._numberValues.get(i.propertyId).set(s,i.value));break}case k.EditInstanceFieldString:case k.EditInstanceFieldNumber:{let i=r;this.applyInstancePatch(i);break}case k.EditRelation:{let i=r,a=this.schema.relations?.find(d=>d.relationId===i.relationId)?.direction??(this._in.has(i.relationId)&&!this._has.has(i.relationId)?"in":"has");this.applyRelationRaw(a,i.relationId,i.action,i.targetId,o);let c=o?$r(i):void 0,u=kt(this.id)?this.creatorUsername:void 0;if(c&&J(c.objectType,c.objectId,u)){let d=Y(c.objectType,c.objectId,u),l=d.schema.relations.find(p=>p.relationId===c.relationId);d.applyRelationRaw(l.direction,c.relationId,c.action,c.targetId)}break}case k.AddInstance:{let i=r,s=this.langOf(i.langId),a=this._instances.get(s);for(a||(a=[],this._instances.set(s,a));a.length<=i.instanceIndex;)a.push({});break}case k.CreateRecord:break;case k.MergeProposal:{let i=r;this.bridges||(this.bridges={original:i.original,conversions:{}}),this.bridges.conversions||(this.bridges.conversions={}),this.bridges.conversions[i.destSystem]||(this.bridges.conversions[i.destSystem]={});let s=this.bridges.conversions[i.destSystem];s[i.relationType]||(s[i.relationType]=[]);let a=s[i.relationType].findIndex(c=>c.id===i.targetId);a>=0?s[i.relationType][a].confidence=i.confidence:s[i.relationType].push({id:i.targetId,confidence:i.confidence});break}case k.DeleteBridge:{let i=r;if(this.bridges?.conversions){let s=this.bridges.conversions[i.destinationSystem];if(s?.[i.bridgeTypeToDelete]){let a=String(i.targetTagId);s[i.bridgeTypeToDelete]=s[i.bridgeTypeToDelete].filter(c=>String(c.id)!==a)}}break}default:throw new Error(`unhandled patch operation ${r.operation}`)}if(r.operation===k.EditPropertyString||r.operation===k.EditPropertyNumber){let i=r.provenance;i!==void 0&&this.setProvenanceRaw(this.langOf(r.langId),r.propertyId,i)}if(o&&(r.operation===k.EditPropertyString||r.operation===k.EditPropertyNumber)){let i=r;Ze.updateIndex(this.objectType,i.propertyId,this)}o&&At.trigger(this)}applyInstancePatch(r){let n=this.langOf(r.langId),o=this._instances.get(n);for(o||(o=[],this._instances.set(n,o));o.length<=r.instanceIndex;)o.push({});let i=this.schema.instanceFields?.find(c=>c.propId===r.propertyId),s=i?.name??`field${r.propertyId}`,a=r.value;i?.type==="boolean"&&typeof a=="number"&&(a=!!a),o[r.instanceIndex][s]=a}getPropType(r){switch(r){case Ao:case fi:case mi:case Wc:return"string";case ul:case Gc:return"number";case Js:case Ys:return"boolean"}let n=this.schema.props.find(o=>o.propId===r);if(typeof n>"u")throw new Error(`unknown prop ${r} in schema ${this.schema.name}`);return n.type==="enum"?"number":n.type}resolvedPropertyValue(r,n){let o=this.getPropType(r),i=o==="string"?this._stringValues:o==="number"?this._numberValues:this._boolValues;return j1(i.get(r),n)}getProp(r,n){At.track(this);let o=this.resolvedPropertyValue(r,n??ne.userLang);return this.getPropType(r)==="string"?o??"":o}setRaw(r,n,o=Gt){switch(this.getPropType(r)){case"string":{this._stringValues.has(r)||this._stringValues.set(r,new Map),this._stringValues.get(r).set(o,n);break}case"number":{this._numberValues.has(r)||this._numberValues.set(r,new Map),this._numberValues.get(r).set(o,n);break}case"boolean":{this._boolValues.has(r)||this._boolValues.set(r,new Map),this._boolValues.get(r).set(o,!!n);break}}}getInstancesData(r){return At.track(this),this._instances.get(r??ne.userLang)??[]}getDefaultInstanceData(r){let n=this.getInstancesData(r);return n.find(o=>o.isDefault===!0)??n[0]}setInstancesRaw(r,n){this._instances.set(r,n)}growInstances(r,n){let o=this._instances.get(r);for(o||(o=[],this._instances.set(r,o));o.length<=n;)o.push({})}addInstance(r){if(!this.schema.multipleInstances)throw new Error(`Model ${this.constructor.name} does not support multiple instances.`);let n=r??ne.userLang,i=this.getInstancesData(n).length;this.growInstances(n,i);let s={operation:k.AddInstance,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(n),instanceIndex:i};return this.patch(s),$.addPatch(s),i}getProvenance(r,n){return At.track(this),this._provenance.get(n??ne.userLang)?.get(r)??0}setProvenanceRaw(r,n,o){this._provenance.has(r)||this._provenance.set(r,new Map),this._provenance.get(r).set(n,o)}mergeSlim(r,n,o=ne.userLang){this.setRaw(0,r.titles?.[n]??"",o),this.setRaw(2,r.originalLangs?.[n]??"",o),this.setRaw(4,r.previewTxIds?.[n]??"",o);let i=r.ageGradeBands?.[n];i!=null&&this.setRaw(3,i,o);let s=r.safes?.[n];s!=null&&this.setRaw(5,s===1,o);let a=r.deleteds?.[n];a!=null&&this.setRaw(6,a===1,o);for(let c of this.schema.props){if(c.source!=="slim")continue;let u=Vt(c.name,c.type),d=r[u]?.[n];c.type==="string"?this.setRaw(c.propId,d??"",o):c.type==="boolean"?d!=null&&this.setRaw(c.propId,d===1,o):d!=null&&this.setRaw(c.propId,d,o)}if(this.schema.multipleInstances){let c=this.schema.instanceFields?.find(d=>d.type==="string"),u=!0;if(c){let d=`default${Vt(Dc(c.name),c.type)}`;r[d]?.[n]==null&&(u=!1)}if(u&&this.getInstancesData(o).length===0){let d={isDefault:!0};for(let l of this.schema.instanceFields||[]){let p=`default${Vt(Dc(l.name),l.type)}`,f=r[p]?.[n];l.type==="boolean"?d[l.name]=f===1:d[l.name]=f??null}this.setInstancesRaw(o,[d])}}}mergeExtended(r,n,o=ne.userLang){this.setRaw(1,r.descriptions?.[n]??"",o);for(let i of this.schema.props){if(i.source!=="extended")continue;let s=Vt(i.name,i.type),a=r[s]?.[n];i.type==="string"?this.setRaw(i.propId,a??"",o):i.type==="boolean"?a!=null&&this.setRaw(i.propId,a===1,o):a!=null&&this.setRaw(i.propId,a,o)}for(let i of this.schema.relations||[]){if(i.direction!=="has")continue;let s=Eg(i);if(r[s]){let a=this._has.get(i.relationId);for(let c of r[s][n]??[])a.add(BigInt(c))}}this.schema.multipleInstances&&r.instances&&this.setInstancesRaw(o,r.instances[n]??[])}mergeProv(r,n,o=ne.userLang){let i=r.fields?.[Kd]?.[n];i!=null&&(this.instanceRemaps=[...new Map([...this.instanceRemaps,...JSON.parse(i)])]);let s=r.fields?.[qd]?.[n];s!=null&&this.restorePropertySlots(JSON.parse(s),o);let a={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7};for(let[c,u]of Object.entries(r.fields||{})){let d=a[c];if(d===void 0){let l=this.schema.props.find(p=>p.name===c);if(l)d=l.propId;else if(this.schema.instanceFields){let p=this.schema.instanceFields.find(f=>f.name===c);p&&(d=p.propId)}}d!==void 0&&this.setProvenanceRaw(o,d,u[n])}r.bridges&&r.bridges[n]&&(this.bridges=r.bridges[n])}};var $1="0123456789ABCDEFGHJKLMNPQRSTUVWXYZ",z1="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*";function H1(t){let e=0;for(let o=0;o<t.length;o++){let i=z1.indexOf(t[o]);if(i===-1)throw new Error(`[pid] Invalid character for ISO 7064 MOD 37-2: ${t[o]}`);let s=(e+i)%37;s===0&&(s=37),e=s*2%37}let r=(38-e)%37,n=z1[r];return n==="*"&&(n="X"),n==="I"&&(n="J"),n==="O"&&(n="P"),n}var PP=(1n<<64n)-1n,Vc=7,gi=13;function EP(t){if(typeof t!="bigint"||t<0n||t>PP)throw new Error(`[pid] wireId ${t} must be an unsigned 64-bit integer`);if(t===0n)return"0".repeat(gi);let e="",r=t;for(;r>0n;)e=$1[Number(r%34n)]+e,r=r/34n;return e.padStart(gi,"0")}function TP(t){if(t.length!==Vc&&t.length!==gi)throw new Error(`[pid] Base34 body must be ${Vc} (legacy) or ${gi} (native) characters, got ${t.length}`);let e=0n;for(let r=0;r<t.length;r++){let n=$1.indexOf(t[r]);if(n===-1)throw new Error(`[pid] Invalid character in base-34 body: ${t[r]}`);e=e*34n+BigInt(n)}return e}function Jr(t,e){if(t.length!==2)throw new Error("[pid] typePrefix must be exactly 2 characters");let r=EP(e),n=H1(t+r);return t+r+n}function Pt(t,e){if(!e.startsWith(t))throw new Error(`[pid] PID ${e} does not start with expected prefix ${t}`);let r;if(e.length===2+Vc+1)r=Vc;else if(e.length===2+gi+1)r=gi;else throw new Error(`[pid] PID must be ${2+Vc+1} (legacy) or ${2+gi+1} (native) characters long, got ${e.length}`);let n=e.slice(2,2+r),o=e[2+r],i=H1(t+n);if(o!==i)throw new Error(`[pid] Invalid check character in PID ${e}. Expected ${i}`);return{wireId:TP(n)}}var Yr={Book:{name:"Book",typePrefix:"BK",canonical:!0,isPrivate:!0,uidStrategy:"native-only",multipleInstances:!0,instanceUidStrategy:["isbn"],props:[{name:"prerequisites",type:"string",source:"extended",propId:8},{name:"deweyDecimal",type:"string",source:"extended",propId:9},{name:"locCallNumber",type:"string",source:"extended",propId:10},{name:"copyrightStatus",type:"enum",enum:"CopyrightStatus",source:"extended",propId:11},{name:"textQuality",type:"enum",enum:"QualityScore",source:"extended",propId:12},{name:"illustrations",type:"enum",enum:"QualityScore",source:"extended",propId:13},{name:"educationQuality",type:"enum",enum:"QualityScore",source:"extended",propId:14},{name:"practicality",type:"enum",enum:"QualityScore",source:"extended",propId:15},{name:"accessibilityLevel",type:"enum",enum:"QualityScore",source:"extended",propId:16},{name:"teacherMaterials",type:"boolean",source:"extended",propId:17},{name:"pedagogicalScaffolding",type:"enum",enum:"QualityScore",source:"extended",propId:18},{name:"clarityOfExplanation",type:"enum",enum:"QualityScore",source:"extended",propId:19},{name:"workedExamples",type:"enum",enum:"QualityScore",source:"extended",propId:20},{name:"exercisesAndAssessment",type:"enum",enum:"QualityScore",source:"extended",propId:21},{name:"selfStudyReadiness",type:"enum",enum:"QualityScore",source:"extended",propId:22},{name:"referenceApparatus",type:"enum",enum:"QualityScore",source:"extended",propId:23},{name:"safetyGuidance",type:"enum",enum:"QualityScore",source:"extended",propId:24},{name:"contentCurrency",type:"enum",enum:"QualityScore",source:"extended",propId:25},{name:"ecoRegeneration",type:"enum",enum:"QualityScore",source:"extended",propId:26},{name:"communityLiving",type:"enum",enum:"QualityScore",source:"extended",propId:27},{name:"promotesPeace",type:"enum",enum:"QualityScore",source:"extended",propId:28},{name:"businessDevelopment",type:"enum",enum:"QualityScore",source:"extended",propId:29}],instanceFields:[{name:"language",type:"string",identityComponent:!0,propId:30},{name:"downloadTxId",type:"string",propId:31},{name:"method",type:"enum",enum:"BookMethod",propId:32},{name:"isAiTranslation",type:"boolean",propId:33},{name:"aiEngine",type:"string",nullable:!0,propId:34},{name:"addedAt",type:"number",bits:32,propId:35},{name:"nbPages",type:"number",bits:16,propId:36},{name:"sizeBytes",type:"number",bits:32,propId:37},{name:"publisher",type:"string",nullable:!0,propId:38},{name:"publicationDate",type:"string",nullable:!0,propId:39},{name:"publishedAt",type:"string",nullable:!0,propId:40},{name:"qualityScore",type:"enum",enum:"QualityScore",propId:41},{name:"isbn",type:"string",nullable:!0,source:"extended",propId:42}],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",inverted:"books",relationId:0},{name:"authors",targetType:"Person",direction:"has",cardinality:"1toN",inverted:"authorOf",relationId:1}],translations:{fr:{className:"Livre",props:{title:"titre",description:"description"}},idn:{className:"Book",props:{title:"title",description:"description"}}},standardPks:{isbn:"isbn"},objectId:0},ClassificationSystem:{name:"ClassificationSystem",typePrefix:"CS",canonical:!0,isPrivate:!0,multipleInstances:!1,props:[{name:"name",type:"string",source:"extended",propId:65},{name:"institution",type:"boolean",source:"extended",propId:66},{name:"country",type:"string",source:"extended",propId:67},{name:"language",type:"string",source:"extended",propId:30},{name:"rootTagId",type:"number",source:"extended",propId:68}],instanceFields:[],relations:[{name:"rootTag",targetType:"Tag",direction:"in",cardinality:"1toN",relationId:5},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",relationId:3},{name:"books",targetType:"Book",direction:"has",cardinality:"1toN",relationId:4}],indexes:[{name:"byClassificationSystem",keys:["name"],linkToUidStrategy:!0,classifier:{type:"prefix",separator:"-",fallback:"standard",customMappings:{origin:"origin"}}}],objectId:3},Person:{name:"Person",typePrefix:"PR",canonical:!0,isPrivate:!0,uidStrategy:["isni","orcid"],multipleInstances:!1,props:[{name:"birthDate",type:"string",source:"extended",propId:43},{name:"deathDate",type:"string",source:"extended",propId:44},{name:"nationality",type:"string",source:"extended",propId:45},{name:"wikiUrl",type:"string",source:"extended",propId:46},{name:"isniId",type:"string",nullable:!0,source:"extended",propId:47},{name:"orcidId",type:"string",nullable:!0,source:"extended",propId:48}],instanceFields:[],relations:[{name:"authorOf",targetType:"Book",direction:"in",inverted:"authors",cardinality:"1toN",relationId:2}],translations:{fr:{className:"Personne"}},standardPks:{isni:"isniId",orcid:"orcidId"},objectId:1},Post:{name:"Post",typePrefix:"PO",canonical:!0,isPrivate:!1,uidStrategy:"native-only",multipleInstances:!1,props:[{name:"isPinned",type:"boolean",source:"extended",propId:70},{name:"isLocked",type:"boolean",source:"extended",propId:71}],instanceFields:[],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",relationId:0},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",relationId:3},{name:"parentPost",targetType:"Post",direction:"in",cardinality:"1to1",inverted:"replies",relationId:6},{name:"replies",targetType:"Post",direction:"has",inverted:"parentPost",cardinality:"1toN",relationId:7}],objectId:4},Tag:{name:"Tag",typePrefix:"TG",canonical:!0,isPrivate:!0,uidStrategy:["lcc","ddc","udc","clc","bbk","tlc","cc"],multipleInstances:!1,props:[{name:"classificationSystem",type:"string",source:"extended",propId:56},{name:"isRootContainer",type:"boolean",source:"extended",propId:69},{name:"lccNotation",type:"string",nullable:!0,source:"extended",propId:50},{name:"ddcNotation",type:"string",nullable:!0,source:"extended",propId:49},{name:"udcNotation",type:"string",nullable:!0,source:"extended",propId:51},{name:"clcNotation",type:"string",nullable:!0,source:"extended",propId:52},{name:"bbkNotation",type:"string",nullable:!0,source:"extended",propId:53},{name:"tlcNotation",type:"string",nullable:!0,source:"extended",propId:54},{name:"ccNotation",type:"string",nullable:!0,source:"extended",propId:55}],instanceFields:[],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",inverted:"tags",relationId:0},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",inverted:"inTags",relationId:3},{name:"books",targetType:"Book",direction:"has",cardinality:"1toN",inverted:"inTags",relationId:4}],indexes:[{name:"byClassificationSystem",keys:["classificationSystem"],linkToUidStrategy:!0,classifier:{type:"prefix",separator:"-",fallback:"standard",customMappings:{origin:"origin"}}}],standardPks:{lcc:"lccNotation",ddc:"ddcNotation",udc:"udcNotation",clc:"clcNotation",bbk:"bbkNotation",tlc:"tlcNotation",cc:"ccNotation"},objectId:2}};function CP(t){if(t.length!==16)return{valid:!1,error:`Expected 16 chars, got ${t.length}`};let e=0;for(let o=0;o<15;o++){let i=parseInt(t[o],10);if(isNaN(i))return{valid:!1,error:`Non-digit character at position ${o}`};e=(e+i)*2%11}let r=(12-e)%11,n=r===10?"X":String(r);return t[15].toUpperCase()!==n?{valid:!1,error:`Check digit mismatch: expected ${n}, got ${t[15]}`}:{valid:!0}}var Cn={standardId:"isni",uriScheme:"ISNI",normalize(t){return t.replace(/[\s-]/g,"")},display(t){let e=Cn.normalize(t);return e.length===16?`${e.slice(0,4)} ${e.slice(4,8)} ${e.slice(8,12)} ${e.slice(12)}`:e},validate(t){if(!t)return{valid:!1,error:"ISNI is absent"};let e=Cn.normalize(t);return/^[0-9]{15}[0-9X]$/.test(e)?CP(e):{valid:!1,error:`ISNI does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://isni.org/isni/${Cn.normalize(t)}`},apis:{"isni-sru":{apiId:"isni-sru",name:"ISNI SRU API",async fetch({isniId:t}){if(!t)return[];let r=`https://isni.oclc.org/sru/DB=1.2/?operation=searchRetrieve&query=${`pica.isn%3D${encodeURIComponent(t)}`}&recordSchema=isni-b&maximumRecords=10`,n=await fetch(r,{headers:{Accept:"application/xml"}});if(!n.ok)return[];let o=await n.text(),i=o.match(/<isniUnformatted>([0-9X]+)<\/isniUnformatted>/),s=o.match(/<forename>([^<]+)<\/forename>/),a=o.match(/<surname>([^<]+)<\/surname>/);return i?[{isni:i[1],forename:s?.[1],surname:a?.[1]}]:[]}}}};function RP(t){if(t.length!==16)return{valid:!1,error:`Expected 16 chars, got ${t.length}`};let e=0;for(let o=0;o<15;o++){let i=parseInt(t[o],10);if(isNaN(i))return{valid:!1,error:`Non-digit at position ${o}`};e=(e+i)*2%11}let r=(12-e)%11,n=r===10?"X":String(r);return t[15].toUpperCase()!==n?{valid:!1,error:`Check digit mismatch: expected ${n}, got ${t[15]}`}:{valid:!0}}var W1="https://pub.orcid.org/v3.0",G1={Accept:"application/vnd.orcid+json"},Rn={standardId:"orcid",uriScheme:"ORCID",normalize(t){let e=t.replace(/\s/g,"");return e.length===16&&!e.includes("-")?`${e.slice(0,4)}-${e.slice(4,8)}-${e.slice(8,12)}-${e.slice(12)}`:e},display(t){return Rn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"ORCID iD is absent"};let e=Rn.normalize(t);return/^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]$/.test(e)?RP(e.replace(/-/g,"")):{valid:!1,error:`ORCID iD does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://orcid.org/${Rn.normalize(t)}`},apis:{"orcid-lookup":{apiId:"orcid-lookup",name:"ORCID Public Record API",async fetch({orcidId:t}){if(!t)return{};let e=await fetch(`${W1}/${t}/record`,{headers:G1});if(!e.ok)return{};let n=(await e.json()).person??{},o=n.name??{};return{orcidId:t,givenNames:o["given-names"]?.value,familyName:o["family-name"]?.value,biography:n.biography?.content??void 0}}},"orcid-public-api":{apiId:"orcid-public-api",name:"ORCID Public Search API",async fetch({orcidId:t}){if(!t)return[];let e=await fetch(`${W1}/search?q=orcid:${t}&rows=10`,{headers:G1});return e.ok?((await e.json()).result??[]).map(n=>({orcidId:n["orcid-identifier"]?.path??""})).filter(n=>n.orcidId):[]}}}};var yi=Yr.Person;de.register(yi);var V1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,birthDate:43,deathDate:44,nationality:45,wikiUrl:46,isniId:47,orcidId:48};function cy(t){return Hr(yi,t,Ye())}function qc(t){return Vr(yi,t)}function uy(t){return Wr(yi,t,Ye())}function Kc(t){return qr(yi,t)}function dy(t){return Gr(yi,t)}function Qc(t){return Kr(yi,t)}var gt=class gt extends Xe{constructor(e,r){super(gt.type,e,r)}static Load(e,r){return Y(gt.type,e,r)}static Has(e,r){return J(gt.type,e,r)}static async LoadAsync(e,r){return Zr(gt,e,r)}get birthDate(){return this.getProp(43)}set birthDate(e){this.dispatchString(43,e)}getBirthDate(e){return this.getProp(43,e)}setBirthDate(e,r){this.dispatchString(43,e,r)}get deathDate(){return this.getProp(44)}set deathDate(e){this.dispatchString(44,e)}getDeathDate(e){return this.getProp(44,e)}setDeathDate(e,r){this.dispatchString(44,e,r)}get nationality(){return this.getProp(45)}set nationality(e){this.dispatchString(45,e)}getNationality(e){return this.getProp(45,e)}setNationality(e,r){this.dispatchString(45,e,r)}get wikiUrl(){return this.getProp(46)}set wikiUrl(e){this.dispatchString(46,e)}getWikiUrl(e){return this.getProp(46,e)}setWikiUrl(e,r){this.dispatchString(46,e,r)}get isniId(){return this.getProp(47)??null}set isniId(e){this.dispatchString(47,e??"")}getIsniId(e){return this.getProp(47,e)??null}setIsniId(e,r){this.dispatchString(47,e??"",r)}get orcidId(){return this.getProp(48)??null}set orcidId(e){this.dispatchString(48,e??"")}getOrcidId(e){return this.getProp(48,e)??null}setOrcidId(e,r){this.dispatchString(48,e??"",r)}get inAuthorOfIds(){return this.getBridgedRelationIdsSync(2,"in")}get inAuthorOf(){return ae(W,this.inAuthorOfIds)}isInAuthorOf(e){return this._in.get(2).has(e)}async authorOfDeep(e){return ae(W,await this.collectDeepIds("authorOf",e))}addIntoAuthorOf(e){if(this.isInAuthorOf(e))return;let r={operation:k.EditRelation,objectType:W.type,objectId:e,langId:0,relationId:1,action:G.Add,targetId:this.id};J(W.type,e)&&Y(W.type,e).patch(r),this.applyRelationRaw("in",2,G.Add,e),$.addPatch(r)}removeFromAuthorOf(e){if(!this.isInAuthorOf(e))return;let r={operation:k.EditRelation,objectType:W.type,objectId:e,langId:0,relationId:1,action:G.Remove,targetId:this.id};J(W.type,e)&&Y(W.type,e).patch(r),this.applyRelationRaw("in",2,G.Remove,e),$.addPatch(r)}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:PR:${Jr("PR",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("PR",e);let r=e.split(":");return r.length>=4&&r[2]==="PR"?Pt("PR",r[3]):null}catch{return null}}get isniNormalized(){return this.isniId?Cn.normalize(this.isniId):null}validateIsni(){return Cn.validate(this.isniId)}get orcidNormalized(){return this.orcidId?Rn.normalize(this.orcidId):null}validateOrcid(){return Rn.validate(this.orcidId)}sfcuid(){return this.isniId?`isni:${Cn.normalize(this.isniId)}`:this.orcidId?`orcid:${Rn.normalize(this.orcidId)}`:this.toNativePID()}get identityCluster(){let e=this.sfcuid(),r=[this.isniId?`isni:${Cn.normalize(this.isniId)}`:null,this.orcidId?`orcid:${Rn.normalize(this.orcidId)}`:null,this.toNativePID()].filter(Boolean);return{sfcuid:e,native:this.toNativePID(),aliases:r.filter(n=>n!==e),wireId:this.id}}};gt.type=1,gt.UID_STRATEGY="standards-first",gt.STANDARD_PRIORITY=["isni","orcid"],gt.isPrivate=!0,gt.serializeSlim=cy,gt.serializeExtended=uy,gt.serializeProv=dy,gt.deserializeSlim=qc,gt.deserializeExtended=Kc,gt.deserializeProv=Qc;var Ue=gt;Pr(Ue.type,Ue);var q1=(t,e)=>{if(J(Ue.type,t,e))return Y(Ue.type,t,e);let r=new Ue(Ue.createNewRequest(t),e);return it(Ue.type,r,e),r};var Nn={standardId:"lcc",uriScheme:"LCC",normalize(t){return t.trim()},display(t){return Nn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"LCC notation is absent"};let e=Nn.normalize(t);return/^[A-Z0-9\.\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`LCC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://id.loc.gov/authorities/classification/${Nn.normalize(t)}`},apis:{}};var Bn={standardId:"ddc",uriScheme:"DDC",normalize(t){let e=t.trim();return e.includes(".")&&(e=e.replace(/\.?0+$/,"")),e},display(t){return Bn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"DDC notation is absent"};let e=Bn.normalize(t);return/^[0-9]{3}(\.[0-9]+)?$/.test(e)?{valid:!0}:{valid:!1,error:`DDC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://id.loc.gov/authorities/classification/${Bn.normalize(t)}`},apis:{}};var Ln={standardId:"udc",uriScheme:"UDC",normalize(t){return t.trim()},display(t){return Ln.normalize(t)},validate(t){if(!t)return{valid:!1,error:"UDC notation is absent"};let e=Ln.normalize(t);return/^[0-9\.\-\:\+\/\(\)\[\]\=\*\"\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`UDC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://udcsummary.info/php/index.php?c=${Ln.normalize(t)}`},apis:{}};var kn={standardId:"clc",uriScheme:"CLC",normalize(t){return t.trim()},display(t){return kn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"CLC notation is absent"};let e=kn.normalize(t);return/^[A-Z0-9\.\-\+\=\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`CLC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://clc.nlc.cn/${kn.normalize(t)}`},apis:{}};var Dn={standardId:"bbk",uriScheme:"BBK",normalize(t){return t.trim()},display(t){return Dn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"BBK notation is absent"};let e=Dn.normalize(t);return/^[0-9А-Яа-яA-Za-z\.\-\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`BBK notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://bbk.rsl.ru/external/${Dn.normalize(t)}`},apis:{}};var Mn={standardId:"tlc",uriScheme:"TLC",normalize(t){return t.trim()},display(t){return Mn.normalize(t)},validate(t){if(!t)return{valid:!1,error:"TLC notation is absent"};let e=Mn.normalize(t);return/^[A-Z0-9\.\-\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`TLC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://nlt.go.th/tlc/${Mn.normalize(t)}`},apis:{}};var On={standardId:"cc",uriScheme:"CC",normalize(t){return t.trim()},display(t){return On.normalize(t)},validate(t){if(!t)return{valid:!1,error:"CC notation is absent"};let e=On.normalize(t);return/^[A-Za-z0-9\:\,\;\-\.\'\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`CC notation does not match pattern: ${e}`}},toLinkedDataUri(t){return`https://isko.org/cc/${On.normalize(t)}`},apis:{}};var hi=Yr.Tag;de.register(hi);var K1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,classificationSystem:56,isRootContainer:69,lccNotation:50,ddcNotation:49,udcNotation:51,clcNotation:52,bbkNotation:53,tlcNotation:54,ccNotation:55};function ly(t){return Hr(hi,t,Ye())}function Zc(t){return Vr(hi,t)}function py(t){return Wr(hi,t,Ye())}function Jc(t){return qr(hi,t)}function fy(t){return Gr(hi,t)}function Yc(t){return Kr(hi,t)}var ee=class ee extends Xe{constructor(e,r){super(ee.type,e,r)}static Load(e,r){return Y(ee.type,e,r)}static Has(e,r){return J(ee.type,e,r)}static async LoadAsync(e,r){return Zr(ee,e,r)}get classificationSystem(){return this.getProp(56)}set classificationSystem(e){this.dispatchString(56,e)}getClassificationSystem(e){return this.getProp(56,e)}setClassificationSystem(e,r){this.dispatchString(56,e,r)}get isRootContainer(){return this.getProp(69)??!1}set isRootContainer(e){this.dispatchNumber(69,e?1:0)}getIsRootContainer(e){return this.getProp(69,e)??!1}setIsRootContainer(e,r){this.dispatchNumber(69,e?1:0,r)}get lccNotation(){return this.getProp(50)??null}set lccNotation(e){this.dispatchString(50,e??"")}getLccNotation(e){return this.getProp(50,e)??null}setLccNotation(e,r){this.dispatchString(50,e??"",r)}get ddcNotation(){return this.getProp(49)??null}set ddcNotation(e){this.dispatchString(49,e??"")}getDdcNotation(e){return this.getProp(49,e)??null}setDdcNotation(e,r){this.dispatchString(49,e??"",r)}get udcNotation(){return this.getProp(51)??null}set udcNotation(e){this.dispatchString(51,e??"")}getUdcNotation(e){return this.getProp(51,e)??null}setUdcNotation(e,r){this.dispatchString(51,e??"",r)}get clcNotation(){return this.getProp(52)??null}set clcNotation(e){this.dispatchString(52,e??"")}getClcNotation(e){return this.getProp(52,e)??null}setClcNotation(e,r){this.dispatchString(52,e??"",r)}get bbkNotation(){return this.getProp(53)??null}set bbkNotation(e){this.dispatchString(53,e??"")}getBbkNotation(e){return this.getProp(53,e)??null}setBbkNotation(e,r){this.dispatchString(53,e??"",r)}get tlcNotation(){return this.getProp(54)??null}set tlcNotation(e){this.dispatchString(54,e??"")}getTlcNotation(e){return this.getProp(54,e)??null}setTlcNotation(e,r){this.dispatchString(54,e??"",r)}get ccNotation(){return this.getProp(55)??null}set ccNotation(e){this.dispatchString(55,e??"")}getCcNotation(e){return this.getProp(55,e)??null}setCcNotation(e,r){this.dispatchString(55,e??"",r)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return ae(ee,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return ae(ee,await this.collectDeepIds("inTags",e))}addIntoTag(e){if(this.isInTag(e))return;let r={operation:k.EditRelation,objectType:ee.type,objectId:e,langId:0,relationId:3,action:G.Add,targetId:this.id};J(ee.type,e)&&Y(ee.type,e).patch(r),this.applyRelationRaw("in",0,G.Add,e),$.addPatch(r)}removeFromTag(e){if(!this.isInTag(e))return;let r={operation:k.EditRelation,objectType:ee.type,objectId:e,langId:0,relationId:3,action:G.Remove,targetId:this.id};J(ee.type,e)&&Y(ee.type,e).patch(r),this.applyRelationRaw("in",0,G.Remove,e),$.addPatch(r)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return ae(ee,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,G.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,G.Remove,e)}async tagsDeep(e){return ae(ee,await this.collectDeepIds("tags",e))}get booksIds(){return this.getBridgedRelationIdsSync(4,"has")}get books(){return ae(W,this.booksIds)}hasBook(e){return this._has.get(4).has(e)}addBook(e){this.hasBook(e)||this.dispatchRelation(4,G.Add,e)}removeBook(e){this.hasBook(e)&&this.dispatchRelation(4,G.Remove,e)}async booksDeep(e){return ae(W,await this.collectDeepIds("books",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:TG:${Jr("TG",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("TG",e);let r=e.split(":");return r.length>=4&&r[2]==="TG"?Pt("TG",r[3]):null}catch{return null}}get lccNormalized(){return this.lccNotation?Nn.normalize(this.lccNotation):null}validateLcc(){return Nn.validate(this.lccNotation)}get ddcNormalized(){return this.ddcNotation?Bn.normalize(this.ddcNotation):null}validateDdc(){return Bn.validate(this.ddcNotation)}get udcNormalized(){return this.udcNotation?Ln.normalize(this.udcNotation):null}validateUdc(){return Ln.validate(this.udcNotation)}get clcNormalized(){return this.clcNotation?kn.normalize(this.clcNotation):null}validateClc(){return kn.validate(this.clcNotation)}get bbkNormalized(){return this.bbkNotation?Dn.normalize(this.bbkNotation):null}validateBbk(){return Dn.validate(this.bbkNotation)}get tlcNormalized(){return this.tlcNotation?Mn.normalize(this.tlcNotation):null}validateTlc(){return Mn.validate(this.tlcNotation)}get ccNormalized(){return this.ccNotation?On.normalize(this.ccNotation):null}validateCc(){return On.validate(this.ccNotation)}sfcuid(){return this.lccNotation?`lcc:${Nn.normalize(this.lccNotation)}`:this.ddcNotation?`ddc:${Bn.normalize(this.ddcNotation)}`:this.udcNotation?`udc:${Ln.normalize(this.udcNotation)}`:this.clcNotation?`clc:${kn.normalize(this.clcNotation)}`:this.bbkNotation?`bbk:${Dn.normalize(this.bbkNotation)}`:this.tlcNotation?`tlc:${Mn.normalize(this.tlcNotation)}`:this.ccNotation?`cc:${On.normalize(this.ccNotation)}`:this.toNativePID()}get identityCluster(){let e=this.sfcuid(),r=[this.lccNotation?`lcc:${Nn.normalize(this.lccNotation)}`:null,this.ddcNotation?`ddc:${Bn.normalize(this.ddcNotation)}`:null,this.udcNotation?`udc:${Ln.normalize(this.udcNotation)}`:null,this.clcNotation?`clc:${kn.normalize(this.clcNotation)}`:null,this.bbkNotation?`bbk:${Dn.normalize(this.bbkNotation)}`:null,this.tlcNotation?`tlc:${Mn.normalize(this.tlcNotation)}`:null,this.ccNotation?`cc:${On.normalize(this.ccNotation)}`:null,this.toNativePID()].filter(Boolean);return{sfcuid:e,native:this.toNativePID(),aliases:r.filter(n=>n!==e),wireId:this.id}}static async byClassificationSystem(e,r){let n=r?.lang??ne.userLang,o=Array.from(Ze.getIndex(ee.type,"byClassificationSystem").getUidsByRawValue(e,n)),i=r?.includeDeleted??!1;return(await ae(ee,o)).filter(a=>i||!a.deleted)}static getAvailableClassificationSystems(e,r){let n=r?.lang??ne.userLang;return Ze.getIndex(ee.type,"byClassificationSystem").getAvailableKeys([e],n)}static async byClassificationSystemStandard(e,r){return ee.byClassificationSystem(e,r)}static async byClassificationSystemImported(e,r){return ee.byClassificationSystem(`imported-${e}`,r)}static async byClassificationSystemCustom(e,r){return ee.byClassificationSystem(`custom-${e}`,r)}static async byClassificationSystemOrigin(e){return ee.byClassificationSystem("origin",e)}static getAvailableStandardSystems(e){return ee.getAvailableClassificationSystems("standard",e)}static getAvailableImportedSystems(e){return ee.getAvailableClassificationSystems("imported",e)}static getAvailableCustomSystems(e){return ee.getAvailableClassificationSystems("custom",e)}};ee.type=2,ee.UID_STRATEGY="standards-first",ee.STANDARD_PRIORITY=["lcc","ddc","udc","clc","bbk","tlc","cc"],ee.isPrivate=!0,ee.serializeSlim=ly,ee.serializeExtended=py,ee.serializeProv=fy,ee.deserializeSlim=Zc,ee.deserializeExtended=Jc,ee.deserializeProv=Yc;var Q=ee;Pr(Q.type,Q);var Q1=(t,e)=>{if(J(Q.type,t,e))return Y(Q.type,t,e);let r=new Q(Q.createNewRequest(t),e);return it(Q.type,r,e),r};var my=new Map,NP={set(t,e){if(!e)throw new Error(`[apiKeyDictionary] Empty value passed for apiId "${t}".`);my.set(t,e)},get(t){return my.get(t)},require(t){let e=my.get(t);if(!e)throw new Error(`[${t}] API key is not configured. Call apiKeyDictionary.set("${t}", "<your-key>") before using this adapter.`);return e}};function BP(t){if(t.length!==13)return{valid:!1,error:`Expected 13 digits, got ${t.length}`};let e=0;for(let n=0;n<12;n++)e+=parseInt(t[n],10)*(n%2===0?1:3);let r=(10-e%10)%10;return r!==parseInt(t[12],10)?{valid:!1,error:`Check digit mismatch: expected ${r}, got ${t[12]}`}:{valid:!0}}var Fn={standardId:"isbn",uriScheme:"ISBN",normalize(t){let e=t.replace(/[\s-]/g,"");if(e.length===10){let r="978"+e.slice(0,9),n=0;for(let o=0;o<12;o++)n+=parseInt(r[o],10)*(o%2===0?1:3);return r+(10-n%10)%10}return e},display(t){let e=Fn.normalize(t);return e.length===13?`${e.slice(0,3)}-${e[3]}-${e.slice(4,7)}-${e.slice(7,12)}-${e[12]}`:e},validate(t){if(!t)return{valid:!1,error:"ISBN is absent"};let e=Fn.normalize(t);return/^97[89][0-9]{10}$/.test(e)?BP(e):{valid:!1,error:`ISBN does not match pattern: ${e}`}},toLinkedDataUri(t){return`urn:isbn:${Fn.normalize(t)}`},apis:{openlibrary:{apiId:"openlibrary",name:"Open Library Books API",async fetch({isbn:t}){if(!t)return{};let e=await fetch(`https://openlibrary.org/api/books?bibkeys=ISBN:${t}&format=json&jscmd=data`);if(!e.ok)return{};let n=(await e.json())[`ISBN:${t}`]??{};return{title:n.title,authors:n.authors?.map(o=>o.name),publishDate:n.publish_date,pageCount:n.number_of_pages,coverUrl:n.cover?.medium,description:n.excerpts?.[0]?.text}}},googlebooks:{apiId:"googlebooks",name:"Google Books API",async fetch({isbn:t}){if(!t)return{};let e=NP.require("googlebooks"),r=await fetch(`https://www.googleapis.com/books/v1/volumes?q=isbn:${t}&key=${e}`);if(!r.ok)return{};let o=(await r.json()).items?.[0]?.volumeInfo??{};return{title:o.title,authors:o.authors,publishedDate:o.publishedDate,pageCount:o.pageCount,language:o.language,description:o.description,thumbnail:o.imageLinks?.thumbnail}}}}};var bi=Yr.Book;de.register(bi);var Xs={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,prerequisites:8,deweyDecimal:9,locCallNumber:10,copyrightStatus:11,textQuality:12,illustrations:13,educationQuality:14,practicality:15,accessibilityLevel:16,teacherMaterials:17,pedagogicalScaffolding:18,clarityOfExplanation:19,workedExamples:20,exercisesAndAssessment:21,selfStudyReadiness:22,referenceApparatus:23,safetyGuidance:24,contentCurrency:25,ecoRegeneration:26,communityLiving:27,promotesPeace:28,businessDevelopment:29,language:30,downloadTxId:31,method:32,isAiTranslation:33,aiEngine:34,addedAt:35,nbPages:36,sizeBytes:37,publisher:38,publicationDate:39,publishedAt:40,qualityScore:41,isbn:42};function gy(t){return Hr(bi,t,Ye())}function eu(t){return Vr(bi,t)}function yy(t){return Wr(bi,t,Ye())}function tu(t){return qr(bi,t)}function hy(t){return Gr(bi,t)}function ru(t){return Kr(bi,t)}var _e=class _e extends Xe{constructor(e,r){super(_e.type,e,r)}static Load(e,r){return Y(_e.type,e,r)}static Has(e,r){return J(_e.type,e,r)}static async LoadAsync(e,r){return Zr(_e,e,r)}get prerequisites(){return this.getProp(8)}set prerequisites(e){this.dispatchString(8,e)}getPrerequisites(e){return this.getProp(8,e)}setPrerequisites(e,r){this.dispatchString(8,e,r)}get deweyDecimal(){return this.getProp(9)}set deweyDecimal(e){this.dispatchString(9,e)}getDeweyDecimal(e){return this.getProp(9,e)}setDeweyDecimal(e,r){this.dispatchString(9,e,r)}get locCallNumber(){return this.getProp(10)}set locCallNumber(e){this.dispatchString(10,e)}getLocCallNumber(e){return this.getProp(10,e)}setLocCallNumber(e,r){this.dispatchString(10,e,r)}get copyrightStatus(){return this.getProp(11)??0}set copyrightStatus(e){this.dispatchNumber(11,e)}getCopyrightStatus(e){return this.getProp(11,e)??0}setCopyrightStatus(e,r){this.dispatchNumber(11,e,r)}get textQuality(){return this.getProp(12)??0}set textQuality(e){this.dispatchNumber(12,e)}getTextQuality(e){return this.getProp(12,e)??0}setTextQuality(e,r){this.dispatchNumber(12,e,r)}get illustrations(){return this.getProp(13)??0}set illustrations(e){this.dispatchNumber(13,e)}getIllustrations(e){return this.getProp(13,e)??0}setIllustrations(e,r){this.dispatchNumber(13,e,r)}get educationQuality(){return this.getProp(14)??0}set educationQuality(e){this.dispatchNumber(14,e)}getEducationQuality(e){return this.getProp(14,e)??0}setEducationQuality(e,r){this.dispatchNumber(14,e,r)}get practicality(){return this.getProp(15)??0}set practicality(e){this.dispatchNumber(15,e)}getPracticality(e){return this.getProp(15,e)??0}setPracticality(e,r){this.dispatchNumber(15,e,r)}get accessibilityLevel(){return this.getProp(16)??0}set accessibilityLevel(e){this.dispatchNumber(16,e)}getAccessibilityLevel(e){return this.getProp(16,e)??0}setAccessibilityLevel(e,r){this.dispatchNumber(16,e,r)}get teacherMaterials(){return this.getProp(17)??!1}set teacherMaterials(e){this.dispatchNumber(17,e?1:0)}getTeacherMaterials(e){return this.getProp(17,e)??!1}setTeacherMaterials(e,r){this.dispatchNumber(17,e?1:0,r)}get pedagogicalScaffolding(){return this.getProp(18)??0}set pedagogicalScaffolding(e){this.dispatchNumber(18,e)}getPedagogicalScaffolding(e){return this.getProp(18,e)??0}setPedagogicalScaffolding(e,r){this.dispatchNumber(18,e,r)}get clarityOfExplanation(){return this.getProp(19)??0}set clarityOfExplanation(e){this.dispatchNumber(19,e)}getClarityOfExplanation(e){return this.getProp(19,e)??0}setClarityOfExplanation(e,r){this.dispatchNumber(19,e,r)}get workedExamples(){return this.getProp(20)??0}set workedExamples(e){this.dispatchNumber(20,e)}getWorkedExamples(e){return this.getProp(20,e)??0}setWorkedExamples(e,r){this.dispatchNumber(20,e,r)}get exercisesAndAssessment(){return this.getProp(21)??0}set exercisesAndAssessment(e){this.dispatchNumber(21,e)}getExercisesAndAssessment(e){return this.getProp(21,e)??0}setExercisesAndAssessment(e,r){this.dispatchNumber(21,e,r)}get selfStudyReadiness(){return this.getProp(22)??0}set selfStudyReadiness(e){this.dispatchNumber(22,e)}getSelfStudyReadiness(e){return this.getProp(22,e)??0}setSelfStudyReadiness(e,r){this.dispatchNumber(22,e,r)}get referenceApparatus(){return this.getProp(23)??0}set referenceApparatus(e){this.dispatchNumber(23,e)}getReferenceApparatus(e){return this.getProp(23,e)??0}setReferenceApparatus(e,r){this.dispatchNumber(23,e,r)}get safetyGuidance(){return this.getProp(24)??0}set safetyGuidance(e){this.dispatchNumber(24,e)}getSafetyGuidance(e){return this.getProp(24,e)??0}setSafetyGuidance(e,r){this.dispatchNumber(24,e,r)}get contentCurrency(){return this.getProp(25)??0}set contentCurrency(e){this.dispatchNumber(25,e)}getContentCurrency(e){return this.getProp(25,e)??0}setContentCurrency(e,r){this.dispatchNumber(25,e,r)}get ecoRegeneration(){return this.getProp(26)??0}set ecoRegeneration(e){this.dispatchNumber(26,e)}getEcoRegeneration(e){return this.getProp(26,e)??0}setEcoRegeneration(e,r){this.dispatchNumber(26,e,r)}get communityLiving(){return this.getProp(27)??0}set communityLiving(e){this.dispatchNumber(27,e)}getCommunityLiving(e){return this.getProp(27,e)??0}setCommunityLiving(e,r){this.dispatchNumber(27,e,r)}get promotesPeace(){return this.getProp(28)??0}set promotesPeace(e){this.dispatchNumber(28,e)}getPromotesPeace(e){return this.getProp(28,e)??0}setPromotesPeace(e,r){this.dispatchNumber(28,e,r)}get businessDevelopment(){return this.getProp(29)??0}set businessDevelopment(e){this.dispatchNumber(29,e)}getBusinessDevelopment(e){return this.getProp(29,e)??0}setBusinessDevelopment(e,r){this.dispatchNumber(29,e,r)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return ae(Q,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return ae(Q,await this.collectDeepIds("inTags",e))}addIntoTag(e){if(this.isInTag(e))return;let r={operation:k.EditRelation,objectType:Q.type,objectId:e,langId:0,relationId:4,action:G.Add,targetId:this.id};J(Q.type,e)&&Y(Q.type,e).patch(r),this.applyRelationRaw("in",0,G.Add,e),$.addPatch(r)}removeFromTag(e){if(!this.isInTag(e))return;let r={operation:k.EditRelation,objectType:Q.type,objectId:e,langId:0,relationId:4,action:G.Remove,targetId:this.id};J(Q.type,e)&&Y(Q.type,e).patch(r),this.applyRelationRaw("in",0,G.Remove,e),$.addPatch(r)}get authorsIds(){return this.getBridgedRelationIdsSync(1,"has")}get authors(){return ae(Ue,this.authorsIds)}hasAuthor(e){return this._has.get(1).has(e)}addAuthor(e){this.hasAuthor(e)||this.dispatchRelation(1,G.Add,e)}removeAuthor(e){this.hasAuthor(e)&&this.dispatchRelation(1,G.Remove,e)}async authorsDeep(e){return ae(Ue,await this.collectDeepIds("authors",e))}getInstances(e=ne.userLang){return this.getInstancesData(e).map((r,n)=>new Xc(this,e,n,r))}getInstance(e,r=ne.userLang){return this.getInstances(r)[e]}getDefaultInstance(e=ne.userLang){let r=this.getInstances(e);return r.find(n=>n.isDefault)??r[0]}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:BK:${Jr("BK",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("BK",e);let r=e.split(":");return r.length>=4&&r[2]==="BK"?Pt("BK",r[3]):null}catch{return null}}static async LoadInstance(e,r){let n=globalThis.ExternalIdCrosswalk?.instance;if(!n)throw new Error("ExternalIdCrosswalk not initialized \u2014 bootup incomplete");if(await n.whenReady(),e.startsWith("DL:C:DERIVED:")){let u=await n.resolveDerived(e,r);if(!u)return null;let d=await _e.LoadAsync(BigInt(u.wireId));return d?{record:d,instanceIndex:u.instanceIndex}:null}if(e.startsWith("DL:C:")){let u=_e.fromPID(e);if(u){let d=await _e.LoadAsync(BigInt(u.wireId));return d?{record:d}:null}return null}let o=e.indexOf(":");if(o===-1)return null;let i=e.slice(0,o),s=e.slice(o+1),a=await n.resolveForInstance(i,s,r);if(!a)return null;let c=await _e.LoadAsync(BigInt(a.wireId));return c?{record:c,instanceIndex:a.instanceIndex}:null}};_e.type=0,_e.UID_STRATEGY="native-only",_e.STANDARD_PRIORITY=[],_e.isPrivate=!0,_e.serializeSlim=gy,_e.serializeExtended=yy,_e.serializeProv=hy,_e.deserializeSlim=eu,_e.deserializeExtended=tu,_e.deserializeProv=ru;var W=_e,Xc=class{constructor(e,r,n,o){this.parent=e;this.lang=r;this.index=n;this.data=o}get isDefault(){return this.data.isDefault===!0}get language(){return this.data.language??""}set language(e){this.data.language=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:30,value:e??""};this.parent.patch(r),$.addPatch(r)}get downloadTxId(){return this.data.downloadTxId??""}set downloadTxId(e){this.data.downloadTxId=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:31,value:e??""};this.parent.patch(r),$.addPatch(r)}get method(){return this.data.method??0}set method(e){this.data.method=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:32,value:e};this.parent.patch(r),$.addPatch(r)}get isAiTranslation(){return this.data.isAiTranslation??!1}set isAiTranslation(e){this.data.isAiTranslation=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:33,value:e?1:0};this.parent.patch(r),$.addPatch(r)}get aiEngine(){return this.data.aiEngine??null}set aiEngine(e){this.data.aiEngine=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:34,value:e??""};this.parent.patch(r),$.addPatch(r)}get addedAt(){return this.data.addedAt??0}set addedAt(e){this.data.addedAt=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:35,value:e};this.parent.patch(r),$.addPatch(r)}get nbPages(){return this.data.nbPages??0}set nbPages(e){this.data.nbPages=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:36,value:e};this.parent.patch(r),$.addPatch(r)}get sizeBytes(){return this.data.sizeBytes??0}set sizeBytes(e){this.data.sizeBytes=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:37,value:e};this.parent.patch(r),$.addPatch(r)}get publisher(){return this.data.publisher??null}set publisher(e){this.data.publisher=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:38,value:e??""};this.parent.patch(r),$.addPatch(r)}get publicationDate(){return this.data.publicationDate??null}set publicationDate(e){this.data.publicationDate=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:39,value:e??""};this.parent.patch(r),$.addPatch(r)}get publishedAt(){return this.data.publishedAt??null}set publishedAt(e){this.data.publishedAt=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:40,value:e??""};this.parent.patch(r),$.addPatch(r)}get qualityScore(){return this.data.qualityScore??0}set qualityScore(e){this.data.qualityScore=e;let r={operation:k.EditInstanceFieldNumber,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:41,value:e};this.parent.patch(r),$.addPatch(r)}get isbn(){return this.data.isbn??null}set isbn(e){this.data.isbn=e;let r={operation:k.EditInstanceFieldString,objectType:W.type,objectId:this.parent.id,langId:We[this.lang]??0,instanceIndex:this.index,propertyId:42,value:e??""};this.parent.patch(r),$.addPatch(r)}derivedSfcuid(e){let r=[this.language??""];return`DL:C:DERIVED:${e}:${r.map(n=>encodeURIComponent(String(n))).join(":")}`}get isbnNormalized(){return this.isbn?Fn.normalize(this.isbn):null}validateIsbn(){return Fn.validate(this.isbn)}sfcuid(){return this.isbn?`isbn:${Fn.normalize(this.isbn)}`:this.derivedSfcuid(this.parent.toPID())}get identityCluster(){let e=this.sfcuid(),r=[this.isbn?`isbn:${Fn.normalize(this.isbn)}`:null,this.parent.toPID()].filter(Boolean);return{sfcuid:e,native:this.parent.toPID(),aliases:r.filter(n=>n!==e),wireId:this.parent.id}}get description(){return this.parent.getDescription(this.lang)??""}set description(e){this.parent.setDescription(e,this.lang)}};Pr(W.type,W);var Z1=(t,e)=>{if(J(W.type,t,e))return Y(W.type,t,e);let r=new W(W.createNewRequest(t),e);return it(W.type,r,e),r};var xi=Yr.ClassificationSystem;de.register(xi);var J1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,name:65,institution:66,country:67,language:30,rootTagId:68};function by(t){return Hr(xi,t,Ye())}function xy(t){return Vr(xi,t)}function wy(t){return Wr(xi,t,Ye())}function Iy(t){return qr(xi,t)}function Sy(t){return Gr(xi,t)}function vy(t){return Kr(xi,t)}var ge=class ge extends Xe{constructor(e,r){super(ge.type,e,r)}static Load(e,r){return Y(ge.type,e,r)}static Has(e,r){return J(ge.type,e,r)}static async LoadAsync(e,r){return Zr(ge,e,r)}get name(){return this.getProp(65)}set name(e){this.dispatchString(65,e)}getName(e){return this.getProp(65,e)}setName(e,r){this.dispatchString(65,e,r)}get institution(){return this.getProp(66)??!1}set institution(e){this.dispatchNumber(66,e?1:0)}getInstitution(e){return this.getProp(66,e)??!1}setInstitution(e,r){this.dispatchNumber(66,e?1:0,r)}get country(){return this.getProp(67)}set country(e){this.dispatchString(67,e)}getCountry(e){return this.getProp(67,e)}setCountry(e,r){this.dispatchString(67,e,r)}get language(){return this.getProp(30)}set language(e){this.dispatchString(30,e)}getLanguage(e){return this.getProp(30,e)}setLanguage(e,r){this.dispatchString(30,e,r)}get rootTagId(){return this.getProp(68)??0}set rootTagId(e){this.dispatchNumber(68,e)}getRootTagId(e){return this.getProp(68,e)??0}setRootTagId(e,r){this.dispatchNumber(68,e,r)}get inRootTagIds(){return this.getBridgedRelationIdsSync(5,"in")}get inRootTag(){return ae(Q,this.inRootTagIds)}isInRootTag(e){return this._in.get(5).has(e)}async rootTagDeep(e){return ae(Q,await this.collectDeepIds("rootTag",e))}addIntoRootTag(e){this.isInRootTag(e)||this.dispatchRelation(5,G.Add,e)}removeFromRootTag(e){this.isInRootTag(e)&&this.dispatchRelation(5,G.Remove,e)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return ae(Q,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,G.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,G.Remove,e)}async tagsDeep(e){return ae(Q,await this.collectDeepIds("tags",e))}get booksIds(){return this.getBridgedRelationIdsSync(4,"has")}get books(){return ae(W,this.booksIds)}hasBook(e){return this._has.get(4).has(e)}addBook(e){this.hasBook(e)||this.dispatchRelation(4,G.Add,e)}removeBook(e){this.hasBook(e)&&this.dispatchRelation(4,G.Remove,e)}async booksDeep(e){return ae(W,await this.collectDeepIds("books",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:CS:${Jr("CS",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("CS",e);let r=e.split(":");return r.length>=4&&r[2]==="CS"?Pt("CS",r[3]):null}catch{return null}}static async byClassificationSystem(e,r){let n=r?.lang??ne.userLang,o=Array.from(Ze.getIndex(ge.type,"byClassificationSystem").getUidsByRawValue(e,n)),i=r?.includeDeleted??!1;return(await ae(ge,o)).filter(a=>i||!a.deleted)}static getAvailableClassificationSystems(e,r){let n=r?.lang??ne.userLang;return Ze.getIndex(ge.type,"byClassificationSystem").getAvailableKeys([e],n)}static async byClassificationSystemStandard(e,r){return ge.byClassificationSystem(e,r)}static async byClassificationSystemImported(e,r){return ge.byClassificationSystem(`imported-${e}`,r)}static async byClassificationSystemCustom(e,r){return ge.byClassificationSystem(`custom-${e}`,r)}static async byClassificationSystemOrigin(e){return ge.byClassificationSystem("origin",e)}static getAvailableStandardSystems(e){return ge.getAvailableClassificationSystems("standard",e)}static getAvailableImportedSystems(e){return ge.getAvailableClassificationSystems("imported",e)}static getAvailableCustomSystems(e){return ge.getAvailableClassificationSystems("custom",e)}};ge.type=3,ge.UID_STRATEGY="native-only",ge.STANDARD_PRIORITY=[],ge.isPrivate=!0,ge.serializeSlim=by,ge.serializeExtended=wy,ge.serializeProv=Sy,ge.deserializeSlim=xy,ge.deserializeExtended=Iy,ge.deserializeProv=vy;var qt=ge;Pr(qt.type,qt);var Y1=(t,e)=>{if(J(qt.type,t,e))return Y(qt.type,t,e);let r=new qt(qt.createNewRequest(t),e);return it(qt.type,r,e),r};var wi=Yr.Post;de.register(wi);var X1={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7,isPinned:70,isLocked:71};function Ay(t){return Hr(wi,t,Ye())}function Py(t){return Vr(wi,t)}function Ey(t){return Wr(wi,t,Ye())}function Ty(t){return qr(wi,t)}function Cy(t){return Gr(wi,t)}function Ry(t){return Kr(wi,t)}var Se=class Se extends Xe{constructor(e,r){super(Se.type,e,r)}static Load(e,r){return Y(Se.type,e,r)}static Has(e,r){return J(Se.type,e,r)}static async LoadAsync(e,r){return Zr(Se,e,r)}get isPinned(){return this.getProp(70)??!1}set isPinned(e){this.dispatchNumber(70,e?1:0)}getIsPinned(e){return this.getProp(70,e)??!1}setIsPinned(e,r){this.dispatchNumber(70,e?1:0,r)}get isLocked(){return this.getProp(71)??!1}set isLocked(e){this.dispatchNumber(71,e?1:0)}getIsLocked(e){return this.getProp(71,e)??!1}setIsLocked(e,r){this.dispatchNumber(71,e?1:0,r)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return ae(Q,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return ae(Q,await this.collectDeepIds("inTags",e))}addIntoTag(e){this.isInTag(e)||this.dispatchRelation(0,G.Add,e)}removeFromTag(e){this.isInTag(e)&&this.dispatchRelation(0,G.Remove,e)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return ae(Q,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,G.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,G.Remove,e)}async tagsDeep(e){return ae(Q,await this.collectDeepIds("tags",e))}get inParentPostId(){return this.getBridgedRelationIdsSync(6,"in")[0]??null}get inParentPost(){let e=this.inParentPostId;return e?Hg(Se,e):Promise.resolve(null)}addIntoParentPost(e){let r={operation:k.EditRelation,objectType:Se.type,objectId:e,langId:0,relationId:7,action:G.Add,targetId:this.id};J(Se.type,e)&&Y(Se.type,e).patch(r),this.applyRelationRaw("in",6,G.Add,e),$.addPatch(r)}removeFromParentPost(e){let r={operation:k.EditRelation,objectType:Se.type,objectId:e,langId:0,relationId:7,action:G.Remove,targetId:this.id};J(Se.type,e)&&Y(Se.type,e).patch(r),this.applyRelationRaw("in",6,G.Remove,e),$.addPatch(r)}set inParentPost(e){let r=this.inParentPostId;r!==e&&(r!=null&&this.removeFromParentPost(r),e!=null&&this.addIntoParentPost(e))}get repliesIds(){return this.getBridgedRelationIdsSync(7,"has")}get replies(){return ae(Se,this.repliesIds)}hasReplie(e){return this._has.get(7).has(e)}addReplie(e){this.hasReplie(e)||this.dispatchRelation(7,G.Add,e)}removeReplie(e){this.hasReplie(e)&&this.dispatchRelation(7,G.Remove,e)}async repliesDeep(e){return ae(Se,await this.collectDeepIds("replies",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:PO:${Jr("PO",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return Pt("PO",e);let r=e.split(":");return r.length>=4&&r[2]==="PO"?Pt("PO",r[3]):null}catch{return null}}};Se.type=4,Se.UID_STRATEGY="native-only",Se.STANDARD_PRIORITY=[],Se.isPrivate=!1,Se.serializeSlim=Ay,Se.serializeExtended=Ey,Se.serializeProv=Cy,Se.deserializeSlim=Py,Se.deserializeExtended=Ty,Se.deserializeProv=Ry;var Kt=Se;Pr(Kt.type,Kt);var ew=(t,e)=>{if(J(Kt.type,t,e))return Y(Kt.type,t,e);let r=new Kt(Kt.createNewRequest(t),e);return it(Kt.type,r,e),r};var ea={0:W,1:Ue,2:Q,3:qt,4:Kt};var LP=5,kP=6,DP=t=>t.getProp(kP)===!1&&t.getProp(LP)===!0;var ll=(t,e,r,n)=>`${r}:${t}:${e}:${n}`;function MP(t,e,r){let n=de.get(t);if(!n)return!1;let o=new Map(n.instanceFields?.map(s=>[s.name,s.propId])??[]);for(let s of Object.values(n.standardPks??{})){let a=o.get(s);if(a===void 0)continue;let c=e[s],u=r.get(a);if(c!==void 0&&u!==void 0)return c===u}let i=o.get("downloadTxId");if(i!==void 0){let s=e.downloadTxId,a=r.get(i);if(s!==void 0&&a!==void 0)return s===a}return!1}async function OP(t,e,r,n,o){let i=new Map;for(let u of r)(u.operation===k.EditInstanceFieldString||u.operation===k.EditInstanceFieldNumber)&&u.objectType===e.objectType&&u.objectId===e.objectId&&u.langId===e.langId&&u.instanceIndex===e.instanceIndex&&i.set(u.propertyId,u.value);let s=t.getInstancesData(n),a=-1;for(let u=0;u<s.length;u++)if(MP(e.objectType,s[u],i)){a=u;break}if(a===e.instanceIndex)return;let c=a;a===-1&&(c=s.length,t.growInstances(n,c)),await o.instanceRemapStore.put(e.objectId,e.langId,o.creatorUsername,e.instanceIndex,c)}async function pl(t,e){if(t.operation===k.CreateRecord){if(e.record)return;let n=t,o=ea[n.objectType];if(!o)throw new Error(`[applyPatchWithContext] Unknown objectType ${n.objectType}`);let i=new o(Xe.createNewRequest(n.objectId),e.creatorUsername);it(n.objectType,i,e.creatorUsername),En(n.objectType,n.objectId,e.creatorUsername),await e.localRecordTable.putIfAbsent({wireId:n.objectId,creatorUsername:e.creatorUsername,objectType:n.objectType,createdAt:e.blockTimestamp,status:"active"});return}if(t.operation===k.AddInstance){let n=t;if(!e.record&&!J(n.objectType,n.objectId,e.creatorUsername)){console.warn("[applyPatchWithContext] AddInstance target absent; skipping");return}let o=e.record??Y(n.objectType,n.objectId,e.creatorUsername),i=vn[n.langId];if(!i)return;o.getInstancesData(i).length>n.instanceIndex?await OP(o,n,e.batchRemainder,i,e):e.record?o.patch(n,!1,!1):o.patch(n,!1);return}let r=t;if(r.operation===k.EditInstanceFieldString||r.operation===k.EditInstanceFieldNumber){let n=e.record??(J(r.objectType,r.objectId,e.creatorUsername)?Y(r.objectType,r.objectId,e.creatorUsername):void 0),o=await e.instanceRemapStore.get(r.objectId,r.langId,e.creatorUsername,r.instanceIndex)??n?.instanceRemaps?.find(([i])=>i===ll(r.objectId,r.langId,e.creatorUsername,r.instanceIndex))?.[1];o!==void 0&&(r.instanceIndex=o)}if(r.objectType!==void 0&&r.objectId!==void 0){if(!e.record&&!J(r.objectType,r.objectId,e.creatorUsername)){console.warn("[applyPatchWithContext] Edit target absent; skipping");return}let n=e.record??Y(r.objectType,r.objectId,e.creatorUsername);if(e.record?n.patch(t,!1,!1):n.patch(t,!1),t.operation===k.EditPropertyString||t.operation===k.EditPropertyNumber){let o=t.provenance;if(o!==void 0){let i=t,s=vn[i.langId]??"eng";n.setProvenanceRaw(s,i.propertyId,o)}}}}var Rr=async(t,e="mine")=>{let r=0,n=0,o=ct.cleanData(t),i=new Set;for(let a of o)a.operation===k.CreateRecord&&i.add(`${a.objectType}:${a.objectId}`);let s=[];for(let a of o){if(!Te(a))continue;let c=a.objectType,u=a.objectId??a.fromUid;if(c!==void 0&&u!==void 0){if(i.has(`${c}:${u}`))continue;if(!J(c,u,e)){let d=ea[c];d&&(kt(u)?s.push(d.LoadAsync(u,e).catch(l=>{console.warn(`[replay] Could not load user-created record ${u}:`,l.message)})):s.push(d.LoadAsync(u,e)))}}}await Promise.all(s);for(let a=0;a<o.length;a++){let c=o[a];if(!Te(c))continue;let u=c.objectType,d=c.objectId;if(typeof d>"u"){n++;continue}let l=c.order;if(l!==void 0&&J(u,d,e)&&l<=Y(u,d,e).hydratedThrough){n++;continue}let p={localRecordTable:Cr,creatorUsername:e,blockTimestamp:Date.now(),get batchRemainder(){return o.slice(a+1)},instanceRemapStore:Cr.instanceRemaps};await pl(c,p),r++}return{applied:r,skipped:n}};var By="the_library:trash:v1";function FP(){let t=new Map;if(typeof localStorage>"u")return t;try{let e=localStorage.getItem(By);if(!e)return t;let r=JSON.parse(e);for(let[n,o]of Object.entries(r)){let i=new Map;for(let[s,a]of Object.entries(o))i.set(s,new Set(a.map(Sn)));t.set(Number(n),i)}}catch(e){console.warn("[trash] failed to load localStorage seed",e)}return t}var na=FP(),ml=new Map;function rw(){if(typeof localStorage>"u")return;let t={};for(let[e,r]of na){let n={};for(let[o,i]of r)i.size>0&&(n[o]=Array.from(i,Dt));Object.keys(n).length>0&&(t[e]=n)}try{localStorage.setItem(By,JSON.stringify(t))}catch(e){console.warn("[trash] failed to persist localStorage snapshot",e)}}function nw(t){ml.get(t)?.forEach(e=>{try{e()}catch(r){console.error("[trash] listener failed",r)}})}function jP(t,e){let r=na.get(t);r||(r=new Map,na.set(t,r));let n=r.get(e);return n||(n=new Set,r.set(e,n)),n}function ow(t){let e=t?.schema?.objectId,r=t?.id;if(typeof e!="number"||typeof r!="bigint")return null;let n=t.creatorUsername??"",o=jP(e,n),i=t.deleted===!0||t.safe===!1,s=o.has(r);return i===s?null:(i?o.add(r):o.delete(r),e)}var UP=50,ta=null,ra=null;function _P(){ra=null;let t=ta;if(ta=null,!(!t||t.size===0)){rw();for(let e of t)nw(e)}}function zP(t){let e=ow(t);e!==null&&(ta||(ta=new Set),ta.add(e),ra===null&&(ra=setTimeout(_P,UP)))}function Ly(){fl();let t=new Set;for(let e of An().values())for(let r of e.values()){let n=ow(r);n!==null&&t.add(n)}if(t.size!==0){rw();for(let e of t)nw(e)}}var tw=!1;function fl(){tw||(tw=!0,di({track(){},trigger:zP}))}function $P(){na.clear(),ml.clear(),ta=null,ra!==null&&(clearTimeout(ra),ra=null),typeof localStorage<"u"&&localStorage.removeItem(By)}var jn={list(t,e=[]){fl();let r=na.get(t);if(!r)return[];let n=new Set,o=e.length>0?e:r.keys();for(let i of o)for(let s of r.get(i)??[])n.add(s);return Array.from(n)},count(t,e=[]){return jn.list(t,e).length},usernames(t){return fl(),Array.from(na.get(t)?.keys()??[])},subscribe(t,e){fl();let r=ml.get(t);return r||(r=new Set,ml.set(t,r)),r.add(e),()=>r.delete(e)}};function iu(t){return t.deleted===!0||t.safe===!1}function nu(t){t.deleted=!1,t.safe=!0}function ky(t){iu(t)||(t.deleted=!0)}function iw(t){return`${t instanceof Q?"T":"B"}:${t.id}`}async function ou(t){if(t instanceof Q){let[e,r]=await Promise.all([t.tags,t.books]);return[...e,...r]}return[]}async function sw(t,e){if(!iu(t))if(e){nu(t);for(let r of await ou(t))await sw(r,e)}else ky(t)}async function HP(t){let e=[],r=new Set;for(let n=0;n<t.length;n++){let o=n>0?iw(t[n-1]):null;for(let i of await ou(t[n])){let s=iw(i);s===o||r.has(s)||(r.add(s),e.push(i))}}return e}async function WP(t,e,r,n,o){nu(t),e.forEach(nu),o&&o();async function i(s,a){if(iu(s))return;let c=s.id===t.id||e.some(d=>d.id===s.id),u=a;if(!c&&s instanceof Q&&(u=r.has(`${s.id}`)),u){nu(s);for(let d of await ou(s))await i(d,!0)}else ky(s)}for(let s of await ou(n))await i(s,!0)}async function aw(t,e=new Set){if(e.has(t.id))return[];e.add(t.id);let r=[];for(let n of await t.inTags)r.push(n),r.push(...await aw(n,e));return r}async function cw(t,e=new Set){if(e.has(t.id))return[];e.add(t.id);let r=[];for(let n of await t.inTags)iu(n)&&(r.push(n),r.push(...await cw(n,e)));return r}async function uw(t,e=new Set){if(e.has(t.id))return 0;e.add(t.id);let r=await t.tags;if(!r||r.length===0)return 0;let n=r.length;for(let o of r)n+=await uw(o,e);return n}var Ii=Uc,Dy=t=>{let e=Je();return me().then(r=>{try{let o=r.transaction(Ii,"readonly").objectStore(Ii).count(t);o.onsuccess=function(i){i.target.result>0?e.resolve(!0):e.resolve(!1)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}catch(n){console.error(n);debugger}}).catch(r=>{console.error(`[indexdb error:] hasFile(): ${r.message}`),e.reject(r)}),e.pro},dw=t=>{let e=Je();return me().then(r=>{let n=r.transaction(Ii,"readonly"),o;n.objectStore(Ii).get(t).addEventListener("success",function(i){o=i.target.result,e.resolve(o)}),n.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}).catch(e.reject),e.pro},lw=async t=>{let e=Je(),r=await me(),n=await Dy(t.id),o=r.transaction(Ii,"readwrite");return n?o.objectStore(Ii).put(t).onsuccess=function(){}:o.objectStore(Ii).add(t).onsuccess=function(){},o.oncomplete=function(){e.resolve(!0)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)},e.pro},GP={has:Dy,load:dw,store:lw};var pw=t=>{let e=Je();return me().then(r=>{try{let o=r.transaction(Er,"readonly").objectStore(Er).openCursor(t);o.onsuccess=function(i){i.target.result?e.resolve(!0):e.resolve(!1)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}catch(n){console.error(n);debugger}}).catch(r=>{console.error(`[indexdb error:] hasFile(): ${r.message}`),e.reject(r)}),e.pro},VP=t=>{let e=Je();return me().then(r=>{let n=r.transaction(Er,"readonly"),o;n.objectStore(Er).get(t).addEventListener("success",function(i){o=i.target.result}),n.oncomplete=function(){e.resolve(o)},n.onerror=function(i){e.reject(i.target)}}).catch(e.reject),e.pro},qP=t=>{let e=Je();return me().then(async r=>{let n=await pw(t.fileId),o=r.transaction(Er,"readwrite");n?o.objectStore(Er).put(t):o.objectStore(Er).add(t),o.oncomplete=function(){e.resolve(!0)},o.onerror=function(i){console.error("worker: error",i.target),e.reject(i.target)}}).catch(e.reject),e.pro};function KP(t,e,r){let n=eu(t),o=e.byteLength>0?tu(e):[],i=r.byteLength>0?ru(r):[],s=n.length,a=new Array(s);for(let c=0;c<s;c++)a[c]={...n[c],...o[c]||{},...i[c]||{}};return a}function QP(t,e,r){let n=Zc(t),o=e.byteLength>0?Jc(e):[],i=r.byteLength>0?Yc(r):[],s=n.length,a=new Array(s);for(let c=0;c<s;c++)a[c]={...n[c],...o[c]||{},...i[c]||{}};return a}function ZP(t,e,r){let n=qc(t),o=e.byteLength>0?Kc(e):[],i=r.byteLength>0?Qc(r):[],s=n.length,a=new Array(s);for(let c=0;c<s;c++)a[c]={...n[c],...o[c]||{},...i[c]||{}};return a}async function JP(t){let e=new Set,r=new Set,n=0;async function o(i){if(e.has(i))return;e.add(i),++n>50&&(n=0,await new Promise(a=>setTimeout(a,0)));let s;try{s=await Q.LoadAsync(i)}catch{return}for(let a of s.booksIds)r.add(a);for(let a of s.tagsIds)await o(a)}return await o(t),r.size}var My=class{constructor(e){this.handlers=[];this.timer=null;this.isPolling=!1;this.inMemorySince=0;this.inMemoryDelivered=[];this.targetUserId=e.targetUserId,this.indexer=e.indexer,this.usernameResolver=e.usernameResolver,this.pollIntervalMs=e.pollIntervalMs??3e4,this.cursorKey=e.cursorKey??`dcode_subscriptions_${e.targetUserId}`}onSubscriptions(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(r=>r!==e)}}start(){this.timer||(this.poll().catch(e=>console.error("[RelationshipSubscription] initial poll failed",e)),this.timer=setInterval(()=>{this.poll().catch(e=>console.error("[RelationshipSubscription] poll failed",e))},this.pollIntervalMs))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}getLastSeenTimestamp(){return this.readSince()}readSince(){if(typeof localStorage>"u")return this.inMemorySince;try{let e=localStorage.getItem(this.cursorKey);return Math.max(e?Number(e):0,this.inMemorySince)}catch{return this.inMemorySince}}writeSince(e){if(this.inMemorySince=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.cursorKey,String(e))}catch{}}deliveredKey(){return`${this.cursorKey}:delivered`}readDelivered(){if(typeof localStorage>"u")return this.inMemoryDelivered;try{let e=localStorage.getItem(this.deliveredKey());return e?JSON.parse(e):this.inMemoryDelivered}catch{return this.inMemoryDelivered}}writeDelivered(e){if(this.inMemoryDelivered=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.deliveredKey(),JSON.stringify(e))}catch{}}async poll(){if(!this.isPolling){this.isPolling=!0;try{let e=this.readSince(),r=Math.floor(Date.now()/1e3),n=await this.indexer.getNewSubscriptionsSince(this.targetUserId,e),o=this.readDelivered(),i=n.filter(c=>!o.includes(c));if(this.writeSince(r),i.length===0)return;this.writeDelivered(i);let s=Math.floor(Date.now()/1e3),a=[];for(let c of i){let u=null;try{u=await this.usernameResolver.userIdToUsername(c)}catch{u=null}a.push({userId:c,username:u,timestamp:s})}for(let c of this.handlers)try{await c(a)}catch(u){console.error("[RelationshipSubscription] handler failed",u)}}finally{this.isPolling=!1}}}};async function YP(t,e){let r=structuredClone(e),n=a=>a.objectType===t.schema.objectId&&BigInt(a.objectId)===t.id,o=a=>a.username??a.creatorUsername??"mine",i=new Map(t.instanceRemaps),s={get:async(...a)=>i.get(ll(...a)),put:async(a,c,u,d,l)=>{i.set(ll(a,c,u,d),l)}};for(let a=0;a<r.length;a++){let c=r[a];if(n(c)&&await pl(c,{record:t,creatorUsername:o(c),localRecordTable:Cr,blockTimestamp:0,instanceRemapStore:s,batchRemainder:r.slice(a+1).filter(u=>n(u)&&o(u)===o(c))}),c.operation===k.EditRelation){let u=$r(c);u&&n(u)&&t.patch(u,!1,!1)}}t.instanceRemaps=[...i]}var XP=40,eE=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}\p{Script=Tibetan}]/u,tE=/[\p{L}\p{N}\p{M}]+/gu,rE=/[̀-ͯ]/g,nE=/\p{N}/u,oE=/\p{M}/u;function gl(t){return t.normalize("NFKD").replace(rE,"").normalize("NFC").toLowerCase()}function iE(t,e){let r=Array.from(e);r.length===1&&!nE.test(e)||t.push(r.length>40?r.slice(0,40).join(""):e)}function sE(t,e){if(e.length===1){t.push(e[0]);return}for(let r=0;r+1<e.length;r++)t.push(e[r]+e[r+1])}function su(t){if(!t)return[];let e=[];for(let[r]of gl(t).matchAll(tE)){let n=[],o=!1,i=()=>{n.length!==0&&(o?sE(e,n):iE(e,n.join("")),n=[])};for(let s of r){let a=eE.test(s)||o&&n.length>0&&oE.test(s);n.length>0&&a!==o&&i(),o=a,n.push(s)}i()}return e}var Uy=1146114865,hl=1,Oy=8,aE=65535;function au(t,e){return t<e?-1:t>e?1:0}function cE(t,e,r){if(e==null||e==="")return t.kind==="score"?0:null;if(t.kind==="label")return String(e);if(typeof e!="number"||!Number.isInteger(e)||e<0||e>255)throw new Error(`search shard: preset "${t.name}" of ${r} must be an integer 0\u2013255, got ${JSON.stringify(e)}`);return e}function bl(t,e,r){if(r.fields.length===0||r.fields.length>Oy)throw new Error(`search shard: 1\u2013${Oy} fields required, got ${r.fields.length}`);if(r.relations.length>255||r.presets.length>255)throw new Error("search shard: at most 255 relations and 255 presets");let n=[...e].sort((m,h)=>au(m.wireId,h.wireId));for(let m=1;m<n.length;m++)if(n[m].wireId===n[m-1].wireId)throw new Error(`search shard: duplicate wireId ${n[m].wireId}`);let o=n.length,i=r.fields.length,s=r.fields.map(()=>new Uint32Array(o)),a=new Map;n.forEach((m,h)=>{r.fields.forEach((b,w)=>{let x=su(m.fields[b]);s[w][h]=x.length;for(let y of x){let I=a.get(y);I||(I={docs:[],tf:[]},a.set(y,I));let S=I.docs.length-1;if(S<0||I.docs[S]!==h){I.docs.push(h);for(let P=0;P<i;P++)I.tf.push(0)}let A=(I.docs.length-1)*i+w;I.tf[A]=Math.min(aE,I.tf[A]+1)}})});let c=[...a.keys()].sort(),u=new Uint32Array(c.length+1),d=0;c.forEach((m,h)=>{u[h]=d,d+=a.get(m).docs.length}),u[c.length]=d;let l=new Uint32Array(d),p=new Uint16Array(d*i);c.forEach((m,h)=>{let{docs:b,tf:w}=a.get(m);l.set(b,u[h]),p.set(w,u[h]*i)});let f=r.relations.map(m=>{let h=n.map(I=>[...new Set(I.relations?.[m]??[])]),b=[...new Set(h.flat())].sort(au),w=new Map(b.map((I,S)=>[I,S])),x=new Uint32Array(o+1),y=[];return h.forEach((I,S)=>{x[S]=y.length,y.push(...I.map(A=>w.get(A)).sort((A,P)=>A-P))}),x[o]=y.length,{name:m,ids:b,offsets:x,values:Uint32Array.from(y)}}),g=r.presets.map(m=>{let h=n.map(y=>cE(m,y.presets?.[m.name],y.wireId)),b=new Uint8Array(o);if(m.kind==="score")return h.forEach((y,I)=>{b[I]=y}),{name:m.name,kind:m.kind,labels:[],values:b};let w=[...new Set(h.filter(y=>y!==null))].sort();if(w.length>255)throw new Error(`search shard: label preset "${m.name}" has ${w.length} distinct values (max 255)`);let x=new Map(w.map((y,I)=>[y,I+1]));return h.forEach((y,I)=>{b[I]=y===null?0:x.get(y)}),{name:m.name,kind:m.kind,labels:w,values:b}});return{lang:t,wireIds:n.map(m=>m.wireId),fields:[...r.fields],fieldLengths:s,relations:f,presets:g,terms:c,postingOffsets:u,postingDocs:l,postingTf:p}}var Fy=class{constructor(){this.buf=new Uint8Array(65536);this.pos=0;this.encoder=new TextEncoder}reserve(e){if(this.pos+e<=this.buf.length)return;let r=this.buf.length*2;for(;r<this.pos+e;)r*=2;let n=new Uint8Array(r);n.set(this.buf.subarray(0,this.pos)),this.buf=n}u8(e){this.reserve(1),this.buf[this.pos++]=e}u32(e){this.reserve(4),this.buf[this.pos++]=e>>>24&255,this.buf[this.pos++]=e>>>16&255,this.buf[this.pos++]=e>>>8&255,this.buf[this.pos++]=e&255}varuint(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`search shard: varuint out of range: ${e}`);for(this.reserve(8);e>=128;)this.buf[this.pos++]=e%128|128,e=Math.floor(e/128);this.buf[this.pos++]=e}varbig(e){if(e<0n)throw new Error(`search shard: negative id ${e}`);for(this.reserve(10);e>=0x80n;)this.buf[this.pos++]=Number(e&0x7fn)|128,e>>=7n;this.buf[this.pos++]=Number(e)}bytes(e){this.reserve(e.length),this.buf.set(e,this.pos),this.pos+=e.length}str(e){let r=this.encoder.encode(e);this.varuint(r.length),this.bytes(r)}finish(){return this.buf.slice(0,this.pos)}},jy=class{constructor(e){this.buf=e;this.pos=0;this.decoder=new TextDecoder}need(e){if(this.pos+e>this.buf.length)throw new Error("search shard: truncated")}u8(){return this.need(1),this.buf[this.pos++]}u32(){this.need(4);let e=this.buf,r=this.pos;return this.pos+=4,(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])>>>0}varuint(){let e=0,r=1;for(;;){let n=this.u8();if(e+=(n&127)*r,n<128)return e;if(r*=128,r>Number.MAX_SAFE_INTEGER)throw new Error("search shard: varuint overflow")}}varbig(){let e=0n,r=0n;for(;;){let n=this.u8();if(e|=BigInt(n&127)<<r,n<128)return e;if(r+=7n,r>63n)throw new Error("search shard: id overflow")}}bytes(e){this.need(e);let r=this.buf.subarray(this.pos,this.pos+e);return this.pos+=e,r}str(){return this.decoder.decode(this.bytes(this.varuint()))}get done(){return this.pos===this.buf.length}};function fw(t,e){let r=0n;e.forEach((n,o)=>{t.varbig(o===0?n:n-r),r=n})}function mw(t,e){let r=new Array(e),n=0n;for(let o=0;o<e;o++)n=o===0?t.varbig():n+t.varbig(),r[o]=n;return r}function uE(t,e){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)===e.charCodeAt(n);)n++;return n>0&&n<e.length&&(e.charCodeAt(n)&64512)===56320&&n--,n}function dE(t){let e=new Fy,r=t.wireIds.length,n=t.fields.length;e.u32(Uy),e.u8(hl),e.u8(0),e.str(t.lang),e.varuint(r),e.u8(n);for(let i of t.fields)e.str(i);fw(e,t.wireIds);for(let i of t.fieldLengths)for(let s of i)e.varuint(s);e.u8(t.relations.length);for(let i of t.relations){e.str(i.name),e.varuint(i.ids.length),fw(e,i.ids);for(let s=0;s<r;s++){e.varuint(i.offsets[s+1]-i.offsets[s]);for(let a=i.offsets[s];a<i.offsets[s+1];a++)e.varuint(i.values[a])}}e.u8(t.presets.length);for(let i of t.presets){if(e.str(i.name),e.u8(i.kind==="score"?0:1),i.kind==="label"){e.varuint(i.labels.length);for(let s of i.labels)e.str(s)}e.bytes(i.values)}e.varuint(t.terms.length);let o="";for(let i of t.terms){let s=uE(o,i);e.varuint(s),e.str(i.slice(s)),o=i}for(let i=0;i<t.terms.length;i++){let s=t.postingOffsets[i],a=t.postingOffsets[i+1];e.varuint(a-s);let c=0;for(let u=s;u<a;u++){let d=t.postingDocs[u];e.varuint(u===s?d:d-c),c=d;let l=0;for(let p=0;p<n;p++)t.postingTf[u*n+p]>0&&(l|=1<<p);e.u8(l);for(let p=0;p<n;p++)l&1<<p&&e.varuint(t.postingTf[u*n+p])}}return e.finish()}function yl(t,e,r){if(t>=e)throw new Error(`search shard: ${r} ${t} out of range (< ${e})`);return t}function _y(t){let e=new jy(t instanceof Uint8Array?t:new Uint8Array(t)),r=e.u32();if(r!==Uy)throw new Error(`Invalid search shard magic 0x${r.toString(16)} (expected DPS1)`);let n=e.u8();if(n!==hl)throw new Error(`Unsupported search shard format version ${n} (this reader handles ${hl})`);e.u8();let o=e.str(),i=e.varuint(),s=e.u8();if(s===0||s>Oy)throw new Error(`search shard: bad field count ${s}`);let a=Array.from({length:s},()=>e.str()),c=mw(e,i),u=a.map(()=>{let w=new Uint32Array(i);for(let x=0;x<i;x++)w[x]=e.varuint();return w}),d=Array.from({length:e.u8()},()=>{let w=e.str(),x=mw(e,e.varuint()),y=new Uint32Array(i+1),I=[];for(let S=0;S<i;S++){y[S]=I.length;let A=e.varuint();for(let P=0;P<A;P++)I.push(yl(e.varuint(),x.length,`relation "${w}" id index`))}return y[i]=I.length,{name:w,ids:x,offsets:y,values:Uint32Array.from(I)}}),l=Array.from({length:e.u8()},()=>{let w=e.str(),x=e.u8()===0?"score":"label",y=x==="label"?Array.from({length:e.varuint()},()=>e.str()):[],I=e.bytes(i).slice();return x==="label"&&I.forEach(S=>yl(S,y.length+1,`preset "${w}" label`)),{name:w,kind:x,labels:y,values:I}}),p=e.varuint(),f=new Array(p),g="";for(let w=0;w<p;w++){let x=e.varuint();g=g.slice(0,x)+e.str(),f[w]=g}let m=new Uint32Array(p+1),h=[],b=[];for(let w=0;w<p;w++){m[w]=h.length;let x=e.varuint(),y=0;for(let I=0;I<x;I++){y=yl(I===0?e.varuint():y+e.varuint(),i,"posting doc"),h.push(y);let S=yl(e.u8(),1<<s,"posting field mask");for(let A=0;A<s;A++)b.push(S&1<<A?e.varuint():0)}}if(m[p]=h.length,!e.done)throw new Error("search shard: trailing bytes");return{lang:o,wireIds:c,fields:a,fieldLengths:u,relations:d,presets:l,terms:f,postingOffsets:m,postingDocs:Uint32Array.from(h),postingTf:Uint16Array.from(b)}}var $y={quality:["illustrations","educationQuality","practicality","accessibilityLevel"],education:["pedagogicalScaffolding","clarityOfExplanation","workedExamples","exercisesAndAssessment","selfStudyReadiness","referenceApparatus","safetyGuidance","contentCurrency"],themeRelevance:["ecoRegeneration","communityLiving","promotesPeace","businessDevelopment"]},gw={no_ecological_harm:"noEcologicalHarm",no_ai_generation:"noAiGeneration",no_explicit_or_violence:"noExplicitOrViolence",no_stolen_content:"noStolenContent",no_politics:"noPolitics",no_spirituality:"noSpirituality",no_history:"noHistory",no_medicine:"noMedicine",no_fiction:"noFiction",no_psychological_profiling:"noPsychologicalProfiling"},yw={electronic_warfare:"watchlistElectronicWarfare",interrogation:"watchlistInterrogation",distillation:"watchlistDistillation",alcohol:"watchlistAlcohol"},zy=t=>({name:t,kind:"score"}),oa=t=>({name:t,kind:"label"}),wl={fields:["title","authors","description"],relations:["topic","author"],presets:[...Object.values($y).flat().map(zy),zy("overallScore"),...Object.values(gw).map(zy),oa("teacherMaterials"),...Object.values(yw).map(oa),oa("ageGradeBand"),oa("screenResult"),oa("dsafeTextQuality"),oa("copyrightStatus")]},Hy=[...Object.values($y).flat(),"teacherMaterials"],Il={title:3,authors:2,description:1},xl=t=>typeof t=="number"&&Number.isInteger(t)&&t>=0&&t<=255?t:void 0;function hw(t,e,r){let n={};for(let[s,a]of Object.entries($y))for(let c of a){let u=xl(t?.[c]);n[c]=r?.has(c)||u?u??null:xl(e?.[s]?.[c]?.score)??null}n.overallScore=xl(e?.dsafe?.overallScore)??null;for(let[s,a]of Object.entries(gw))n[a]=xl(e?.dsafe?.exclusions?.[s]?.score)??null;let o=r?.has("teacherMaterials")||t?.teacherMaterials===!0?t?.teacherMaterials:e?.education?.teacherMaterials;n.teacherMaterials=typeof o=="boolean"?o:null;for(let[s,a]of Object.entries(yw)){let c=e?.dsafe?.watchlistTopics?.[s]?.present;n[a]=typeof c=="boolean"?c:null}let i=s=>typeof s=="string"&&s!==""?s:null;return n.ageGradeBand=i(e?.education?.ageGradeBand),n.screenResult=i(e?.dsafe?.screenResult),n.dsafeTextQuality=i(e?.dsafe?.textQuality),n.copyrightStatus=i(e?.metadata?.copyrightStatus),n}function Wy(t,e="deepseek",r="deepseek-chat"){let n=t?.get(e)?.get(r),o;for(let i of n??[])(!o||i.ts>o.ts)&&(o=i);return o?.value}function cu(t){return t.safe===!1||t.deleted===!0||!t.title?null:{wireId:t.wireId,fields:{title:t.title,authors:t.authorNames.filter(Boolean).join(", "),description:t.description??""},relations:{topic:[...t.topicIds],author:[...t.authorIds]},presets:hw(t.extended,t.ai,t.curated)}}var bw=1.2,xw=.75,lE=.6,ww=new WeakMap;function Sl(t){let e=ww.get(t);return e||(e={presets:new Map(t.presets.map(r=>[r.name,r])),relations:new Map(t.relations.map(r=>[r.name,r]))},ww.set(t,e)),e}function Gy(t,e){let r=t?t.values[e]:0;return r===0?null:t.kind==="label"?t.labels[r-1]:r}var pE=/[\p{L}\p{N}\p{M}]+$/u;function fE(t){let e=su(t);if(/\s$/u.test(t))return{words:[...new Set(e)],prefixWord:null};let r=pE.exec(gl(t))?.[0];return r&&Array.from(r).length===1&&e[e.length-1]!==r&&e.push(r),{words:[...new Set(e)],prefixWord:e.length?e[e.length-1]:null}}function mE(t,e){let r=0,n=t.length;for(;r<n;){let o=r+n>>>1;t[o]<e?r=o+1:n=o}return r}function Vy(t,e){let r=0,n=t.length-1;for(;r<=n;){let o=r+n>>>1;if(t[o]===e)return o;t[o]<e?r=o+1:n=o-1}return-1}var ia=class{constructor(e={}){this.langs=new Map;this.hidden=new Set;this.fieldWeights=e.fieldWeights??{}}state(e){let r=this.langs.get(e);return r||(r={published:[],overlay:null,hidden:new Set,resolved:null,stats:null},this.langs.set(e,r)),r}invalidate(e){e.resolved=null,e.stats=null}addShard(e){let r=this.state(e.lang);r.published.push(e),this.invalidate(r)}clearPublished(e){let r=this.langs.get(e);r&&(r.published=[],this.invalidate(r))}setOverlay(e,r){if(r&&r.lang!==e)throw new Error(`overlay shard is ${r.lang}, not ${e}`);let n=this.state(e);n.overlay=r,this.invalidate(n)}hide(e){for(let r of e)this.hidden.add(r);for(let r of this.langs.values())r.stats=null}unhide(e){for(let r of e)this.hidden.delete(r);for(let r of this.langs.values())r.stats=null}setHidden(e){this.hidden.clear(),this.hide(e)}hideForLanguage(e,r){let n=this.state(e);for(let o of r)n.hidden.add(o);n.stats=null}unhideForLanguage(e,r){let n=this.state(e);for(let o of r)n.hidden.delete(o);n.stats=null}setHiddenForLanguage(e,r){let n=this.state(e);n.hidden.clear();for(let o of r)n.hidden.add(o);n.stats=null}publishedPresets(e,r){let n=this.langs.get(e);if(n)for(let o=n.published.length-1;o>=0;o--){let i=n.published[o],s=Vy(i.wireIds,r);if(s<0)continue;let a={};for(let c of i.presets){let u=Gy(c,s);u!==null&&(a[c.name]=u)}return a}}publishedIdsWithRelation(e,r,n){let o=[];for(let i of this.langs.get(e)?.published??[]){let s=Sl(i).relations.get(r),a=s?Vy(s.ids,n):-1;if(!(a<0)){for(let c=0;c<i.wireIds.length;c++)for(let u=s.offsets[c];u<s.offsets[c+1];u++)if(s.values[u]===a){o.push(i.wireIds[c]);break}}}return o}languages(){return[...this.langs.entries()].filter(([,e])=>e.published.length>0||e.overlay).map(([e])=>e)}size(e){return this.stats(this.state(e)).docCount}resolve(e){if(e.resolved)return e.resolved;let r=new Map;for(let n of[...e.published,...e.overlay?[e.overlay]:[]])n.wireIds.forEach((o,i)=>r.set(o,{shard:n,doc:i}));return e.resolved=r,r}isLive(e,r,n){let o=r.wireIds[n];if(this.hidden.has(o)||e.hidden.has(o))return!1;let i=this.resolve(e).get(o);return i!==void 0&&i.shard===r&&i.doc===n}stats(e){if(e.stats)return e.stats;let r=new Map,n=0;for(let i of this.resolve(e).values()){let s=i.shard.wireIds[i.doc];this.hidden.has(s)||e.hidden.has(s)||(n++,i.shard.fields.forEach((a,c)=>r.set(a,(r.get(a)??0)+i.shard.fieldLengths[c][i.doc])))}let o=new Map;for(let[i,s]of r)o.set(i,n?s/n:0);return e.stats={docCount:n,avgLen:o},e.stats}shardsOf(e){return e.overlay?[...e.published,e.overlay]:e.published}search(e){let r=this.state(e.lang),n=this.shardsOf(r),{words:o,prefixWord:i}=fE(e.text??""),s=e.fieldWeights??this.fieldWeights,a=null;if(o.length>0){let{docCount:m,avgLen:h}=this.stats(r);for(let b of o){let w=this.scoreWord(n,b,b===i,m,h,s);if(a===null){a=w;continue}let x=new Map;for(let[y,I]of a){let S=w.get(y);if(!S)continue;let A=new Map;for(let[P,N]of I){let T=S.get(P);T!==void 0&&A.set(P,N+T)}A.size&&x.set(y,A)}a=x}}let c=[],u=this.compileFilters(e.filters),d=(m,h,b)=>{this.isLive(r,m,h)&&u(m,h)&&c.push({shard:m,doc:h,score:b})};if(a===null)for(let m of n)for(let h=0;h<m.wireIds.length;h++)d(m,h,0);else for(let[m,h]of a)for(let[b,w]of h)d(m,b,w);let l=(m,h)=>h.score-m.score||au(m.shard.wireIds[m.doc],h.shard.wireIds[h.doc]);if(e.sort){let{preset:m,dir:h="desc"}=e.sort,b=h==="asc"?1:-1,w=c.map(x=>({h:x,v:Gy(Sl(x.shard).presets.get(m),x.doc)}));w.sort((x,y)=>x.v!==y.v?x.v===null?1:y.v===null?-1:(x.v<y.v?-1:1)*b:l(x.h,y.h)),w.forEach((x,y)=>{c[y]=x.h})}else c.sort(l);let p={};for(let m of e.facets??[])p[m]=this.countFacet(m,c);let f=e.offset??0,g=e.limit??20;return{total:c.length,hits:c.slice(f,f+g).map(m=>({wireId:m.shard.wireIds[m.doc],score:m.score})),facets:p}}scoreWord(e,r,n,o,i,s){let a=e.map(d=>{let l=[],p=mE(d.terms,r);if(p<d.terms.length&&d.terms[p]===r&&(l.push({t:p,exact:!0}),p++),n)for(;p<d.terms.length&&d.terms[p].startsWith(r);p++)l.push({t:p,exact:!1});return l}),c=new Map;e.forEach((d,l)=>{for(let{t:p}of a[l]){let f=d.terms[p];c.set(f,(c.get(f)??0)+d.postingOffsets[p+1]-d.postingOffsets[p])}});let u=new Map;return e.forEach((d,l)=>{if(a[l].length===0)return;let p=d.fields.length,f=d.fields.map(h=>s?.[h]??1),g=d.fields.map(h=>i.get(h)||1),m=new Map;for(let{t:h,exact:b}of a[l]){let w=Math.min(c.get(d.terms[h]),o),x=Math.log(1+(o-w+.5)/(w+.5)),y=b?1:lE;for(let I=d.postingOffsets[h];I<d.postingOffsets[h+1];I++){let S=d.postingDocs[I],A=0;for(let T=0;T<p;T++){let D=d.postingTf[I*p+T];D&&(A+=f[T]*D/(1-xw+xw*d.fieldLengths[T][S]/g[T]))}let P=y*x*(A*(bw+1)/(A+bw)),N=m.get(S);(N===void 0||P>N)&&m.set(S,P)}}m.size&&u.set(d,m)}),u}compileFilters(e){let r=Object.entries(e?.presets??{}).filter(([,s])=>!("in"in s)||s.in.length>0),n=Object.entries(e?.relations??{}).filter(([,s])=>s.length>0).map(([s,a])=>[s,a.map(c=>BigInt(c))]);if(r.length===0&&n.length===0)return()=>!0;let o=new WeakMap,i=s=>{let a=[],{presets:c,relations:u}=Sl(s);for(let[d,l]of r){let p=c.get(d);if("in"in l){let f=new Set;p&&l.in.forEach(g=>{let m=p.labels.indexOf(g);m>=0&&f.add(m+1)}),a.push(g=>p!==void 0&&f.has(p.values[g]))}else{let f=l.min??0,g=l.max??255;a.push(m=>{let h=p?p.values[m]:0;return h===0?l.includeUnknown===!0:h>=f&&h<=g})}}for(let[d,l]of n){let p=u.get(d),f=new Set;if(p)for(let g of l){let m=Vy(p.ids,g);m>=0&&f.add(m)}a.push(g=>{if(!p||f.size===0)return!1;for(let m=p.offsets[g];m<p.offsets[g+1];m++)if(f.has(p.values[m]))return!0;return!1})}return d=>a.every(l=>l(d))};return(s,a)=>{let c=o.get(s);return c||(c=i(s),o.set(s,c)),c(a)}}countFacet(e,r){let n={},o=i=>{n[i]=(n[i]??0)+1};for(let{shard:i,doc:s}of r){let{presets:a,relations:c}=Sl(i),u=a.get(e);if(u){let l=Gy(u,s);l!==null&&o(String(l));continue}let d=c.get(e);if(d)for(let l=d.offsets[s];l<d.offsets[s+1];l++)o(d.ids[d.values[l]].toString())}return n}};var uu=class extends Error{constructor(e,r){super(`Sidecar temporarily unavailable (${r}): ${e}`),this.name="SidecarFetchError"}},gE=18,Iw=[500,1500,4e3],yE=t=>{if(t.byteLength!==2)return!1;let e=new Uint8Array(t);return e[0]===123&&e[1]===125};async function hE(t,e=!1){let r;for(let n=0;n<Iw.length+1;n++)try{let o=n===0?t:`${t}${t.includes("?")?"&":"?"}_retry=${n}`,i=await fetch(o,n===0?void 0:{cache:"reload"});if(!i.ok)throw new uu(t,`HTTP ${i.status}`);let s=await i.arrayBuffer();if(s.byteLength<gE&&!(e&&yE(s)))throw new uu(t,`only ${s.byteLength} byte(s) returned`);return s}catch(o){r=o;let i=Iw[n];i!==void 0&&await new Promise(s=>setTimeout(s,i))}throw r instanceof Error?r:new uu(t,String(r))}async function bE(t){let e=new Uint8Array(t,0,Math.min(2,t.byteLength));if(e[0]!==31||e[1]!==139)return t;let r=new DecompressionStream("gzip"),n=r.writable.getWriter(),o=r.readable.getReader();n.write(new Uint8Array(t)),n.close();let i=[],s=!1;for(;!s;){let{value:d,done:l}=await o.read();d&&i.push(d),s=l}let a=i.reduce((d,l)=>d+l.byteLength,0),c=new Uint8Array(a),u=0;for(let d of i)c.set(d,u),u+=d.byteLength;return c.buffer}async function Sw(t,e=!1){return bE(await hE(t,e))}var xE=500,wE=150,vw=()=>new Promise(t=>setTimeout(t,0));function vl(t,e){let r=D1(W.type,t.id),n={},o=new Set;for(let s of Hy){let a=Xs[s];n[s]=t.getProp(a,e);let c=r?.properties.get(a)?.some(({langId:u})=>{let d=vn[u]??"";return d===""||d===e});(t.getProvenance(a,e)!==0||c)&&o.add(s)}let i=t.authorsIds;return{wireId:t.id,title:t.getTitle(e),description:t.getDescription(e),safe:t.getProp(Xs.safe,e)??!0,deleted:t.getProp(Xs.deleted,e)??!1,authorIds:i,authorNames:i.map(s=>Ue.Has(s)?Ue.Load(s).getTitle(e):null),topicIds:t.inTagsIds,extended:n,ai:Wy(t.getAiResults(e)),curated:o}}var IE=()=>{let t;return{promise:new Promise(r=>{t=r}),resolve:t}},Al=class{constructor(){this.index=new ia({fieldWeights:Il});this.states=new Map;this.loads=new Map;this.waiters=new Map;this.listeners=new Set;this.dirtyBooks=new Set;this.dirtyTags=new Set;this.dirtyPersons=new Set;this.removedByOverlay=new Map;this.generation=0;this.overlayTimer=null;this.unhook=null}trackLocalChanges(){if(this.unhook)return;let e=di({track(){},trigger:n=>this.onRecordChanged(n)}),r=jn.subscribe(W.type,()=>{this.syncHidden(),this.notify()});this.unhook=()=>{e(),r()}}load(e,r){let n=this.loads.get(e);return n||(n=this.doLoad(e,r,this.generation),this.loads.set(e,n)),n}ready(e=ne.userLang){let r=this.states.get(e)?.status;return r==="ready"||r==="error"?Promise.resolve():this.waiter(e).promise}state(e=ne.userLang){return this.states.get(e)??{status:"idle",source:null,shards:0}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}search(e){let r=e.lang??ne.userLang,n=e.filters?.relations?.topic,o=n?.length?{...e.filters,relations:{...e.filters.relations,topic:Aw(n.map(i=>BigInt(i)))}}:e.filters;return this.index.search({...e,lang:r,filters:o})}reset(){this.generation++,this.unhook?.(),this.unhook=null,this.overlayTimer&&clearTimeout(this.overlayTimer),this.overlayTimer=null;for(let e of this.waiters.values())e.resolve();this.index=new ia({fieldWeights:Il});for(let e of[this.dirtyBooks,this.dirtyTags,this.dirtyPersons])e.clear();this.removedByOverlay.clear(),this.states.clear(),this.loads.clear(),this.waiters.clear(),this.listeners.clear()}waiter(e){let r=this.waiters.get(e);return r||(r=IE(),this.waiters.set(e,r)),r}setState(e,r){this.states.set(e,{...this.state(e),...r}),this.notify()}async doLoad(e,r,n){if(this.setState(e,{status:"loading",source:r.length?"published":"records",shards:0,error:void 0}),n===this.generation)try{if(r.length){let o=r.map(i=>Sw(i));o.forEach(i=>i.catch(()=>{}));for(let i of o){let s=_y(await i);if(n!==this.generation)return;if(s.lang!==e)throw new Error(`search shard is ${s.lang}, expected ${e}`);if(this.index.addShard(s),this.setState(e,{shards:this.state(e).shards+1}),await vw(),n!==this.generation)return}}else await this.buildFromRecords(e,n);if(n!==this.generation)return;this.rebuildOverlay(e),this.syncHidden(e),this.setState(e,{status:"ready"})}catch(o){if(n!==this.generation)return;console.warn(`[search] ${e} index unavailable; search is off for this language`,o),this.index.clearPublished(e),this.loads.delete(e),this.setState(e,{status:"error",shards:0,error:o instanceof Error?o.message:String(o)})}finally{n===this.generation&&(this.waiters.get(e)?.resolve(),this.waiters.delete(e))}}async buildFromRecords(e,r){let n=new Set,o=[],i=async()=>r!==this.generation?!1:o.length?(this.index.addShard(bl(e,o,wl)),this.setState(e,{shards:this.state(e).shards+1}),o=[],await vw(),r===this.generation):!0;for(let s of An().get(W.type)?.values()??[]){let a=s;if(n.has(a.id))continue;n.add(a.id);let c=cu(vl(a,e));if(c&&o.push(c),o.length>=xE&&!await i())return}await i()}onRecordChanged(e){let r=e?.id;if(typeof r=="bigint"){switch(e.objectType){case W.type:this.dirtyBooks.add(r);break;case Q.type:this.dirtyTags.add(r);for(let n of e.booksIds??[])this.dirtyBooks.add(n);break;case Ue.type:this.dirtyPersons.add(r);for(let n of e.inAuthorOfIds??[])this.dirtyBooks.add(n);break;default:return}this.overlayTimer===null&&(this.overlayTimer=setTimeout(()=>{this.overlayTimer=null;for(let n of this.states.keys())this.rebuildOverlay(n);this.syncHidden(),this.notify()},wE))}}changedBooks(e){let r=new Set(this.dirtyBooks);for(let n of this.dirtyTags)for(let o of this.index.publishedIdsWithRelation(e,"topic",n))r.add(o);for(let n of this.dirtyPersons)for(let o of this.index.publishedIdsWithRelation(e,"author",n))r.add(o);return r}rebuildOverlay(e){let r=[],n=this.removedByOverlay.get(e);n||this.removedByOverlay.set(e,n=new Set);for(let o of this.changedBooks(e)){let i=W.Has(o)?cu(vl(W.Load(o),e)):null;if(!i){n.add(o);continue}n.delete(o);let s=this.index.publishedPresets(e,o),a=i.presets;if(s)for(let[c,u]of Object.entries(s))a[c]==null&&(a[c]=u);r.push(i)}this.index.setOverlay(e,r.length?bl(e,r,wl):null)}syncHidden(e){let r=e?[e]:[...this.states.keys()],n=jn.list(W.type);for(let o of r){let i=new Set(this.removedByOverlay.get(o)??[]);for(let s of n)(!W.Has(s)||!cu(vl(W.Load(s),o)))&&i.add(s);this.index.setHiddenForLanguage(o,i)}}notify(){for(let e of this.listeners)try{e()}catch(r){console.error("[search] listener failed",r)}}};function Aw(t){let e=new Set,r=[...t];for(;r.length;){let n=r.pop();e.has(n)||(e.add(n),Q.Has(n)&&r.push(...Q.Load(n).tagsIds))}return[...e]}var Nr=new Al;var Zy={};vt(Zy,{bootstrapModelsV2:()=>jE,clearLocalPatches:()=>Dw,installVueReactivity:()=>$w,loadSearch:()=>Nl,resetModelsV2Session:()=>kw,useBookSearch:()=>HE,useDraft:()=>$E,useLevel:()=>UE,useStatsTick:()=>zE,useTrash:()=>_E});var ye=wo(Un(),1);var SE=(t,e)=>{typeof window<"u"&&typeof CustomEvent<"u"&&window.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0}))},Ky=class{constructor(e){this._rrRequest={};this._eventListeners={};this._proReady=Je();this._counter=0;this._worker=new Worker(e,{type:"module"}),this._rrRequest={},this._worker.addEventListener("message",r=>{this._onMessage(r.data)}),this._worker.addEventListener("messageerror",r=>{this._onError(r)}),this._worker.onerror=r=>this._onError(r),this.addEventListener("workerready",()=>{this._proReady.resolve(!0)}),this.addEventListener("workerLoadingError",r=>{console.log("Worker loading Error",r),this._proReady.reject(r)})}get ready(){return this._proReady.pro}addEventListener(e,r){e in this._eventListeners||(this._eventListeners[e]=[]),this._eventListeners[e].push(r)}_onMessage(e){let{id:r,result:n,eventName:o,payload:i}=e;if(o&&o!=="undefined"&&o.length>0){SE(o,i),o in this._eventListeners&&this._eventListeners[o].forEach(c=>c(i));return}let{data:s,error:a}=n;if(r in this._rrRequest){let{res:c,rej:u}=this._rrRequest[r];delete this._rrRequest[r],a?u(a):c(s)}else console.error("nop; invalid request id:",r)}_onError(e){console.error("error in Thread",this,e),this._cancelPendingRequests()}_sendRequest(e,r={transferables:[]}){return new Promise((n,o)=>{let i;do i=`req-id-${this._counter}-${Math.random()}`,this._counter+=1;while(i in this._rrRequest);this._rrRequest[i]={res:n,rej:o},this._worker?this._worker.postMessage({id:i,data:e},r.transferables.length>0?r.transferables:void 0):console.log("_sendRequest(): nop (worker already terminated?)")})}sendRequest(e,r=[]){return this._sendRequest(e,{transferables:r})}getWorker(){return this._worker}_cancelPendingRequests(){let e=0;if(Object.entries(this._rrRequest).forEach(([r,n])=>{n.rej(`canceled: ${r}`),delete this._rrRequest[r],e+=1}),Object.keys(this._rrRequest).length!==0)throw"panic: the rr map should have been cleared!"}terminate(){this._cancelPendingRequests();let e=null;return this._worker.terminate(),this._worker=null,e||void 0}},Pl,sa=Je(),Ew=async t=>(sa.isStarted()||(sa.start(),Pl=new Ky(t),Pl.addEventListener("workerready",()=>{sa.resolve(Pl)}),Pl.addEventListener("workerLoadingError",e=>{sa.reject(e)})),sa.pro);var El=null,Tw=async t=>{t.cacheLimit&&$g({cacheLimit:t.cacheLimit}),El===null&&(El=await Ew(t.workerPath??"/patch-worker.js")),$.initThread(El);let e=await El.sendRequest({cmd:"init",payload:{sidecars:t.sidecars,selectedLangs:t.selectedLangs}}),r=await Qr("mine");return Tr(rl(r).filter(n=>!Te(n))),await ct.calculateLevel("mine"),console.log("InitPatchWorker() done"),e};var Nw="https://arweave.net",Qy=t=>t.replace(/\/+$/,""),du=(t,e)=>e?`${Qy(t)}/${e}`:void 0,lu=(t,e)=>e?`${Qy(t)}/${e}`:void 0;function vE(t,e,r,n=!1){let o=[];for(let[i,s]of Object.entries(e.objects??{}))for(let a of r){let c=s.tiers.slim?.find(p=>p.file.startsWith(`${a}_`)),u=s.tiers.extended?.find(p=>p.file.startsWith(`${a}_`)),d=s.tiers.prov?.find(p=>p.file.startsWith(`${a}_`)),l=s.tiers["ai-for-D-safe"]?.find(p=>p.file.startsWith(`${a}_`));!c&&!u&&!d||o.push({objectType:Number(i),lang:a,slimUrl:du(t,c?.file),extendedUrl:du(t,u?.file),provUrl:du(t,d?.file),aiUrl:n?du(t,l?.file):void 0})}return o}function AE(t,e,r=Nw,n=!1){let o=[];for(let[i,s]of Object.entries(t.objects??{}))for(let a of e){let c=s[a];c&&o.push({objectType:Number(i),lang:a,slimUrl:lu(r,c.slim?.[0]),extendedUrl:lu(r,c.extended?.[0]),provUrl:lu(r,c.prov?.[0]),aiUrl:n?lu(r,c["ai-for-D-safe"]?.[0]):void 0})}return o}function PE(t,e,r){let n=o=>Number(/_(\d+)\.bin$/.exec(o)?.[1]??0);return(e.objects?.["0"]?.tiers.search??[]).filter(o=>o.file.startsWith(`${r}_`)).sort((o,i)=>n(o.file)-n(i.file)).map(o=>du(t,o.file))}function EE(t,e,r=Nw){return(t.objects?.["0"]?.[e]?.search??[]).map(n=>lu(r,n))}function TE(){let t=0;for(let e of An().values())for(let r of e.values())r.restoreInverses(),t++;return t}function CE(t,e){Ze.bootstrapSidecars(t);let r=new Map(e.map(i=>[i.type,i.create])),n=0,o=Oc();tl(o||"mine");try{for(let i of t){let s=r.get(i.objectType);if(!s)continue;let a=i.slim?So(i.slim):null,c=i.extended?So(i.extended):null,u=i.prov?So(i.prov):null;for(let[d,l]of i.idIndex){let p=typeof d=="bigint"?d:BigInt(d),f=s(p);a&&f.mergeSlim(a,l,i.lang),c&&f.mergeExtended(c,l,i.lang),u&&f.mergeProv(u,l,i.lang);let g=i.ai?.get(p);if(g)for(let[m,h]of g.entries())for(let[b,w]of h.entries())for(let x of w)f.attachAiResult(m,b,i.lang,x);n++}}}finally{tl(o)}return TE(),Ly(),n}async function RE(t){Cr.init(await me()),sy(t.userLang);let e=t.selectedLangs??[t.userLang],r=t.loadAiSidecars||!1;ay(r);let n;if(t.localMode){let u;if(t.localManifest)u=t.localManifest;else{let d=await fetch(`${Qy(t.localMode)}/corpus-index.json?t=${Date.now()}`);if(!d.ok)throw new Error(`local corpus-index.json fetch failed: ${d.status}`);u=await d.json()}n=vE(t.localMode,u,e,r),Rl=u}else if(t.registry)n=AE(t.registry.dataBlock,e,t.registry.gateway,r);else throw new Error("bootModelsV2: provide `localMode` (folder) or `registry` (data block)");let o=await Tw({workerPath:t.workerPath,sidecars:n,selectedLangs:e});t.search!==!1&&Nr.trackLocalChanges(),Ze.bootstrapSidecars(o.sidecars);let i=CE(o.sidecars,t.models);for(let u of Object.keys(o.patches)){if(u==="mine")continue;let d=o.patches[u];if(!d?.length)continue;let{applied:l,skipped:p}=await Rr(d,u);console.log(`[models_v2] replayed ${d.length} stored patch(es) for followed user "${u}": ${l} applied, ${p} skipped`)}let s=(o.patches.mine??[]).length;console.log(`[models_v2] replaying ${s} patches from IndexedDB...`);let{applied:a,skipped:c}=await Rr(o.patches.mine??[]);console.log(`[models_v2] patch replay complete: ${a} applied, ${c} skipped`),console.log(`[models_v2] booted: ${i} records (${t.localMode?`local ${t.localMode}`:"registry"})`),Br=t;for(let u of e)Bw.add(u);return BE(e),o}var Rl=null;function NE(t){return Br?.localMode?Rl?PE(Br.localMode,Rl,t):[]:Br?.registry?EE(Br.registry.dataBlock,t,Br.registry.gateway):[]}function Nl(t=ne.userLang){return!Br||Br.search===!1?Promise.resolve():Nr.load(t,NE(t))}function BE(t){if(!Br||Br.search===!1)return;let e=()=>{for(let n of t)Nl(n)},r=globalThis.requestIdleCallback;r?r(e,{timeout:2e3}):setTimeout(e,0)}var Br=null,Bw=new Set;var LE=new Set;var Tl=null,Cw=!1,Cl,kE=2,Rw=4e3;async function DE(t){for(let e=0;;e++)try{if(t.init)await t.init();else{let r=await RE(t);await t.onBoot?.(r)}return}catch(r){if(e<kE){console.warn(`[models_v2] boot attempt ${e+1} failed, retrying in ${Rw}ms...`,r),await new Promise(n=>setTimeout(n,Rw));continue}throw console.error("[models_v2] session init failed after retries",r),t.onBootError?.(r),r}}var Lw=(t,e)=>(Cl=t.onNavigate,e(),Tl===null?Tl=DE(t):Cl?.(),typeof document<"u"&&!Cw&&(Cw=!0,document.addEventListener("astro:after-swap",()=>{e(),Cl?.()})),Tl),kw=()=>{Tl=null,Cl=void 0,Br=null,Rl=null,Bw.clear(),LE.clear(),Nr.reset()},Dw=()=>S1();var ME=Symbol("isDraft"),Mw=Symbol("commit"),Ow=Symbol("rollback"),Fw=Symbol("isDirty"),OE=Symbol("changes"),FE=Symbol("target");function jw(t,e){let r=new Map;return new Proxy(t,{get(o,i,s){if(i===ME)return!0;if(i===FE)return o;if(i===Fw)return r.size>0;if(i===OE)return r;if(i===Mw)return()=>{if(r.size!==0){for(let[c,u]of r.entries()){if(!(c in o)){console.warn(`[models_v2 Draft] Failed to commit property "${String(c)}" to target instance of "${o.constructor.name}". This property does not exist on the target (possible typo or misspelled field).`);continue}Reflect.set(o,c,u)||console.warn(`[models_v2 Draft] Failed to commit property "${String(c)}" to target instance of "${o.constructor.name}". This property might be read-only (getter-only relations/IDs).`)}r.clear(),e?.()}};if(i===Ow)return()=>{r.size>0&&(r.clear(),e?.())};if(r.has(i))return r.get(i);let a=Reflect.get(o,i,s);return typeof a=="function"?a.bind(o):a},set(o,i,s,a){return Reflect.get(o,i,a)===s?(r.has(i)&&(r.delete(i),e?.()),!0):(r.set(i,s),e?.(),!0)}})}var Uw=t=>!!t?.[Fw];var _w=t=>t?.[Mw]?.(),zw=t=>t?.[Ow]?.();var Lr=wo(Un(),1);var Bl=null,$w=()=>{if(Bl)return Bl;let t=new WeakMap;return Bl=di({track(r){let n=t.get(r);n||(n=(0,ye.shallowRef)(0),t.set(r,n)),n.value},trigger(r){let n=t.get(r);n&&n.value++}}),Bl},jE=t=>Lw(t,$w),UE=t=>{let e=(0,ye.shallowRef)(0),r=Xg(n=>{n===t&&e.value++});return(0,ye.onUnmounted)(r),(0,ye.computed)(()=>(e.value,Yg(t)))},_E=(t,e=[])=>{let r=(0,ye.shallowRef)(0),n=jn.subscribe(t,()=>{r.value++});return(0,ye.onUnmounted)(n),{count:(0,ye.computed)(()=>(r.value,jn.count(t,e))),getIds:()=>jn.list(t,e)}},zE=()=>{let t=(0,ye.shallowRef)(0);return(0,ye.onUnmounted)(ty(()=>{t.value++})),t},$E=t=>{let e=(0,ye.shallowRef)(0),r=(0,ye.computed)(()=>{let n=typeof t=="function"?t():t.value;return jw(n,()=>{e.value++})});return{draft:r,isDirty:(0,ye.computed)(()=>(e.value,Uw(r.value))),commit:()=>{_w(r.value),e.value++},rollback:()=>{zw(r.value),e.value++}}},HE=(t={})=>{let e=t.pageSize??20,r=(0,Lr.ref)(""),n=(0,Lr.ref)({}),o=(0,Lr.ref)(),i=(0,Lr.ref)(0),s=(0,ye.shallowRef)(0);(0,ye.onUnmounted)(Nr.subscribe(()=>{s.value++}));let a=(0,Lr.ref)(""),c;(0,Lr.watch)(r,g=>{clearTimeout(c),c=setTimeout(()=>{a.value=g},t.debounceMs??120)}),(0,ye.onUnmounted)(()=>clearTimeout(c)),(0,Lr.watch)([a,n,o],()=>{i.value=0},{deep:!0});let u=(0,ye.computed)(()=>(0,Lr.unref)(t.lang)??void 0),d=(0,ye.computed)(()=>(s.value,Nr.state(u.value))),l=(0,ye.computed)(()=>{s.value;let g=performance.now();return{result:Nr.search({lang:u.value,text:a.value,filters:n.value,sort:o.value,limit:e,offset:i.value*e,facets:t.facets}),ms:performance.now()-g}}),p=(g,m)=>{let h={...n.value.presets};m?h[g]=m:delete h[g],n.value={...n.value,presets:h}},f=(g,m)=>{let h={...n.value.relations};m?.length?h[g]=m:delete h[g],n.value={...n.value,relations:h}};return{text:r,filters:n,sort:o,page:i,pageSize:e,state:d,ready:(0,ye.computed)(()=>d.value.status==="ready"),indexedCount:(0,ye.computed)(()=>(s.value,Nr.index.size(u.value??ne.userLang))),result:(0,ye.computed)(()=>l.value.result),elapsedMs:(0,ye.computed)(()=>l.value.ms),pageCount:(0,ye.computed)(()=>Math.max(1,Math.ceil(l.value.result.total/e))),setPresetFilter:p,setRelationFilter:f,clearFilters:()=>{n.value={},o.value=void 0},whenReady:()=>Nr.ready(u.value),load:()=>Nl(u.value)}};var Jb={};vt(Jb,{Browser:()=>qb,CONTRACT_DISPLAY_NAMES:()=>Vb,EventBus:()=>Ym,EventName:()=>wv,EvmClient:()=>bc,EvmWriteClient:()=>xc,LibraryOwnership:()=>Hw,MetaMaskConnector:()=>vc,NodeFileCacheStorage:()=>Ps,PROJECT_CACHE_TTL_MS:()=>Kv,Platform:()=>Kb,PrivateKeyConnector:()=>Sc,RegistryAddressLoader:()=>gc,SubscriptionClient:()=>wc,WalletError:()=>Sv,WalletEvents:()=>lr,WalletState:()=>Iv,WalletUxError:()=>vv,acknowledgeOwnSave:()=>Db,addressFromPrivateKey:()=>Ad,addressLoader:()=>xe,addressRegistryAbi:()=>Wt,allRegisteredAccounts:()=>$R,createEvmClient:()=>UR,createMetaMaskConnector:()=>I3,createNodeFileCacheStorage:()=>yb,createPrivateKeyConnector:()=>s3,createPrivateKeyWalletClient:()=>Pd,createPrivateKeyWriteClient:()=>a3,createSessionStore:()=>xv,createWriteClient:()=>$b,cursorKey:()=>wd,cursorStore:()=>Ic,dSafeHRStorageAbi:()=>Zv,deserializeCursor:()=>Bv,emptyCursor:()=>QR,formatEther:()=>Rt,getCachedEmail:()=>XR,getConnector:()=>Ob,getContractAbi:()=>hb,getContractDisplayName:()=>Jv,getDecryptedPrivateKey:()=>o3,getEventBus:()=>Xm,getEvmClient:()=>Qm,getPrivateKey:()=>ho,getReadClient:()=>vr,getReadyEvmClient:()=>Zm,getRegisteredConnectors:()=>Fb,getRegistryBaseUrl:()=>gb,getSessionEnvironment:()=>St,getSubscriptionClient:()=>Rb,handleWriteOperationErrors:()=>Gv,hasAnyPrivateKey:()=>r3,hasEncryptedPrivateKey:()=>i3,hasPrivateKey:()=>ig,hasUnsavedPatches:()=>ZR,isOwnWrite:()=>Mv,loadNetworkInfos:()=>JR,loadProject:()=>w3,loadProjects:()=>Gb,parseEther:()=>dd,parseUserAgent:()=>Qb,projectLocale:()=>qv,pythAbi:()=>Ts,readOnlyClients:()=>gv,readOnlyStagingClients:()=>yv,registerConnector:()=>ng,relationshipIndexerStorageAbi:()=>qm,resetTransactionState:()=>Wv,restoreAccountSave:()=>kb,saveMyLevel:()=>h3,serializeCursor:()=>Nv,sessionStore:()=>X,setCachedEmail:()=>e3,setRegistryBaseUrl:()=>mb,setSessionEnvironment:()=>Pb,sidecarUrlsFromManifest:()=>zm,storeEncryptedPrivateKey:()=>n3,storePrivateKey:()=>jv,syncAccount:()=>ri,toViemChain:()=>Xo,walletMeta:()=>v3,writeOperations:()=>Vv});var Hw=(r=>(r[r.Public=0]="Public",r[r.Private=1]="Private",r))(Hw||{});function R(t,e,r){let n=t[e.name];if(typeof n=="function")return n;let o=t[r];return typeof o=="function"?o:i=>e(t,i)}De();K();var fp=class extends v{constructor(e){super(`Filter type "${e}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};ze();er();Pu();qn();zn();Bo();var t5="/docs/contract/encodeEventTopics";function sn(t){let{abi:e,eventName:r,args:n}=t,o=e[0];if(r){let c=zt({abi:e,name:r});if(!c)throw new bu(r,{docsPath:t5});o=c}if(o.type!=="event")throw new bu(void 0,{docsPath:t5});let i=Ge(o),s=No(i),a=[];if(n&&"inputs"in o){let c=o.inputs?.filter(d=>"indexed"in d&&d.indexed),u=Array.isArray(n)?n:Object.values(n).length>0?c?.map(d=>n[d.name])??[]:[];u.length>0&&(a=c?.map((d,l)=>Array.isArray(u[l])?u[l].map((p,f)=>r5({param:d,value:u[l][f]})):typeof u[l]<"u"&&u[l]!==null?r5({param:d,value:u[l]}):null)??[])}return[s,...a]}function r5({param:t,value:e}){if(t.type==="string"||t.type==="bytes")return ie(Xt(e));if(t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/))throw new fp(t.type);return Tt([t],[e])}H();function Lo(t,{method:e}){let r={};return t.transport.type==="fallback"&&t.transport.onResponse?.(({method:n,response:o,status:i,transport:s})=>{i==="success"&&e===n&&(r[o]=s.request)}),(n=>r[n]||t.request)}async function Bp(t,e){let{address:r,abi:n,args:o,eventName:i,fromBlock:s,strict:a,toBlock:c}=e,u=Lo(t,{method:"eth_newFilter"}),d=i?sn({abi:n,args:o,eventName:i}):void 0,l=await t.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof c=="bigint"?E(c):c,topics:d}]});return{abi:n,args:o,eventName:i,id:l,request:u(l),strict:!!a,type:"event"}}Ne();Ct();De();K();Qn();ko();Zi();var HT=3;function nr(t,{abi:e,address:r,args:n,docsPath:o,functionName:i,sender:s}){let a=t instanceof jr?t:t instanceof v?t.walk(g=>"data"in g)||t.walk():{},{code:c,data:u,details:d,message:l,shortMessage:p}=a,f=t instanceof fr?new Nu({functionName:i,cause:t}):[HT,cn.code].includes(c)&&(u||d||l||p)||c===rr.code&&d==="execution reverted"&&u?new Fr({abi:e,data:typeof u=="object"?u.data:u,functionName:i,message:a instanceof Zn?d:p??l,cause:t}):t;return new Bi(f,{abi:e,args:n,contractAddress:r,docsPath:o,functionName:i,sender:s})}Ne();K();nn();er();function Kp(t){let e=ie(`0x${t.substring(4)}`).substring(26);return rn(`0x${e}`)}Zt();Jt();qe();H();async function i2({hash:t,signature:e}){let r=he(t)?t:Ae(t),{secp256k1:n}=await Promise.resolve().then(()=>(Da(),n2));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){let{r:u,s:d,v:l,yParity:p}=e,f=Number(p??l),g=o2(f);return new n.Signature(Ce(u),Ce(d)).addRecoveryBit(g)}let s=he(e)?e:Ae(e);if(te(s)!==65)throw new Error("invalid signature length");let a=ve(`0x${s.slice(130)}`),c=o2(a);return n.Signature.fromCompact(s.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function o2(t){if(t===0||t===1)return t;if(t===27)return 0;if(t===28)return 1;throw new Error("Invalid yParityOrV value")}async function ts({hash:t,signature:e}){return Kp(await i2({hash:t,signature:e}))}ut();ze();H();K();Mp();ze();H();function ao(t,e="hex"){let r=s2(t),n=Ia(new Uint8Array(r.length));return r.encode(n),e==="hex"?oe(n.bytes):n.bytes}function s2(t){return Array.isArray(t)?x8(t.map(e=>s2(e))):w8(t)}function x8(t){let e=t.reduce((o,i)=>o+i.length,0),r=a2(e);return{length:e<=55?1+e:1+r+e,encode(o){e<=55?o.pushByte(192+e):(o.pushByte(247+r),r===1?o.pushUint8(e):r===2?o.pushUint16(e):r===3?o.pushUint24(e):o.pushUint32(e));for(let{encode:i}of t)i(o)}}}function w8(t){let e=typeof t=="string"?Me(t):t,r=a2(e.length);return{length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+r+e.length,encode(o){e.length===1&&e[0]<128?o.pushBytes(e):e.length<=55?(o.pushByte(128+e.length),o.pushBytes(e)):(o.pushByte(183+r),r===1?o.pushUint8(e.length):r===2?o.pushUint16(e.length):r===3?o.pushUint24(e.length):o.pushUint32(e.length),o.pushBytes(e))}}}function a2(t){if(t<2**8)return 1;if(t<2**16)return 2;if(t<2**24)return 3;if(t<2**32)return 4;throw new v("Length is too large.")}er();function of(t){let{chainId:e,nonce:r,to:n}=t,o=t.contractAddress??t.address,i=ie(Ke(["0x05",ao([e?E(e):"0x",o,r?E(r):"0x"])]));return n==="bytes"?Me(i):i}async function Uo(t){let{authorization:e,signature:r}=t;return ts({hash:of(e),signature:r??e})}H();Ru();va();K();gr();var sf=class extends v{constructor(e,{account:r,docsPath:n,chain:o,data:i,gas:s,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:p}){let f=Ci({from:r?.address,to:l,value:typeof p<"u"&&`${Rt(p)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:i,gas:s,gasPrice:typeof a<"u"&&`${Qe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Qe(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Qe(u)} gwei`,nonce:d});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Estimate Gas Arguments:",f].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}};co();$u();function c2(t,{docsPath:e,...r}){let n=(()=>{let o=_o(t,r);return o instanceof ar?t:o})();return new sf(n,{docsPath:e,...r})}cs();uo();af();fn();Ne();va();K();var Fa=class extends v{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},zo=class extends v{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},cf=class extends v{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Qe(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};qe();K();var ja=class extends v{constructor({blockHash:e,blockNumber:r}){let n="Block";e&&(n=`Block at hash "${e}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}};H();qe();var Zh={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Ua(t,e){let r={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,...t.blockTimestamp!=null&&{blockTimestamp:BigInt(t.blockTimestamp)},chainId:t.chainId?ve(t.chainId):void 0,gas:t.gas?BigInt(t.gas):void 0,gasPrice:t.gasPrice?BigInt(t.gasPrice):void 0,maxFeePerBlobGas:t.maxFeePerBlobGas?BigInt(t.maxFeePerBlobGas):void 0,maxFeePerGas:t.maxFeePerGas?BigInt(t.maxFeePerGas):void 0,maxPriorityFeePerGas:t.maxPriorityFeePerGas?BigInt(t.maxPriorityFeePerGas):void 0,nonce:t.nonce?ve(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?Zh[t.type]:void 0,typeHex:t.type?t.type:void 0,value:t.value?BigInt(t.value):void 0,v:t.v?BigInt(t.v):void 0};return t.authorizationList&&(r.authorizationList=A8(t.authorizationList)),r.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}function A8(t){return t.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function uf(t,e){let r=(t.transactions??[]).map(n=>typeof n=="string"?n:Ua(n));return{...t,baseFeePerGas:t.baseFeePerGas?BigInt(t.baseFeePerGas):null,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,difficulty:t.difficulty?BigInt(t.difficulty):void 0,excessBlobGas:t.excessBlobGas?BigInt(t.excessBlobGas):void 0,gasLimit:t.gasLimit?BigInt(t.gasLimit):void 0,gasUsed:t.gasUsed?BigInt(t.gasUsed):void 0,hash:t.hash?t.hash:null,logsBloom:t.logsBloom?t.logsBloom:null,nonce:t.nonce?t.nonce:null,number:t.number?BigInt(t.number):null,size:t.size?BigInt(t.size):void 0,timestamp:t.timestamp?BigInt(t.timestamp):void 0,transactions:r,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}async function tt(t,{blockHash:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",includeTransactions:o}={}){let i=o??!1,s=r!==void 0?E(r):void 0,a=null;if(e?a=await t.request({method:"eth_getBlockByHash",params:[e,i]},{dedupe:!0}):a=await t.request({method:"eth_getBlockByNumber",params:[s||n,i]},{dedupe:!!s}),!a)throw new ja({blockHash:e,blockNumber:r});return(t.chain?.formatters?.block?.format||uf)(a,"getBlock")}async function _a(t){let e=await t.request({method:"eth_gasPrice"});return BigInt(e)}async function d2(t,e){return Jh(t,e)}async function Jh(t,e){let{block:r,chain:n=t.chain,request:o}=e||{};try{let i=n?.fees?.maxPriorityFeePerGas??n?.fees?.defaultPriorityFee;if(typeof i=="function"){let a=r||await R(t,tt,"getBlock")({}),c=await i({block:a,client:t,request:o});if(c===null)throw new Error;return c}if(typeof i<"u")return i;let s=await t.request({method:"eth_maxPriorityFeePerGas"});return Ce(s)}catch{let[i,s]=await Promise.all([r?Promise.resolve(r):R(t,tt,"getBlock")({}),R(t,_a,"getGasPrice")({})]);if(typeof i.baseFeePerGas!="bigint")throw new zo;let a=s-i.baseFeePerGas;return a<0n?0n:a}}async function l2(t,e){return df(t,e)}async function df(t,e){let{block:r,chain:n=t.chain,request:o,type:i="eip1559"}=e||{},s=await(async()=>typeof n?.fees?.baseFeeMultiplier=="function"?n.fees.baseFeeMultiplier({block:r,client:t,request:o}):n?.fees?.baseFeeMultiplier??1.2)();if(s<1)throw new Fa;let c=10**(s.toString().split(".")[1]?.length??0),u=p=>p*BigInt(Math.ceil(s*c))/BigInt(c),d=r||await R(t,tt,"getBlock")({});if(typeof n?.fees?.estimateFeesPerGas=="function"){let p=await n.fees.estimateFeesPerGas({block:r,client:t,multiply:u,request:o,type:i});if(p!==null)return p}if(i==="eip1559"){if(typeof d.baseFeePerGas!="bigint")throw new zo;let p=typeof o?.maxPriorityFeePerGas=="bigint"?o.maxPriorityFeePerGas:await Jh(t,{block:d,chain:n,request:o}),f=u(d.baseFeePerGas);return{maxFeePerGas:o?.maxFeePerGas??f+p,maxPriorityFeePerGas:p}}return{gasPrice:o?.gasPrice??u(await R(t,_a,"getGasPrice")({}))}}qe();H();async function za(t,{address:e,blockTag:r="latest",blockNumber:n}){let o=await t.request({method:"eth_getTransactionCount",params:[e,typeof n=="bigint"?E(n):r]},{dedupe:!!n});return ve(o)}ze();H();function $a(t){let{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(i=>Me(i)):t.blobs,o=[];for(let i of n)o.push(Uint8Array.from(e.blobToKzgCommitment(i)));return r==="bytes"?o:o.map(i=>oe(i))}ze();H();function Ha(t){let{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(s=>Me(s)):t.blobs,o=typeof t.commitments[0]=="string"?t.commitments.map(s=>Me(s)):t.commitments,i=[];for(let s=0;s<n.length;s++){let a=n[s],c=o[s];i.push(Uint8Array.from(e.computeBlobKzgProof(a,c)))}return r==="bytes"?i:i.map(s=>oe(s))}H();Ih();var p2=Ji;Zt();ze();H();function f2(t,e){let r=e||"hex",n=p2(he(t,{strict:!1})?Xt(t):t);return r==="bytes"?n:Ae(n)}function m2(t){let{commitment:e,version:r=1}=t,n=t.to??(typeof e=="string"?"hex":"bytes"),o=f2(e,"bytes");return o.set([r],0),n==="bytes"?o:oe(o)}function lf(t){let{commitments:e,version:r}=t,n=t.to??(typeof e[0]=="string"?"hex":"bytes"),o=[];for(let i of e)o.push(m2({commitment:i,to:n,version:r}));return o}K();var pf=class extends v{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},Wa=class extends v{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},ff=class extends v{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},mf=class extends v{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};Mp();Jt();ze();H();function g2(t){let e=t.to??(typeof t.data=="string"?"hex":"bytes"),r=typeof t.data=="string"?Me(t.data):t.data,n=te(r);if(!n)throw new Wa;if(n>761855)throw new pf({maxSize:761855,size:n});let o=[],i=!0,s=0;for(;i;){let a=Ia(new Uint8Array(131072)),c=0;for(;c<4096;){let u=r.slice(s,s+31);if(a.pushByte(0),a.pushBytes(u),u.length<31){a.pushByte(128),i=!1;break}c++,s+=31}o.push(a)}return e==="bytes"?o.map(a=>a.bytes):o.map(a=>oe(a.bytes))}function gf(t){let{data:e,kzg:r,to:n}=t,o=t.blobs??g2({data:e,to:n}),i=t.commitments??$a({blobs:o,kzg:r,to:n}),s=t.proofs??Ha({blobs:o,commitments:i,kzg:r,to:n}),a=[];for(let c=0;c<o.length;c++)a.push({blob:o[c],commitment:i[c],proof:s[c]});return a}Ti();fn();gr();function yf(t){if(t.type)return t.type;if(typeof t.authorizationList<"u")return"eip7702";if(typeof t.blobs<"u"||typeof t.blobVersionedHashes<"u"||typeof t.maxFeePerBlobGas<"u"||typeof t.sidecars<"u")return"eip4844";if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")return"eip1559";if(typeof t.gasPrice<"u")return typeof t.accessList<"u"?"eip2930":"legacy";throw new Hp({transaction:t})}Ne();co();gr();$u();function $o(t,{docsPath:e,...r}){let n=(()=>{let o=_o(t,r);return o instanceof ar?t:o})();return new Gp(n,{docsPath:e,...r})}cs();uo();fn();qe();async function xt(t){let e=await t.request({method:"eth_chainId"},{dedupe:!0});return ve(e)}async function Ga(t,e){let{account:r=t.account,accessList:n,authorizationList:o,chain:i=t.chain,blobVersionedHashes:s,blobs:a,data:c,gas:u,gasPrice:d,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:g,nonceManager:m,to:h,type:b,value:w,...x}=e,y=await(async()=>{if(!r||!m||typeof g<"u")return g;let P=q(r),N=i?i.id:await R(t,xt,"getChainId")({});return await m.consume({address:P.address,chainId:N,client:t})})();et(e);let I=i?.formatters?.transactionRequest?.format,A=(I||bt)({...yr(x,{format:I}),account:r?q(r):void 0,accessList:n,authorizationList:o,blobs:a,blobVersionedHashes:s,data:c,gas:u,gasPrice:d,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:y,to:h,type:b,value:w},"fillTransaction");try{let P=await t.request({method:"eth_fillTransaction",params:[A]}),T=(i?.formatters?.transaction?.format||Ua)(P.tx);delete T.blockHash,delete T.blockNumber,delete T.r,delete T.s,delete T.transactionIndex,delete T.v,delete T.yParity,T.data=T.input,T.gas&&(T.gas=e.gas??T.gas),T.gasPrice&&(T.gasPrice=e.gasPrice??T.gasPrice),T.maxFeePerBlobGas&&(T.maxFeePerBlobGas=e.maxFeePerBlobGas??T.maxFeePerBlobGas),T.maxFeePerGas&&(T.maxFeePerGas=e.maxFeePerGas??T.maxFeePerGas),T.maxPriorityFeePerGas&&(T.maxPriorityFeePerGas=e.maxPriorityFeePerGas??T.maxPriorityFeePerGas),typeof T.nonce<"u"&&(T.nonce=e.nonce??T.nonce);let D=await(async()=>{if(typeof i?.fees?.baseFeeMultiplier=="function"){let B=await R(t,tt,"getBlock")({});return i.fees.baseFeeMultiplier({block:B,client:t,request:e})}return i?.fees?.baseFeeMultiplier??1.2})();if(D<1)throw new Fa;let F=10**(D.toString().split(".")[1]?.length??0),z=B=>B*BigInt(Math.ceil(D*F))/BigInt(F);return T.feePayerSignature||(T.maxFeePerGas&&!e.maxFeePerGas&&(T.maxFeePerGas=z(T.maxFeePerGas)),T.gasPrice&&!e.gasPrice&&(T.gasPrice=z(T.gasPrice))),{raw:P.raw,transaction:{from:A.from,...T},...P.capabilities?{capabilities:P.capabilities}:{}}}catch(P){throw $o(P,{...e,chain:t.chain})}}var Hu=["blobVersionedHashes","chainId","fees","gas","nonce","type"],y2=new Map,Yh=new jt(128);async function mn(t,e){let r=e;r.account??(r.account=t.account),r.parameters??(r.parameters=Hu);let{account:n,chain:o=t.chain,nonceManager:i,parameters:s}=r,a=(()=>{if(typeof o?.prepareTransactionRequest=="function")return{fn:o.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(o?.prepareTransactionRequest))return{fn:o.prepareTransactionRequest[0],runAt:o.prepareTransactionRequest[1].runAt}})(),c;async function u(){return c||(typeof r.chainId<"u"?r.chainId:o?o.id:(c=await R(t,xt,"getChainId")({}),c))}let d=n&&q(n),l=r.nonce;if(s.includes("nonce")&&typeof l>"u"&&d&&i){let y=await u();l=await i.consume({address:d.address,chainId:y,client:t})}a?.fn&&a.runAt?.includes("beforeFillTransaction")&&(r=await a.fn({...r,chain:o},{phase:"beforeFillTransaction"}),l??(l=r.nonce));let f=((s.includes("blobVersionedHashes")||s.includes("sidecars"))&&r.kzg&&r.blobs||Yh.get(t.uid)===!1||!["fees","gas"].some(I=>s.includes(I))?!1:!!(s.includes("chainId")&&typeof r.chainId!="number"||s.includes("nonce")&&typeof l!="number"||s.includes("fees")&&typeof r.gasPrice!="bigint"&&(typeof r.maxFeePerGas!="bigint"||typeof r.maxPriorityFeePerGas!="bigint")||s.includes("gas")&&typeof r.gas!="bigint"))?await R(t,Ga,"fillTransaction")({...r,nonce:l}).then(y=>{let{chainId:I,from:S,gas:A,gasPrice:P,nonce:N,maxFeePerBlobGas:T,maxFeePerGas:D,maxPriorityFeePerGas:O,type:F,...z}=y.transaction;return Yh.set(t.uid,!0),{...r,...S?{from:S}:{},...F&&!r.type?{type:F}:{},...typeof I<"u"?{chainId:I}:{},...typeof A<"u"?{gas:A}:{},...typeof P<"u"?{gasPrice:P}:{},...typeof N<"u"?{nonce:N}:{},...typeof T<"u"&&r.type!=="legacy"&&r.type!=="eip2930"?{maxFeePerBlobGas:T}:{},...typeof D<"u"&&r.type!=="legacy"&&r.type!=="eip2930"?{maxFeePerGas:D}:{},...typeof O<"u"&&r.type!=="legacy"&&r.type!=="eip2930"?{maxPriorityFeePerGas:O}:{},..."nonceKey"in z&&typeof z.nonceKey<"u"?{nonceKey:z.nonceKey}:{},..."keyAuthorization"in z&&typeof z.keyAuthorization<"u"&&z.keyAuthorization!==null&&!("keyAuthorization"in r)?{keyAuthorization:z.keyAuthorization}:{},..."feePayerSignature"in z&&typeof z.feePayerSignature<"u"&&z.feePayerSignature!==null?{feePayerSignature:z.feePayerSignature}:{},..."feeToken"in z&&typeof z.feeToken<"u"&&z.feeToken!==null&&!("feeToken"in r)?{feeToken:z.feeToken}:{},...y.capabilities?{_capabilities:y.capabilities}:{}}}).catch(y=>{let I=y;if(I.name!=="TransactionExecutionError")return r;if(I.walk?.(P=>P.name==="ExecutionRevertedError"))throw y;return I.walk?.(P=>{let N=P;return N.name==="MethodNotFoundRpcError"||N.name==="MethodNotSupportedRpcError"||N.message?.includes("eth_fillTransaction is not available")})&&Yh.set(t.uid,!1),r}):r;l??(l=f.nonce),r={...f,...d?{from:d?.address}:{},...typeof l<"u"?{nonce:l}:{}};let{blobs:g,gas:m,kzg:h,type:b}=r;a?.fn&&a.runAt?.includes("beforeFillParameters")&&(r=await a.fn({...r,chain:o},{phase:"beforeFillParameters"}));let w;async function x(){return w||(w=await R(t,tt,"getBlock")({blockTag:"latest"}),w)}if(s.includes("nonce")&&typeof l>"u"&&d&&!i&&(r.nonce=await R(t,za,"getTransactionCount")({address:d.address,blockTag:"pending"})),(s.includes("blobVersionedHashes")||s.includes("sidecars"))&&g&&h){let y=$a({blobs:g,kzg:h});if(s.includes("blobVersionedHashes")){let I=lf({commitments:y,to:"hex"});r.blobVersionedHashes=I}if(s.includes("sidecars")){let I=Ha({blobs:g,commitments:y,kzg:h}),S=gf({blobs:g,commitments:y,proofs:I,to:"hex"});r.sidecars=S}}if(s.includes("chainId")&&(r.chainId=await u()),(s.includes("fees")||s.includes("type"))&&typeof b>"u")try{r.type=yf(r)}catch{let y=y2.get(t.uid);typeof y>"u"&&(y=typeof(await x())?.baseFeePerGas=="bigint",y2.set(t.uid,y)),r.type=y?"eip1559":"legacy"}if(s.includes("fees"))if(r.type!=="legacy"&&r.type!=="eip2930"){if(typeof r.maxFeePerGas>"u"||typeof r.maxPriorityFeePerGas>"u"){let y=await x(),{maxFeePerGas:I,maxPriorityFeePerGas:S}=await df(t,{block:y,chain:o,request:r});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<S)throw new cf({maxPriorityFeePerGas:S});r.maxPriorityFeePerGas=S,r.maxFeePerGas=I}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new zo;if(typeof r.gasPrice>"u"){let y=await x(),{gasPrice:I}=await df(t,{block:y,chain:o,request:r,type:"legacy"});r.gasPrice=I}}return s.includes("gas")&&typeof m>"u"&&(r.gas=await R(t,Va,"estimateGas")({...r,account:d,prepare:d?.type==="local"?[]:["blobVersionedHashes"]})),a?.fn&&a.runAt?.includes("afterFillParameters")&&(r=await a.fn({...r,chain:o},{phase:"afterFillParameters"})),et(r),delete r.parameters,r}async function Va(t,e){let{account:r=t.account,prepare:n=!0}=e,o=r?q(r):void 0,i=(()=>{if(Array.isArray(n))return n;if(o?.type!=="local")return["blobVersionedHashes"]})();try{let s=await(async()=>{if(e.to)return e.to;if(e.authorizationList&&e.authorizationList.length>0)return await Uo({authorization:e.authorizationList[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:d,blockNumber:l,blockTag:p,data:f,gas:g,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,value:y,stateOverride:I,...S}=n?await mn(t,{...e,parameters:i,to:s}):e;if(g&&e.gas!==g)return g;let P=(typeof l=="bigint"?E(l):void 0)||p,N=Ma(I);et(e);let T=t.chain?.formatters?.transactionRequest?.format,O=(T||bt)({...yr(S,{format:T}),account:o,accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:d,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:w,nonce:x,to:s,value:y},"estimateGas");return BigInt(await t.request({method:"eth_estimateGas",params:N?[O,P??t.experimental_blockTag??"latest",N]:P?[O,P]:[O]}))}catch(s){throw c2(s,{...e,account:o,chain:t.chain})}}async function h2(t,e){let{abi:r,address:n,args:o,functionName:i,dataSuffix:s=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,...a}=e,c=ue({abi:r,args:o,functionName:i});try{return await R(t,Va,"estimateGas")({data:`${c}${s?s.replace("0x",""):""}`,to:n,...a})}catch(u){let d=a.account?q(a.account):void 0;throw nr(u,{abi:r,address:n,args:o,docsPath:"/docs/contract/estimateContractGas",functionName:i,sender:d?.address})}}Bo();us();ze();function rt(t,{args:e,eventName:r}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,blockTimestamp:t.blockTimestamp?BigInt(t.blockTimestamp):t.blockTimestamp===null?null:void 0,logIndex:t.logIndex?Number(t.logIndex):null,transactionHash:t.transactionHash?t.transactionHash:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,...r?{args:e,eventName:r}:{}}}er();Pu();De();gh();Jt();Pu();Cu();zn();var b2="/docs/contract/decodeEventLog";function ds(t){let{abi:e,data:r,strict:n,topics:o}=t,i=n??!0,[s,...a]=o;if(!s)throw new sp({docsPath:b2});let c=e.find(b=>b.type==="event"&&s===No(Ge(b)));if(!(c&&"name"in c)||c.type!=="event")throw new ap(s,{docsPath:b2});let{name:u,inputs:d}=c,l=d?.some(b=>!("name"in b&&b.name)),p=l?[]:{},f=d.map((b,w)=>[b,w]).filter(([b])=>"indexed"in b&&b.indexed),g=[];for(let b=0;b<f.length;b++){let[w,x]=f[b],y=a[b];if(!y){if(i)throw new Eo({abiItem:c,param:w});g.push([w,x]);continue}p[l?x:w.name||x]=T8({param:w,value:y})}let m=d.filter(b=>!("indexed"in b&&b.indexed)),h=i?m:[...g.map(([b])=>b),...m];if(h.length>0){if(r&&r!=="0x")try{let b=Kn(h,r);if(b){let w=0;if(!i)for(let[x,y]of g)p[l?y:x.name||y]=b[w++];if(l)for(let x=0;x<d.length;x++)p[x]===void 0&&w<b.length&&(p[x]=b[w++]);else for(let x=0;x<m.length;x++)p[m[x].name]=b[w++]}}catch(b){if(i)throw b instanceof la||b instanceof wa?new $n({abiItem:c,data:r,params:h,size:te(r)}):b}else if(i)throw new $n({abiItem:c,data:"0x",params:h,size:0})}return{eventName:u,args:Object.values(p).length>0?p:void 0}}function T8({param:t,value:e}){return t.type==="string"||t.type==="bytes"||t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/)?e:(Kn([t],e)||[])[0]}function qa(t){let{abi:e,args:r,logs:n,strict:o=!0}=t,i=(()=>{if(t.eventName)return Array.isArray(t.eventName)?t.eventName:[t.eventName]})(),s=e.filter(a=>a.type==="event").map(a=>({abi:a,selector:No(a)}));return n.map(a=>{let c=typeof a.blockNumber=="string"?rt(a):a,u=s.filter(p=>c.topics[0]===p.selector);if(u.length===0)return null;let d,l;for(let p of u)try{d=ds({...c,abi:[p.abi],strict:!0}),l=p;break}catch{}if(!d&&!o){l=u[0];try{d=ds({data:c.data,topics:c.topics,abi:[l.abi],strict:!1})}catch{let p=l.abi.inputs?.some(f=>!("name"in f&&f.name));return{...c,args:p?[]:{},eventName:l.abi.name}}}return!d||!l||i&&!i.includes(d.eventName)||!C8({args:d.args,inputs:l.abi.inputs,matchArgs:r})?null:{...d,...c}}).filter(Boolean)}function C8(t){let{args:e,inputs:r,matchArgs:n}=t;if(!n)return!0;if(!e)return!1;function o(i,s,a){try{return i.type==="address"?cr(s,a):i.type==="string"||i.type==="bytes"?ie(Xt(s))===a:s===a}catch{return!1}}return Array.isArray(e)&&Array.isArray(n)?n.every((i,s)=>{if(i==null)return!0;let a=r[s];return a?(Array.isArray(i)?i:[i]).some(u=>o(a,u,e[s])):!1}):typeof e=="object"&&!Array.isArray(e)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([i,s])=>{if(s==null)return!0;let a=r.find(u=>u.name===i);return a?(Array.isArray(s)?s:[s]).some(u=>o(a,u,e[i])):!1}):!1}H();async function Ka(t,{address:e,blockHash:r,fromBlock:n,toBlock:o,event:i,events:s,args:a,strict:c}={}){let u=c??!1,d=s??(i?[i]:void 0),l=[];d&&(l=[d.flatMap(m=>sn({abi:[m],eventName:m.name,args:s?void 0:a}))],i&&(l=l[0]));let p;r?p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,blockHash:r}]}):p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,fromBlock:typeof n=="bigint"?E(n):n,toBlock:typeof o=="bigint"?E(o):o}]});let f=p.map(g=>rt(g));return d?qa({abi:d,args:a,logs:f,strict:u}):f}async function hf(t,e){let{abi:r,address:n,args:o,blockHash:i,eventName:s,fromBlock:a,toBlock:c,strict:u}=e,d=s?zt({abi:r,name:s}):void 0,l=d?void 0:r.filter(p=>p.type==="event");return R(t,Ka,"getLogs")({address:n,args:o,blockHash:i,event:d,events:l,fromBlock:a,toBlock:c,strict:u})}lo();Ct();ys();async function He(t,e){let{abi:r,address:n,args:o,functionName:i,...s}=e,a=ue({abi:r,args:o,functionName:i});try{let{data:c}=await R(t,xr,"call")({...s,data:a,to:n});return wt({abi:r,args:o,functionName:i,data:c||"0x"})}catch(c){throw nr(c,{abi:r,address:n,args:o,docsPath:"/docs/contract/readContract",functionName:i})}}Ne();lo();Ct();ys();async function iI(t,e){let{abi:r,address:n,args:o,functionName:i,dataSuffix:s=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,...a}=e,c=a.account?q(a.account):t.account,u=ue({abi:r,args:o,functionName:i});try{let{data:d}=await R(t,xr,"call")({batch:!1,data:`${u}${s?s.replace("0x",""):""}`,to:n,...a,account:c}),l=wt({abi:r,args:o,functionName:i,data:d||"0x"}),p=r.filter(f=>"name"in f&&f.name===e.functionName);return{result:l,request:{abi:p,address:n,args:o,dataSuffix:s,functionName:i,...a,account:c}}}catch(d){throw nr(d,{abi:r,address:n,args:o,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}De();Zi();var I0=new Map,sI=new Map,K8=0;function It(t,e,r){let n=++K8,o=()=>I0.get(t)||[],i=()=>{let d=o();I0.set(t,d.filter(l=>l.id!==n))},s=()=>{let d=o();if(!d.some(p=>p.id===n))return;let l=sI.get(t);if(d.length===1&&l){let p=l();p instanceof Promise&&p.catch(()=>{})}i()},a=o();if(I0.set(t,[...a,{id:n,fns:e}]),a&&a.length>0)return s;let c={};for(let d in e)c[d]=((...l)=>{let p=o();if(p.length!==0)for(let f of p)f.fns[d]?.(...l)});let u=r(c);return typeof u=="function"&&sI.set(t,u),s}async function Xu(t){return new Promise(e=>setTimeout(e,t))}function wr(t,{emitOnBegin:e,initialWaitTime:r,interval:n}){let o=!0,i=()=>o=!1;return(async()=>{let a;e&&(a=await t({unpoll:i}));let c=await r?.(a)??n;await Xu(c);let u=async()=>{o&&(await t({unpoll:i}),await Xu(n),u())};u()})(),i}yt();var Q8=new Map,Z8=new Map;function aI(t){let e=(o,i)=>({clear:()=>i.delete(o),get:()=>i.get(o),set:s=>i.set(o,s)}),r=e(t,Q8),n=e(t,Z8);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function cI(t,{cacheKey:e,cacheTime:r=Number.POSITIVE_INFINITY}){let n=aI(e),o=n.response.get();if(o&&r>0&&Date.now()-o.created.getTime()<r)return o.data;let i=n.promise.get();i||(i=t(),n.promise.set(i));try{let s=await i;return n.response.set({created:new Date,data:s}),s}finally{n.promise.clear()}}var J8=t=>`blockNumber.${t}`;async function bn(t,{cacheTime:e=t.cacheTime}={}){let r=await cI(()=>t.request({method:"eth_blockNumber"}),{cacheKey:J8(t.uid),cacheTime:e});return BigInt(r)}async function Go(t,{filter:e}){let r="strict"in e&&e.strict,n=await e.request({method:"eth_getFilterChanges",params:[e.id]});if(typeof n[0]=="string")return n;let o=n.map(i=>rt(i));return!("abi"in e)||!e.abi?o:qa({abi:e.abi,logs:o,strict:r})}async function Vo(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}function uI(t,e){let{abi:r,address:n,args:o,batch:i=!0,eventName:s,fromBlock:a,onError:c,onLogs:u,poll:d,pollingInterval:l=t.pollingInterval,strict:p}=e;return(typeof d<"u"?d:typeof a=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")))?(()=>{let h=p??!1,b=re(["watchContractEvent",n,o,i,t.uid,s,l,h,a]);return It(b,{onLogs:u,onError:c},w=>{let x;a!==void 0&&(x=a-1n);let y,I=!1,S=wr(async()=>{if(!I){try{y=await R(t,Bp,"createContractEventFilter")({abi:r,address:n,args:o,eventName:s,strict:h,fromBlock:a})}catch{}I=!0;return}try{let A;if(y)A=await R(t,Go,"getFilterChanges")({filter:y});else{let P=await R(t,bn,"getBlockNumber")({});x&&x<P?A=await R(t,hf,"getContractEvents")({abi:r,address:n,args:o,eventName:s,fromBlock:x+1n,toBlock:P,strict:h}):A=[],x=P}if(A.length===0)return;if(i)w.onLogs(A);else for(let P of A)w.onLogs([P])}catch(A){y&&A instanceof rr&&(I=!1),w.onError?.(A)}},{emitOnBegin:!0,interval:l});return async()=>{y&&await R(t,Vo,"uninstallFilter")({filter:y}),S()}})})():(()=>{let h=p??!1,b=re(["watchContractEvent",n,o,i,t.uid,s,l,h]),w=!0,x=()=>w=!1;return It(b,{onLogs:u,onError:c},y=>((async()=>{try{let I=(()=>{if(t.transport.type==="fallback"){let P=t.transport.transports.find(N=>N.config.type==="webSocket"||N.config.type==="ipc");return P?P.value:t.transport}return t.transport})(),S=s?sn({abi:r,eventName:s,args:o}):[],{unsubscribe:A}=await I.subscribe({params:["logs",{address:n,topics:S}],onData(P){if(!w)return;let N=P.result;try{let{eventName:T,args:D}=ds({abi:r,data:N.data,topics:N.topics,strict:p}),O=rt(N,{args:D,eventName:T});y.onLogs([O])}catch(T){let D,O;if(T instanceof $n||T instanceof Eo){if(p)return;D=T.abiItem.name,O=T.abiItem.inputs?.some(z=>!("name"in z&&z.name))}let F=rt(N,{args:O?[]:{},eventName:D});y.onLogs([F])}},onError(P){y.onError?.(P)}});x=A,w||x()}catch(I){c?.(I)}})(),()=>x()))})()}Ne();K();var ot=class extends v{constructor({docsPath:e}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
|
|
41
|
+
`),{docsPath:e,docsSlug:"account",name:"AccountNotFoundError"})}},Ir=class extends v{constructor({docsPath:e,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:e,metaMessages:r,name:"AccountTypeNotSupportedError"})}};Ct();Ne();K();Ju();function nc({chain:t,currentChainId:e}){if(!t)throw new Lf;if(e!==t.id)throw new Bf({chain:t,currentChainId:e})}ut();cs();uo();Ti();fn();async function oc(t,{serializedTransaction:e}){return t.request({method:"eth_sendRawTransaction",params:[e]},{retryCount:0})}var S0=new jt(128);async function qo(t,e){let{account:r=t.account,assertChainId:n=!0,chain:o=t.chain,accessList:i,authorizationList:s,blobs:a,data:c,dataSuffix:u=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,type:h,value:b,...w}=e;if(typeof r>"u")throw new ot({docsPath:"/docs/actions/wallet/sendTransaction"});let x=r?q(r):null;try{et(e);let y=await(async()=>{if(e.to)return e.to;if(e.to!==null&&s&&s.length>0)return await Uo({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(x?.type==="json-rpc"||x===null){let I;o!==null&&(I=await R(t,xt,"getChainId")({}),n&&nc({currentChainId:I,chain:o}));let S=t.chain?.formatters?.transactionRequest?.format,P=(S||bt)({...yr(w,{format:S}),accessList:i,account:x,authorizationList:s,blobs:a,chainId:I,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,to:y,type:h,value:b},"sendTransaction"),N=S0.get(t.uid),T=N?"wallet_sendTransaction":"eth_sendTransaction";try{return await t.request({method:T,params:[P]},{retryCount:0})}catch(D){if(N===!1)throw D;let O=D;if(O.name==="InvalidInputRpcError"||O.name==="InvalidParamsRpcError"||O.name==="MethodNotFoundRpcError"||O.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[P]},{retryCount:0}).then(F=>(S0.set(t.uid,!0),F)).catch(F=>{let z=F;throw z.name==="MethodNotFoundRpcError"||z.name==="MethodNotSupportedRpcError"?(S0.set(t.uid,!1),O):z});throw O}}if(x?.type==="local"){let I=await R(t,mn,"prepareTransactionRequest")({account:x,accessList:i,authorizationList:s,blobs:a,chain:o,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,nonceManager:x.nonceManager,parameters:[...Hu,"sidecars"],type:h,value:b,...w,to:y}),S=o?.serializers?.transaction,A=await x.signTransaction(I,{serializer:S});return await R(t,oc,"sendRawTransaction")({serializedTransaction:A})}throw x?.type==="smart"?new Ir({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ir({docsPath:"/docs/actions/wallet/sendTransaction",type:x?.type})}catch(y){throw y instanceof Ir?y:$o(y,{...e,account:x,chain:e.chain||void 0})}}async function hs(t,e){return hs.internal(t,qo,"sendTransaction",e)}(function(t){async function e(r,n,o,i){let{abi:s,account:a=r.account,address:c,args:u,functionName:d,...l}=i;if(typeof a>"u")throw new ot({docsPath:"/docs/contract/writeContract"});let p=a?q(a):null,f=ue({abi:s,args:u,functionName:d});try{return await R(r,n,o)({data:f,to:c,account:p,...l})}catch(g){throw nr(g,{abi:s,address:c,args:u,docsPath:"/docs/contract/writeContract",functionName:d,sender:p?.address})}}t.internal=e})(hs||(hs={}));K();K();var _f=class extends v{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Mf();function bs(t,{delay:e=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((o,i)=>{let s=async({count:a=0}={})=>{let c=async({error:u})=>{let d=typeof e=="function"?e({count:a,error:u}):e;d&&await Xu(d),s({count:a+1})};try{let u=await t();o(u)}catch(u){if(a<r&&await n({count:a,error:u}))return c({error:u});i(u)}};s()})}yt();Vn();vi();qe();qe();var v0={"0x0":"reverted","0x1":"success"};function zf(t,e){let r={...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,contractAddress:t.contractAddress?t.contractAddress:null,cumulativeGasUsed:t.cumulativeGasUsed?BigInt(t.cumulativeGasUsed):null,effectiveGasPrice:t.effectiveGasPrice?BigInt(t.effectiveGasPrice):null,gasUsed:t.gasUsed?BigInt(t.gasUsed):null,logs:t.logs?t.logs.map(n=>rt(n)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?ve(t.transactionIndex):null,status:t.status?v0[t.status]:null,type:t.type?Zh[t.type]||t.type:null};return t.blobGasPrice&&(r.blobGasPrice=BigInt(t.blobGasPrice)),t.blobGasUsed&&(r.blobGasUsed=BigInt(t.blobGasUsed)),r}Ne();K();Zi();Ct();ut();qe();H();var A0="0x5792579257925792579257925792579257925792579257925792579257925792",P0=E(0,{size:32});async function $f(t,e){let{account:r=t.account,chain:n=t.chain,experimental_fallback:o,experimental_fallbackDelay:i=32,forceAtomic:s=!1,id:a,version:c="2.0.0"}=e,u=r?q(r):null,d=e.capabilities;t.dataSuffix&&!e.capabilities?.dataSuffix&&(typeof t.dataSuffix=="string"?d={...e.capabilities,dataSuffix:{value:t.dataSuffix,optional:!0}}:d={...e.capabilities,dataSuffix:{value:t.dataSuffix.value,...t.dataSuffix.required?{}:{optional:!0}}});let l=e.calls.map(p=>{let f=p,g=f.abi?ue({abi:f.abi,functionName:f.functionName,args:f.args}):f.data;return{data:f.dataSuffix&&g?be([g,f.dataSuffix]):g,to:f.to,value:f.value?E(f.value):void 0}});try{let p=await t.request({method:"wallet_sendCalls",params:[{atomicRequired:s,calls:l,capabilities:d,chainId:E(n.id),from:u?.address,id:a,version:c}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){let f=p;if(o&&(f.name==="MethodNotFoundRpcError"||f.name==="MethodNotSupportedRpcError"||f.name==="UnknownRpcError"||f.details.toLowerCase().includes("does not exist / is not available")||f.details.toLowerCase().includes("missing or invalid. request()")||f.details.toLowerCase().includes("did not match any variant of untagged enum")||f.details.toLowerCase().includes("account upgraded to unsupported contract")||f.details.toLowerCase().includes("eip-7702 not supported")||f.details.toLowerCase().includes("unsupported wc_ method")||f.details.toLowerCase().includes("feature toggled misconfigured")||f.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(d&&Object.values(d).some(w=>!w.optional)){let w="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Xn(new v(w,{details:w}))}if(s&&l.length>1){let b="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new eo(new v(b,{details:b}))}let g=[];for(let b of l){let w=qo(t,{account:u,chain:n,data:b.data,to:b.to,value:b.value?Ce(b.value):void 0});g.push(w),i>0&&await new Promise(x=>setTimeout(x,i))}let m=await Promise.allSettled(g);if(m.every(b=>b.status==="rejected"))throw m[0].reason;let h=m.map(b=>b.status==="fulfilled"?b.value:P0);return{id:be([...h,E(n.id,{size:32}),A0])}}throw $o(p,{...e,account:u,chain:e.chain})}}async function Hf(t,e){async function r(d){if(d.endsWith(A0.slice(2))){let p=Ve(Tp(d,-64,-32)),f=Tp(d,0,-64).slice(2).match(/.{1,64}/g),g=await Promise.all(f.map(h=>P0.slice(2)!==h?t.request({method:"eth_getTransactionReceipt",params:[`0x${h}`]},{dedupe:!0}):void 0)),m=g.some(h=>h===null)?100:g.every(h=>h?.status==="0x1")?200:g.every(h=>h?.status==="0x0")?500:600;return{atomic:!1,chainId:ve(p),receipts:g.filter(Boolean),status:m,version:"2.0.0"}}return t.request({method:"wallet_getCallsStatus",params:[d]})}let{atomic:n=!1,chainId:o,receipts:i,version:s="2.0.0",...a}=await r(e.id),[c,u]=(()=>{let d=a.status;return d>=100&&d<200?["pending",d]:d>=200&&d<300?["success",d]:d>=300&&d<700?["failure",d]:d==="CONFIRMED"?["success",200]:d==="PENDING"?["pending",100]:[void 0,d]})();return{...a,atomic:n,chainId:o?ve(o):void 0,receipts:i?.map(d=>({...d,blockNumber:Ce(d.blockNumber),gasUsed:Ce(d.gasUsed),status:v0[d.status]}))??[],statusCode:u,status:c,version:s}}async function Wf(t,e){let{id:r,pollingInterval:n=t.pollingInterval,status:o=({statusCode:m})=>m===200||m>=300,retryCount:i=4,retryDelay:s=({count:m})=>~~(1<<m)*200,timeout:a=6e4,throwOnFailure:c=!1}=e,u=re(["waitForCallsStatus",t.uid,r]),{promise:d,resolve:l,reject:p}=rc(),f,g=It(u,{resolve:l,reject:p},m=>{let h=wr(async()=>{let b=w=>{clearTimeout(f),h(),w(),g()};try{let w=await bs(async()=>{let x=await R(t,Hf,"getCallsStatus")({id:r});if(c&&x.status==="failure")throw new _f(x);return x},{retryCount:i,delay:s});if(!o(w))return;b(()=>m.resolve(w))}catch(w){b(()=>m.reject(w))}},{interval:n,emitOnBegin:!0});return h});return f=a?setTimeout(()=>{g(),clearTimeout(f),p(new E0({id:r}))},a):void 0,await d}var E0=class extends v{constructor({id:e}){super(`Timed out while waiting for call bundle with id "${e}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};Ne();var Gf=256,Vf;function qf(t=11){if(!Vf||Gf+t>256*2){Vf="",Gf=0;for(let e=0;e<256;e++)Vf+=(256+Math.random()*256|0).toString(16).substring(1)}return Vf.substring(Gf,Gf+++t)}function Kf(t){let{batch:e,chain:r,ccipRead:n,dataSuffix:o,key:i="base",name:s="Base Client",type:a="base"}=t,c=t.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),u=r?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),l=t.pollingInterval??d,p=t.cacheTime??l,f=t.account?q(t.account):void 0,{config:g,request:m,value:h}=t.transport({account:f,chain:r,pollingInterval:l}),b={...g,...h},w={account:f,batch:e,cacheTime:p,ccipRead:n,chain:r,dataSuffix:o,key:i,name:s,pollingInterval:l,request:m,transport:b,type:a,uid:qf(),...c?{experimental_blockTag:c}:{}};function x(y){return I=>{let S=I(y);for(let P in w)delete S[P];let A={...y,...S};return Object.assign(A,{extend:x(A)})}}return Object.assign(w,{extend:x(w)})}mo();lo();Ct();gs();vi();H();K();Qn();function ic(t){if(!(t instanceof v))return!1;let e=t.walk(r=>r instanceof Fr);return e instanceof Fr?e.data?.errorName==="HttpError"||e.data?.errorName==="ResolverError"||e.data?.errorName==="ResolverNotContract"||e.data?.errorName==="ResolverNotFound"||e.data?.errorName==="ReverseAddressMismatch"||e.data?.errorName==="UnsupportedResolverProfile":!1}Yu();ut();ze();H();er();Zt();function Qf(t){if(t.length!==66||t.indexOf("[")!==0||t.indexOf("]")!==65)return null;let e=`0x${t.slice(1,65)}`;return he(e)?e:null}function ed(t){let e=new Uint8Array(32).fill(0);if(!t)return oe(e);let r=t.split(".");for(let n=r.length-1;n>=0;n-=1){let o=Qf(r[n]),i=o?Xt(o):ie(Ft(r[n]),"bytes");e=ie(be([e,i]),"bytes")}return oe(e)}ze();function dI(t){return`[${t.slice(2)}]`}ze();H();er();function lI(t){let e=new Uint8Array(32).fill(0);return t?Qf(t)||ie(Ft(t)):oe(e)}function sc(t){let e=t.replace(/^\.|\.$/gm,"");if(e.length===0)return new Uint8Array(1);let r=new Uint8Array(Ft(e).byteLength+2),n=0,o=e.split(".");for(let i=0;i<o.length;i++){let s=Ft(o[i]);s.byteLength>255&&(s=Ft(dI(lI(o[i])))),r[n]=s.length,r.set(s,n+1),n+=s.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function pI(t,e){let{blockNumber:r,blockTag:n,coinType:o,name:i,gatewayUrls:s,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),d=c?.ensTlds;if(d&&!d.some(p=>i.endsWith(p)))return null;let l=o!=null?[ed(i),BigInt(o)]:[ed(i)];try{let p=ue({abi:d0,functionName:"addr",args:l}),f={address:u,abi:Rf,functionName:"resolveWithGateways",args:[Ae(sc(i)),p,s??[go]],blockNumber:r,blockTag:n},m=await R(t,He,"readContract")(f);if(m[0]==="0x")return null;let h=wt({abi:d0,args:l,functionName:"addr",data:m[0]});return h==="0x"||Ve(h)==="0x00"?null:h}catch(p){if(a)throw p;if(ic(p))return null;throw p}}K();var Zf=class extends v{constructor({data:e}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(e)}`],name:"EnsAvatarInvalidMetadataError"})}},Ko=class extends v{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}},ac=class extends v{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}},Jf=class extends v{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var Y8=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,X8=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,eC=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,tC=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function rC(t){try{let e=await fetch(t,{method:"HEAD"});return e.status===200?e.headers.get("content-type")?.startsWith("image/"):!1}catch(e){return typeof e=="object"&&typeof e.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{let n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=t})}}function fI(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function T0({uri:t,gatewayUrls:e}){let r=eC.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};let n=fI(e?.ipfs,"https://ipfs.io"),o=fI(e?.arweave,"https://arweave.net"),i=t.match(Y8),{protocol:s,subpath:a,target:c,subtarget:u=""}=i?.groups||{},d=s==="ipns:/"||a==="ipns/",l=s==="ipfs:/"||a==="ipfs/"||X8.test(t);if(t.startsWith("http")&&!d&&!l){let f=t;return e?.arweave&&(f=t.replace(/https:\/\/arweave.net/g,e?.arweave)),{uri:f,isOnChain:!1,isEncoded:!1}}if((d||l)&&c)return{uri:`${n}/${d?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if(s==="ar:/"&&c)return{uri:`${o}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let p=t.replace(tC,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new ac({uri:t})}function C0(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new Zf({data:t});return t.image||t.image_url||t.image_data}async function mI({gatewayUrls:t,uri:e}){try{let r=await fetch(e).then(o=>o.json());return await Yf({gatewayUrls:t,uri:C0(r)})}catch{throw new ac({uri:e})}}async function Yf({gatewayUrls:t,uri:e}){let{uri:r,isOnChain:n}=T0({uri:e,gatewayUrls:t});if(n||await rC(r))return r;throw new ac({uri:e})}function gI(t){let e=t;e.startsWith("did:nft:")&&(e=e.replace("did:nft:","").replace(/_/g,"/"));let[r,n,o]=e.split("/"),[i,s]=r.split(":"),[a,c]=n.split(":");if(!i||i.toLowerCase()!=="eip155")throw new Ko({reason:"Only EIP-155 supported"});if(!s)throw new Ko({reason:"Chain ID not found"});if(!c)throw new Ko({reason:"Contract address not found"});if(!o)throw new Ko({reason:"Token ID not found"});if(!a)throw new Ko({reason:"ERC namespace not found"});return{chainID:Number.parseInt(s,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:o}}async function yI(t,{nft:e}){if(e.namespace==="erc721")return He(t,{address:e.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(e.tokenID)]});if(e.namespace==="erc1155")return He(t,{address:e.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(e.tokenID)]});throw new Jf({namespace:e.namespace})}async function hI(t,{gatewayUrls:e,record:r}){return/eip155:/i.test(r)?nC(t,{gatewayUrls:e,record:r}):Yf({uri:r,gatewayUrls:e})}async function nC(t,{gatewayUrls:e,record:r}){let n=gI(r),o=await yI(t,{nft:n}),{uri:i,isOnChain:s,isEncoded:a}=T0({uri:o,gatewayUrls:e});if(s&&(i.includes("data:application/json;base64,")||i.startsWith("{"))){let u=a?atob(i.replace("data:application/json;base64,","")):i,d=JSON.parse(u);return Yf({uri:C0(d),gatewayUrls:e})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),mI({gatewayUrls:e,uri:i.replace(/(?:0x)?{id}/,c)})}mo();lo();Ct();gs();H();Yu();async function Xf(t,e){let{blockNumber:r,blockTag:n,key:o,name:i,gatewayUrls:s,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),d=c?.ensTlds;if(d&&!d.some(l=>i.endsWith(l)))return null;try{let l={address:u,abi:Rf,args:[Ae(sc(i)),ue({abi:u0,functionName:"text",args:[ed(i),o]}),s??[go]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},f=await R(t,He,"readContract")(l);if(f[0]==="0x")return null;let g=wt({abi:u0,functionName:"text",data:f[0]});return g===""?null:g}catch(l){if(a)throw l;if(ic(l))return null;throw l}}async function bI(t,{blockNumber:e,blockTag:r,assetGatewayUrls:n,name:o,gatewayUrls:i,strict:s,universalResolverAddress:a}){let c=await R(t,Xf,"getEnsText")({blockNumber:e,blockTag:r,key:"avatar",name:o,universalResolverAddress:a,gatewayUrls:i,strict:s});if(!c)return null;try{return await hI(t,{record:c,gatewayUrls:n})}catch{return null}}mo();gs();Yu();async function xI(t,e){let{address:r,blockNumber:n,blockTag:o,coinType:i=60n,gatewayUrls:s,strict:a}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{let d={address:u,abi:H2,args:[r,i,s??[go]],functionName:"reverseWithGateways",blockNumber:n,blockTag:o},l=R(t,He,"readContract"),[p]=await l(d);return p||null}catch(d){if(a)throw d;if(ic(d))return null;throw d}}gs();H();async function wI(t,e){let{blockNumber:r,blockTag:n,name:o}=e,{chain:i}=t,s=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!i)throw new Error("client chain not configured. universalResolverAddress is required.");return br({blockNumber:r,chain:i,contract:"ensUniversalResolver"})})(),a=i?.ensTlds;if(a&&!a.some(u=>o.endsWith(u)))throw new Error(`${o} is not a valid ENS TLD (${a?.join(", ")}) for chain "${i.name}" (id: ${i.id}).`);let[c]=await R(t,He,"readContract")({address:s,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Ae(sc(o))],blockNumber:r,blockTag:n});return c}ys();Ne();H();m0();cs();uo();fn();async function em(t,e){let{account:r=t.account,blockNumber:n,blockTag:o="latest",blobs:i,data:s,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:d,maxPriorityFeePerGas:l,to:p,value:f,...g}=e,m=r?q(r):void 0;try{et(e);let b=(typeof n=="bigint"?E(n):void 0)||o,w=t.chain?.formatters?.transactionRequest?.format,y=(w||bt)({...yr(g,{format:w}),account:m,blobs:i,data:s,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:d,maxPriorityFeePerGas:l,to:p,value:f},"createAccessList"),I=await t.request({method:"eth_createAccessList",params:[y,b]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(h){throw Df(h,{...e,account:m,chain:t.chain})}}async function II(t){let e=Lo(t,{method:"eth_newBlockFilter"}),r=await t.request({method:"eth_newBlockFilter"});return{id:r,request:e(r),type:"block"}}H();async function tm(t,{address:e,args:r,event:n,events:o,fromBlock:i,strict:s,toBlock:a}={}){let c=o??(n?[n]:void 0),u=Lo(t,{method:"eth_newFilter"}),d=[];c&&(d=[c.flatMap(f=>sn({abi:[f],eventName:f.name,args:r}))],n&&(d=d[0]));let l=await t.request({method:"eth_newFilter",params:[{address:e,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof a=="bigint"?E(a):a,...d.length?{topics:d}:{}}]});return{abi:c,args:r,eventName:n?n.name:void 0,fromBlock:i,id:l,request:u(l),strict:!!s,toBlock:a,type:"event"}}async function rm(t){let e=Lo(t,{method:"eth_newPendingTransactionFilter"}),r=await t.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:e(r),type:"transaction"}}mo();lo();Ct();H();ys();async function SI(t,{address:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest"}){if(t.batch?.multicall&&t.chain?.contracts?.multicall3){let s=t.chain.contracts.multicall3.address,a=ue({abi:hn,functionName:"getEthBalance",args:[e]}),{data:c}=await R(t,xr,"call")({to:s,data:a,blockNumber:r,blockTag:n});return wt({abi:hn,functionName:"getEthBalance",args:[e],data:c||"0x"})}let o=typeof r=="bigint"?E(r):void 0,i=await t.request({method:"eth_getBalance",params:[e,o||n]});return BigInt(i)}async function vI(t){let e=await t.request({method:"eth_blobBaseFee"});return BigInt(e)}qe();H();async function AI(t,{blockHash:e,blockNumber:r,blockTag:n="latest"}={}){let o=r!==void 0?E(r):void 0,i;return e?i=await t.request({method:"eth_getBlockTransactionCountByHash",params:[e]},{dedupe:!0}):i=await t.request({method:"eth_getBlockTransactionCountByNumber",params:[o||n]},{dedupe:!!o}),ve(i)}H();async function xs(t,{address:e,blockNumber:r,blockTag:n="latest"}){let o=r!==void 0?E(r):void 0,i=await t.request({method:"eth_getCode",params:[e,o||n]},{dedupe:!!o});if(i!=="0x")return i}nn();Jt();Vn();async function PI(t,{address:e,blockNumber:r,blockTag:n="latest"}){let o=await xs(t,{address:e,...r!==void 0?{blockNumber:r}:{blockTag:n}});if(o&&te(o)===23&&o.startsWith("0xef0100"))return Re(_t(o,3,23))}K();var nm=class extends v{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function EI(t,e){let{address:r,factory:n,factoryData:o}=e;try{let[i,s,a,c,u,d,l]=await R(t,He,"readContract")({abi:oC,address:r,functionName:"eip712Domain",factory:n,factoryData:o});return{domain:{name:s,version:a,chainId:Number(c),verifyingContract:u,salt:d},extensions:l,fields:i}}catch(i){let s=i;throw s.name==="ContractFunctionExecutionError"&&s.cause.name==="ContractFunctionZeroDataError"?new nm({address:r}):s}}var oC=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];H();function TI(t){return{baseFeePerGas:t.baseFeePerGas.map(e=>BigInt(e)),gasUsedRatio:t.gasUsedRatio,oldestBlock:BigInt(t.oldestBlock),reward:t.reward?.map(e=>e.map(r=>BigInt(r)))}}async function CI(t,{blockCount:e,blockNumber:r,blockTag:n="latest",rewardPercentiles:o}){let i=typeof r=="bigint"?E(r):void 0,s=await t.request({method:"eth_feeHistory",params:[E(e),i||n,o]},{dedupe:!!i});return TI(s)}async function RI(t,{filter:e}){let r=e.strict??!1,o=(await e.request({method:"eth_getFilterLogs",params:[e.id]})).map(i=>rt(i));return e.abi?qa({abi:e.abi,logs:o,strict:r}):o}H();De();Or();Ut();ut();Su();H();Rp();function R0(t,e){if(t.length!==e.length)throw new pa({expectedLength:t.length,givenLength:e.length});let r=[];for(let n=0;n<t.length;n++){let o=t[n],i=e[n];r.push(NI(o,i))}return Ke(r)}function NI(t,e,r=!1){if(t==="address"){let s=e;if(!Z(s))throw new le({address:s});return mr(s.toLowerCase(),{size:r?32:null})}if(t==="string")return Yt(e);if(t==="bytes")return e;if(t==="bool")return mr(ha(e),{size:r?32:1});let n=t.match(ba);if(n){let[s,a,c="256"]=n,u=Number.parseInt(c,10)/8;return E(e,{size:r?32:u,signed:a==="int"})}let o=t.match(Cp);if(o){let[s,a]=o;if(Number.parseInt(a,10)!==(e.length-2)/2)throw new ga({expectedSize:Number.parseInt(a,10),givenSize:(e.length-2)/2});return mr(e,{dir:"right",size:r?32:null})}let i=t.match(X6);if(i&&Array.isArray(e)){let[s,a]=i,c=[];for(let u=0;u<e.length;u++)c.push(NI(a,e[u],!0));return c.length===0?"0x":Ke(c)}throw new pp(t)}H();gr();ut();vi();H();Qh();Or();K();Ju();co();Ut();Jt();Vn();qe();function BI(t){let{authorizationList:e}=t;if(e)for(let r of e){let{chainId:n}=r,o=r.address;if(!Z(o))throw new le({address:o});if(n<0)throw new fs({chainId:n})}om(t)}function LI(t){let{blobVersionedHashes:e}=t;if(e){if(e.length===0)throw new Wa;for(let r of e){let n=te(r),o=ve(_t(r,0,1));if(n!==32)throw new ff({hash:r,size:n});if(o!==1)throw new mf({hash:r,version:o})}}om(t)}function om(t){let{chainId:e,maxPriorityFeePerGas:r,maxFeePerGas:n,to:o}=t;if(e<=0)throw new fs({chainId:e});if(o&&!Z(o))throw new le({address:o});if(n&&n>Oa)throw new sr({maxFeePerGas:n});if(r&&n&&r>n)throw new zr({maxFeePerGas:n,maxPriorityFeePerGas:r})}function kI(t){let{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:o,to:i}=t;if(e<=0)throw new fs({chainId:e});if(i&&!Z(i))throw new le({address:i});if(r||o)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Oa)throw new sr({maxFeePerGas:n})}function DI(t){let{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:o,to:i}=t;if(i&&!Z(i))throw new le({address:i});if(typeof e<"u"&&e<=0)throw new fs({chainId:e});if(r||o)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Oa)throw new sr({maxFeePerGas:n})}Or();gr();Ut();function td(t){if(!t||t.length===0)return[];let e=[];for(let r=0;r<t.length;r++){let{address:n,storageKeys:o}=t[r];for(let i=0;i<o.length;i++)if(o[i].length-2!==64)throw new Wp({storageKey:o[i]});if(!Z(n,{strict:!1}))throw new le({address:n});e.push([n,o])}return e}function MI(t,e){let r=yf(t);return r==="eip1559"?aC(t,e):r==="eip2930"?cC(t,e):r==="eip4844"?sC(t,e):r==="eip7702"?iC(t,e):uC(t,e)}function iC(t,e){let{authorizationList:r,chainId:n,gas:o,nonce:i,to:s,value:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:d,data:l}=t;BI(t);let p=td(d),f=OI(r);return Ke(["0x04",ao([E(n),i?E(i):"0x",u?E(u):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",a?E(a):"0x",l??"0x",p,f,...cc(t,e)])])}function sC(t,e){let{chainId:r,gas:n,nonce:o,to:i,value:s,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:d,data:l}=t;LI(t);let p=t.blobVersionedHashes,f=t.sidecars;if(t.blobs&&(typeof p>"u"||typeof f>"u")){let x=typeof t.blobs[0]=="string"?t.blobs:t.blobs.map(S=>oe(S)),y=t.kzg,I=$a({blobs:x,kzg:y});if(typeof p>"u"&&(p=lf({commitments:I})),typeof f>"u"){let S=Ha({blobs:x,commitments:I,kzg:y});f=gf({blobs:x,commitments:I,proofs:S})}}let g=td(d),m=[E(r),o?E(o):"0x",u?E(u):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",s?E(s):"0x",l??"0x",g,a?E(a):"0x",p??[],...cc(t,e)],h=[],b=[],w=[];if(f)for(let x=0;x<f.length;x++){let{blob:y,commitment:I,proof:S}=f[x];h.push(y),b.push(I),w.push(S)}return Ke(["0x03",f?ao([m,h,b,w]):ao(m)])}function aC(t,e){let{chainId:r,gas:n,nonce:o,to:i,value:s,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:u,data:d}=t;om(t);let l=td(u),p=[E(r),o?E(o):"0x",c?E(c):"0x",a?E(a):"0x",n?E(n):"0x",i??"0x",s?E(s):"0x",d??"0x",l,...cc(t,e)];return Ke(["0x02",ao(p)])}function cC(t,e){let{chainId:r,gas:n,data:o,nonce:i,to:s,value:a,accessList:c,gasPrice:u}=t;kI(t);let d=td(c),l=[E(r),i?E(i):"0x",u?E(u):"0x",n?E(n):"0x",s??"0x",a?E(a):"0x",o??"0x",d,...cc(t,e)];return Ke(["0x01",ao(l)])}function uC(t,e){let{chainId:r=0,gas:n,data:o,nonce:i,to:s,value:a,gasPrice:c}=t;DI(t);let u=[i?E(i):"0x",c?E(c):"0x",n?E(n):"0x",s??"0x",a?E(a):"0x",o??"0x"];if(e){let d=(()=>{if(e.v>=35n)return(e.v-35n)/2n>0?e.v:27n+(e.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+e.v-27n);let f=27n+(e.v===27n?0n:1n);if(e.v!==f)throw new $p({v:e.v});return f})(),l=Ve(e.r),p=Ve(e.s);u=[...u,E(d),l==="0x00"?"0x":l,p==="0x00"?"0x":p]}else r>0&&(u=[...u,E(r),"0x","0x"]);return ao(u)}function cc(t,e){let r=e??t,{v:n,yParity:o}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof o>"u")return[];let i=Ve(r.r),s=Ve(r.s);return[typeof o=="number"?o?E(1):"0x":n===0n?"0x":n===1n?E(1):n===27n?"0x":E(1),i==="0x00"?"0x":i,s==="0x00"?"0x":s]}function OI(t){if(!t||t.length===0)return[];let e=[];for(let r of t){let{chainId:n,nonce:o,...i}=r,s=r.address;e.push([n?Ae(n):"0x",s,o?Ae(o):"0x",...cc({},i)])}return e}nn();us();async function FI({address:t,authorization:e,signature:r}){return cr(Re(t),await Uo({authorization:e,signature:r}))}K();ko();Zi();Ti();var im=new jt(8192);function jI(t,{enabled:e=!0,id:r}){if(!e||!r)return t();if(im.get(r))return im.get(r);let n=t().finally(()=>im.delete(r));return im.set(r,n),n}yt();function UI(t,e={}){return async(r,n={})=>{let{dedupe:o=!1,methods:i,retryDelay:s=150,retryCount:a=3,uid:c}={...e,...n},{method:u}=r;if(i?.exclude?.includes(u))throw new Yn(new Error("method not supported"),{method:u});if(i?.include&&!i.include.includes(u))throw new Yn(new Error("method not supported"),{method:u});let d=o?lC(`${c}.${re(r)}`):void 0;return jI(()=>bs(async()=>{try{return await t(r)}catch(l){let p=l;switch(p.code){case Li.code:throw new Li(p);case ki.code:throw new ki(p);case Di.code:throw new Di(p,{method:r.method});case Mi.code:throw new Mi(p);case cn.code:throw new cn(p);case rr.code:throw new rr(p);case Oi.code:throw new Oi(p);case Fi.code:throw new Fi(p);case ji.code:throw new ji(p);case Yn.code:throw new Yn(p,{method:r.method});case Do.code:throw new Do(p);case Ui.code:throw new Ui(p);case Ur.code:throw new Ur(p);case _i.code:throw new _i(p);case zi.code:throw new zi(p);case $i.code:throw new $i(p);case Hi.code:throw new Hi(p);case Wi.code:throw new Wi(p);case Xn.code:throw new Xn(p);case Gi.code:throw new Gi(p);case Vi.code:throw new Vi(p);case qi.code:throw new qi(p);case Ki.code:throw new Ki(p);case Qi.code:throw new Qi(p);case eo.code:throw new eo(p);case 5e3:throw new Ur(p);case Ta.code:throw new Ta(p);default:throw l instanceof v?l:new Lu(p)}}},{delay:({count:l,error:p})=>{if(p&&p instanceof tr){let f=p?.headers?.get("Retry-After");if(f?.match(/\d/))return Number.parseInt(f,10)*1e3}return~~(1<<l)*s},retryCount:a,shouldRetry:({error:l})=>dC(l)}),{enabled:o,id:d})}}function dC(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===Do.code||t.code===cn.code||t.code===429:t instanceof tr&&t.status?t.status===403||t.status===408||t.status===413||t.status===429||t.status===500||t.status===502||t.status===503||t.status===504:!0}function lC(t,e=0){let r=3735928559^e,n=1103547991^e;for(let o=0;o<t.length;o++){let i=t.charCodeAt(o);r=Math.imul(r^i,2654435761),n=Math.imul(n^i,1597334677)}return r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),(4294967296*(2097151&n)+(r>>>0)).toString(36)}function N0(t){let e={formatters:void 0,fees:void 0,serializers:void 0,...t};function r(n){return o=>{let i=typeof o=="function"?o(n):o,s={...n,...i};return Object.assign(s,{extend:r(s)})}}return Object.assign(e,{extend:r(e)})}qe();ko();function _I(t,{errorInstance:e=new Error("timed out"),timeout:r,signal:n}){return new Promise((o,i)=>{(async()=>{let s;try{let a=new AbortController;r>0&&(s=setTimeout(()=>{n?a.abort():i(e)},r)),o(await t({signal:a?.signal||null}))}catch(a){a?.name==="AbortError"&&i(e),i(a)}finally{clearTimeout(s)}})()})}yt();function pC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var B0=pC();function zI(t,e={}){let{url:r,headers:n}=fC(t);return{async request(o){let{body:i,fetchFn:s=e.fetchFn??fetch,onRequest:a=e.onRequest,onResponse:c=e.onResponse,timeout:u=e.timeout??1e4}=o,d={...e.fetchOptions??{},...o.fetchOptions??{}},{headers:l,method:p,signal:f}=d;try{let g=await _I(async({signal:h})=>{let b={...d,body:Array.isArray(i)?re(i.map(I=>({jsonrpc:"2.0",id:I.id??B0.take(),...I}))):re({jsonrpc:"2.0",id:i.id??B0.take(),...i}),headers:{...n,"Content-Type":"application/json",...l},method:p||"POST",signal:f||(u>0?h:null)},w=new Request(r,b),x=await a?.(w,b)??{...b,url:r};return await s(x.url??r,x)},{errorInstance:new Jn({body:i,url:r}),timeout:u,signal:!0});c&&await c(g);let m;if(g.headers.get("Content-Type")?.startsWith("application/json"))m=await g.json();else{m=await g.text();try{m=JSON.parse(m||"{}")}catch(h){if(g.ok)throw h;m={error:m}}}if(!g.ok){if(typeof m.error?.code=="number"&&typeof m.error?.message=="string")return m;throw new tr({body:i,details:re(m.error)||g.statusText,headers:g.headers,status:g.status,url:r})}return m}catch(g){throw g instanceof tr||g instanceof Jn?g:new tr({body:i,cause:g,url:r})}}}}function fC(t){try{let e=new URL(t),r=(()=>{if(e.username){let n=`${decodeURIComponent(e.username)}:${decodeURIComponent(e.password)}`;return e.username="",e.password="",{url:e.toString(),headers:{Authorization:`Basic ${btoa(n)}`}}}})();return{url:e.toString(),...r}}catch{return{url:t}}}er();var $I=`Ethereum Signed Message:
|
|
42
|
+
`;ut();Jt();H();function HI(t){let e=typeof t=="string"?Yt(t):typeof t.raw=="string"?t.raw:oe(t.raw),r=Yt(`${$I}${te(e)}`);return be([r,e])}function Qo(t,e){return ie(HI(t),e)}qn();ut();H();er();De();Or();yt();K();var sm=class extends v{constructor({domain:e}){super(`Invalid domain "${re(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},am=class extends v{constructor({primaryType:e,types:r}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}},cm=class extends v{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};Ut();Jt();H();Rp();yt();function WI(t){let{domain:e,message:r,primaryType:n,types:o}=t,i=(c,u)=>{let d={...u};for(let l of c){let{name:p,type:f}=l;f==="address"&&(d[p]=d[p].toLowerCase())}return d},s=o.EIP712Domain?e?i(o.EIP712Domain,e):{}:{},a=(()=>{if(n!=="EIP712Domain")return i(o[n],r)})();return re({domain:s,message:a,primaryType:n,types:o})}function um(t){let{domain:e,message:r,primaryType:n,types:o}=t,i=(s,a)=>{for(let c of s){let{name:u,type:d}=c,l=a[u],p=d.match(ba);if(p&&(typeof l=="number"||typeof l=="bigint")){let[m,h,b]=p;E(l,{signed:h==="int",size:Number.parseInt(b,10)/8})}if(d==="address"&&typeof l=="string"&&!Z(l))throw new le({address:l});let f=d.match(Cp);if(f){let[m,h]=f;if(h&&te(l)!==Number.parseInt(h,10))throw new ga({expectedSize:Number.parseInt(h,10),givenSize:te(l)})}let g=o[d];g&&(mC(d),i(g,l))}};if(o.EIP712Domain&&e){if(typeof e!="object")throw new sm({domain:e});i(o.EIP712Domain,e)}if(n!=="EIP712Domain")if(o[n])i(o[n],r);else throw new am({primaryType:n,types:o})}function dm({domain:t}){return[typeof t?.name=="string"&&{name:"name",type:"string"},t?.version&&{name:"version",type:"string"},(typeof t?.chainId=="number"||typeof t?.chainId=="bigint")&&{name:"chainId",type:"uint256"},t?.verifyingContract&&{name:"verifyingContract",type:"address"},t?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function mC(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new cm({type:t})}function lm(t){let{domain:e={},message:r,primaryType:n}=t,o={EIP712Domain:dm({domain:e}),...t.types};um({domain:e,message:r,primaryType:n,types:o});let i=["0x1901"];return e&&i.push(gC({domain:e,types:o})),n!=="EIP712Domain"&&i.push(GI({data:r,primaryType:n,types:o})),ie(be(i))}function gC({domain:t,types:e}){return GI({data:t,primaryType:"EIP712Domain",types:e})}function GI({data:t,primaryType:e,types:r}){let n=VI({data:t,primaryType:e,types:r});return ie(n)}function VI({data:t,primaryType:e,types:r}){let n=[{type:"bytes32"}],o=[yC({primaryType:e,types:r})];for(let i of r[e]){let[s,a]=KI({types:r,name:i.name,type:i.type,value:t[i.name]});n.push(s),o.push(a)}return Tt(n,o)}function yC({primaryType:t,types:e}){let r=Ae(hC({primaryType:t,types:e}));return ie(r)}function hC({primaryType:t,types:e}){let r="",n=qI({primaryType:t,types:e});n.delete(t);let o=[t,...Array.from(n).sort()];for(let i of o)r+=`${i}(${e[i].map(({name:s,type:a})=>`${a} ${s}`).join(",")})`;return r}function qI({primaryType:t,types:e},r=new Set){let o=t.match(/^\w*/u)?.[0];if(r.has(o)||e[o]===void 0)return r;r.add(o);for(let i of e[o])qI({primaryType:i.type,types:e},r);return r}function KI({types:t,name:e,type:r,value:n}){if(t[r]!==void 0)return[{type:"bytes32"},ie(VI({data:n,primaryType:r,types:t}))];if(r==="bytes")return[{type:"bytes32"},ie(n)];if(r==="string")return[{type:"bytes32"},ie(Ae(n))];if(r.lastIndexOf("]")===r.length-1){let o=r.slice(0,r.lastIndexOf("[")),i=n.map(s=>KI({name:e,type:o,types:t,value:s}));return[{type:"bytes32"},ie(Tt(i.map(([s])=>s),i.map(([,s])=>s)))]}return[{type:r},n]}var cd={};vt(cd,{InvalidWrappedSignatureError:()=>Em,assert:()=>Tm,from:()=>YC,magicBytes:()=>nb,suffixParameters:()=>ob,unwrap:()=>gS,validate:()=>eR,wrap:()=>XC});mu();Ho();var pm=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let r=super.get(e);return super.has(e)&&r!==void 0&&(this.delete(e),super.set(e,r)),r}set(e,r){if(super.set(e,r),this.maxSize&&this.size>this.maxSize){let n=this.keys().next().value;n&&this.delete(n)}return this}};var bC={checksum:new pm(8192)},fm=bC.checksum;Ht();ah();Ho();nt();function ws(t,e={}){let{as:r=typeof t=="string"?"Hex":"Bytes"}=e,n=Pp(L2(t));return r==="Bytes"?n:je(n)}Ho();Ht();nt();Vu();function QI(t,e={}){let{compressed:r}=e,{prefix:n,x:o,y:i}=t;if(r===!1||typeof o=="bigint"&&typeof i=="bigint"){if(n!==4)throw new mm({prefix:n,cause:new M0});return}if(r===!0||typeof o=="bigint"&&typeof i>"u"){if(n!==3&&n!==2)throw new mm({prefix:n,cause:new D0});return}throw new k0({publicKey:t})}function ZI(t){let e=(()=>{if(Ku(t))return JI(t);if(j2(t))return wC(t);let{prefix:r,x:n,y:o}=t;return typeof n=="bigint"&&typeof o=="bigint"?{prefix:r??4,x:n,y:o}:{prefix:r,x:n}})();return QI(e),e}function wC(t){return JI(je(t))}function JI(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new O0({publicKey:t});if(t.length===130){let n=BigInt(Ee(t,0,32)),o=BigInt(Ee(t,32,64));return{prefix:4,x:n,y:o}}if(t.length===132){let n=Number(Ee(t,0,1)),o=BigInt(Ee(t,1,33)),i=BigInt(Ee(t,33,65));return{prefix:n,x:o,y:i}}let e=Number(Ee(t,0,1)),r=BigInt(Ee(t,1,33));return{prefix:e,x:r}}function F0(t,e={}){QI(t);let{prefix:r,x:n,y:o}=t,{includePrefix:i=!0}=e;return Be(i?ce(r,{size:1}):"0x",ce(n,{size:32}),typeof o=="bigint"?ce(o,{size:32}):"0x")}var k0=class extends _{constructor({publicKey:e}){super(`Value \`${Wo(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}},mm=class extends _{constructor({prefix:e,cause:r}){super(`Prefix "${e}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}},D0=class extends _{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}},M0=class extends _{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},O0=class extends _{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${Pe(Xa(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var IC=/^0x[a-fA-F0-9]{40}$/;function Is(t,e={}){let{strict:r=!0}=e;if(!IC.test(t))throw new gm({address:t,cause:new j0});if(r){if(t.toLowerCase()===t)return;if(ym(t)!==t)throw new gm({address:t,cause:new U0})}}function ym(t){if(fm.has(t))return fm.get(t);Is(t,{strict:!1});let e=t.substring(2).toLowerCase(),r=ws(k2(e),{as:"Bytes"}),n=e.split("");for(let i=0;i<40;i+=2)r[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(r[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());let o=`0x${n.join("")}`;return fm.set(t,o),o}function SC(t,e={}){let{checksum:r=!1}=e;return Is(t),r?ym(t):t}function XI(t,e={}){let r=ws(`0x${F0(t).slice(4)}`).substring(26);return SC(`0x${r}`,e)}function hm(t,e={}){let{strict:r=!0}=e??{};try{return Is(t,{strict:r}),!0}catch{return!1}}var gm=class extends _{constructor({address:e,cause:r}){super(`Address "${e}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}},j0=class extends _{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}},U0=class extends _{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Ho();Ht();nt();Ho();Ht();nt();var eS=/^(.*)\[([0-9]*)\]$/,tS=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,xm=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,cY=2n**(8n-1n)-1n,uY=2n**(16n-1n)-1n,dY=2n**(24n-1n)-1n,lY=2n**(32n-1n)-1n,pY=2n**(40n-1n)-1n,fY=2n**(48n-1n)-1n,mY=2n**(56n-1n)-1n,gY=2n**(64n-1n)-1n,yY=2n**(72n-1n)-1n,hY=2n**(80n-1n)-1n,bY=2n**(88n-1n)-1n,xY=2n**(96n-1n)-1n,wY=2n**(104n-1n)-1n,IY=2n**(112n-1n)-1n,SY=2n**(120n-1n)-1n,vY=2n**(128n-1n)-1n,AY=2n**(136n-1n)-1n,PY=2n**(144n-1n)-1n,EY=2n**(152n-1n)-1n,TY=2n**(160n-1n)-1n,CY=2n**(168n-1n)-1n,RY=2n**(176n-1n)-1n,NY=2n**(184n-1n)-1n,BY=2n**(192n-1n)-1n,LY=2n**(200n-1n)-1n,kY=2n**(208n-1n)-1n,DY=2n**(216n-1n)-1n,MY=2n**(224n-1n)-1n,OY=2n**(232n-1n)-1n,FY=2n**(240n-1n)-1n,jY=2n**(248n-1n)-1n,UY=2n**(256n-1n)-1n,_Y=-(2n**(8n-1n)),zY=-(2n**(16n-1n)),$Y=-(2n**(24n-1n)),HY=-(2n**(32n-1n)),WY=-(2n**(40n-1n)),GY=-(2n**(48n-1n)),VY=-(2n**(56n-1n)),qY=-(2n**(64n-1n)),KY=-(2n**(72n-1n)),QY=-(2n**(80n-1n)),ZY=-(2n**(88n-1n)),JY=-(2n**(96n-1n)),YY=-(2n**(104n-1n)),XY=-(2n**(112n-1n)),eX=-(2n**(120n-1n)),tX=-(2n**(128n-1n)),rX=-(2n**(136n-1n)),nX=-(2n**(144n-1n)),oX=-(2n**(152n-1n)),iX=-(2n**(160n-1n)),sX=-(2n**(168n-1n)),aX=-(2n**(176n-1n)),cX=-(2n**(184n-1n)),uX=-(2n**(192n-1n)),dX=-(2n**(200n-1n)),lX=-(2n**(208n-1n)),pX=-(2n**(216n-1n)),fX=-(2n**(224n-1n)),mX=-(2n**(232n-1n)),gX=-(2n**(240n-1n)),yX=-(2n**(248n-1n)),hX=-(2n**(256n-1n)),bX=2n**8n-1n,xX=2n**16n-1n,wX=2n**24n-1n,IX=2n**32n-1n,SX=2n**40n-1n,vX=2n**48n-1n,AX=2n**56n-1n,PX=2n**64n-1n,EX=2n**72n-1n,TX=2n**80n-1n,CX=2n**88n-1n,RX=2n**96n-1n,NX=2n**104n-1n,BX=2n**112n-1n,LX=2n**120n-1n,kX=2n**128n-1n,DX=2n**136n-1n,MX=2n**144n-1n,OX=2n**152n-1n,FX=2n**160n-1n,jX=2n**168n-1n,UX=2n**176n-1n,_X=2n**184n-1n,zX=2n**192n-1n,$X=2n**200n-1n,HX=2n**208n-1n,WX=2n**216n-1n,GX=2n**224n-1n,VX=2n**232n-1n,qX=2n**240n-1n,KX=2n**248n-1n,_0=2n**256n-1n;function Ss(t,e,r){let{checksumAddress:n,staticPosition:o}=r,i=H0(e.type);if(i){let[s,a]=i;return AC(t,{...e,type:a},{checksumAddress:n,length:s,staticPosition:o})}if(e.type==="tuple")return CC(t,e,{checksumAddress:n,staticPosition:o});if(e.type==="address")return vC(t,{checksum:n});if(e.type==="bool")return PC(t);if(e.type.startsWith("bytes"))return EC(t,e,{staticPosition:o});if(e.type.startsWith("uint")||e.type.startsWith("int"))return TC(t,e);if(e.type==="string")return RC(t,{staticPosition:o});throw new uc(e.type)}var nS=32,z0=32;function vC(t,e={}){let{checksum:r=!1}=e,n=t.readBytes(32);return[(i=>r?ym(i):i)(je(D2(n,-20))),32]}function AC(t,e,r){let{checksumAddress:n,length:o,staticPosition:i}=r;if(!o){let c=gn(t.readBytes(z0)),u=i+c,d=u+nS;t.setPosition(u);let l=gn(t.readBytes(nS)),p=rd(e),f=0,g=[];for(let m=0;m<l;++m){t.setPosition(d+(p?m*32:f));let[h,b]=Ss(t,e,{checksumAddress:n,staticPosition:d});f+=b,g.push(h)}return t.setPosition(i+32),[g,32]}if(rd(e)){let c=gn(t.readBytes(z0)),u=i+c,d=[];for(let l=0;l<o;++l){t.setPosition(u+l*32);let[p]=Ss(t,e,{checksumAddress:n,staticPosition:u});d.push(p)}return t.setPosition(i+32),[d,32]}let s=0,a=[];for(let c=0;c<o;++c){let[u,d]=Ss(t,e,{checksumAddress:n,staticPosition:i+s});s+=d,a.push(u)}return[a,s]}function PC(t){return[O2(t.readBytes(32),{size:32}),32]}function EC(t,e,{staticPosition:r}){let[n,o]=e.type.split("bytes");if(!o){let s=gn(t.readBytes(32));t.setPosition(r+s);let a=gn(t.readBytes(32));if(a===0)return t.setPosition(r+32),["0x",32];let c=t.readBytes(a);return t.setPosition(r+32),[je(c),32]}return[je(t.readBytes(Number.parseInt(o,10),32)),32]}function TC(t,e){let r=e.type.startsWith("int"),n=Number.parseInt(e.type.split("int")[1]||"256",10),o=t.readBytes(32);return[n>48?M2(o,{signed:r}):gn(o,{signed:r}),32]}function CC(t,e,r){let{checksumAddress:n,staticPosition:o}=r,i=e.components.length===0||e.components.some(({name:c})=>!c),s=i?[]:{},a=0;if(rd(e)){let c=gn(t.readBytes(z0)),u=o+c;for(let d=0;d<e.components.length;++d){let l=e.components[d];t.setPosition(u+a);let[p,f]=Ss(t,l,{checksumAddress:n,staticPosition:u});a+=f,s[i?d:l?.name]=p}return t.setPosition(o+32),[s,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[d,l]=Ss(t,u,{checksumAddress:n,staticPosition:o});s[i?c:u?.name]=d,a+=l}return[s,a]}function RC(t,{staticPosition:e}){let r=gn(t.readBytes(32)),n=e+r;t.setPosition(n);let o=gn(t.readBytes(32));if(o===0)return t.setPosition(e+32),["",32];let i=t.readBytes(o,32),s=F2(i0(i));return t.setPosition(e+32),[s,32]}function oS({checksumAddress:t,parameters:e,values:r}){let n=[];for(let o=0;o<e.length;o++)n.push($0({checksumAddress:t,parameter:e[o],value:r[o]}));return n}function $0({checksumAddress:t=!1,parameter:e,value:r}){let n=e,o=H0(n.type);if(o){let[i,s]=o;return BC(r,{checksumAddress:t,length:i,parameter:{...n,type:s}})}if(n.type==="tuple")return OC(r,{checksumAddress:t,parameter:n});if(n.type==="address")return NC(r,{checksum:t});if(n.type==="bool")return kC(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){let i=n.type.startsWith("int"),[,,s="256"]=xm.exec(n.type)??[];return DC(r,{signed:i,size:Number(s)})}if(n.type.startsWith("bytes"))return LC(r,{type:n.type});if(n.type==="string")return MC(r);throw new uc(n.type)}function wm(t){let e=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?e+=32:e+=Pe(a)}let r=[],n=[],o=0;for(let i=0;i<t.length;i++){let{dynamic:s,encoded:a}=t[i];s?(r.push(ce(e+o,{size:32})),n.push(a),o+=Pe(a)):r.push(a)}return Be(...r,...n)}function NC(t,e){let{checksum:r=!1}=e;return Is(t,{strict:r}),{dynamic:!1,encoded:fo(t.toLowerCase())}}function BC(t,e){let{checksumAddress:r,length:n,parameter:o}=e,i=n===null;if(!Array.isArray(t))throw new Sm(t);if(!i&&t.length!==n)throw new Im({expectedLength:n,givenLength:t.length,type:`${o.type}[${n}]`});let s=!1,a=[];for(let c=0;c<t.length;c++){let u=$0({checksumAddress:r,parameter:o,value:t[c]});u.dynamic&&(s=!0),a.push(u)}if(i||s){let c=wm(a);if(i){let u=ce(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Be(u,c):u}}if(s)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Be(...a.map(({encoded:c})=>c))}}function LC(t,{type:e}){let[,r]=e.split("bytes"),n=Pe(t);if(!r){let o=t;return n%32!==0&&(o=yn(o,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:Be(fo(ce(n,{size:32})),o)}}if(n!==Number.parseInt(r,10))throw new nd({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:yn(t)}}function kC(t){if(typeof t!="boolean")throw new _(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:fo(Ef(t))}}function DC(t,{signed:e,size:r}){if(typeof r=="number"){let n=2n**(BigInt(r)-(e?1n:0n))-1n,o=e?-n-1n:0n;if(t>n||t<o)throw new qu({max:n.toString(),min:o.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:ce(t,{size:32,signed:e})}}function MC(t){let e=ec(t),r=Math.ceil(Pe(e)/32),n=[];for(let o=0;o<r;o++)n.push(yn(Ee(e,o*32,(o+1)*32)));return{dynamic:!0,encoded:Be(yn(ce(Pe(e),{size:32})),...n)}}function OC(t,e){let{checksumAddress:r,parameter:n}=e,o=!1,i=[];for(let s=0;s<n.components.length;s++){let a=n.components[s],c=Array.isArray(t)?s:a.name,u=$0({checksumAddress:r,parameter:a,value:t[c]});i.push(u),u.dynamic&&(o=!0)}return{dynamic:o,encoded:o?wm(i):Be(...i.map(({encoded:s})=>s))}}function H0(t){let e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function rd(t){let{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return!0;if(e==="tuple")return t.components?.some(rd);let r=H0(t.type);return!!(r&&rd({...t,type:r[1]}))}Ht();var jC={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new G0({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new W0({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new vm({offset:t});let e=this.position-t;this.assertPosition(e),this.position=e},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new vm({offset:t});let e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){let r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){let e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){let e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){let e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();let r=this.inspectBytes(t);return this.position+=e??t,r},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function Am(t,{recursiveReadLimit:e=8192}={}){let r=Object.create(jC);return r.bytes=t,r.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}var vm=class extends _{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},W0=class extends _{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}},G0=class extends _{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}};function dc(t,e,r={}){let{as:n="Array",checksumAddress:o=!1}=r,i=typeof e=="string"?Ya(e):e,s=Am(i);if(hr(i)===0&&t.length>0)throw new K0;if(hr(i)&&hr(i)<32)throw new q0({data:typeof e=="string"?e:je(e),parameters:t,size:hr(i)});let a=0,c=n==="Array"?[]:{};for(let u=0;u<t.length;++u){let d=t[u];s.setPosition(a);let[l,p]=Ss(s,d,{checksumAddress:o,staticPosition:0});a+=p,n==="Array"?c.push(l):c[d.name??u]=l}return c}function Zo(t,e,r){let{checksumAddress:n=!1}=r??{};if(t.length!==e.length)throw new Pm({expectedLength:t.length,givenLength:e.length});let o=oS({checksumAddress:n,parameters:t,values:e}),i=wm(o);return i.length===0?"0x":i}function V0(t,e){if(t.length!==e.length)throw new Pm({expectedLength:t.length,givenLength:e.length});let r=[];for(let n=0;n<t.length;n++){let o=t[n],i=e[n];r.push(V0.encode(o,i))}return Be(...r)}(function(t){function e(r,n,o=!1){if(r==="address"){let c=n;return Is(c),fo(c.toLowerCase(),o?32:0)}if(r==="string")return ec(n);if(r==="bytes")return n;if(r==="bool")return fo(Ef(n),o?32:1);let i=r.match(xm);if(i){let[c,u,d="256"]=i,l=Number.parseInt(d,10)/8;return ce(n,{size:o?32:l,signed:u==="int"})}let s=r.match(tS);if(s){let[c,u]=s;if(Number.parseInt(u,10)!==(n.length-2)/2)throw new nd({expectedSize:Number.parseInt(u,10),value:n});return yn(n,o?32:0)}let a=r.match(eS);if(a&&Array.isArray(n)){let[c,u]=a,d=[];for(let l=0;l<n.length;l++)d.push(e(u,n[l],!0));return d.length===0?"0x":Be(...d)}throw new uc(r)}t.encode=e})(V0||(V0={}));function id(t){return Array.isArray(t)&&typeof t[0]=="string"?ep(t):typeof t=="string"?ep(t):t}var q0=class extends _{constructor({data:e,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${_n(r)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},K0=class extends _{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},Im=class extends _{constructor({expectedLength:e,givenLength:r,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${e}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}},nd=class extends _{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${Pe(r)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},Pm=class extends _{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${r}`].join(`
|
|
43
|
+
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}},Sm=class extends _{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},uc=class extends _{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}};nt();Ho();Ht();nt();function UC(t,e){let{as:r}=e,n=aS(t),o=Am(new Uint8Array(n.length));return n.encode(o),r==="Hex"?je(o.bytes):o.bytes}function sS(t,e={}){let{as:r="Hex"}=e;return UC(t,{as:r})}function aS(t){return Array.isArray(t)?_C(t.map(e=>aS(e))):zC(t)}function _C(t){let e=t.reduce((o,i)=>o+i.length,0),r=cS(e);return{length:e<=55?1+e:1+r+e,encode(o){e<=55?o.pushByte(192+e):(o.pushByte(247+r),r===1?o.pushUint8(e):r===2?o.pushUint16(e):r===3?o.pushUint24(e):o.pushUint32(e));for(let{encode:i}of t)i(o)}}}function zC(t){let e=typeof t=="string"?Ya(t):t,r=cS(e.length);return{length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+r+e.length,encode(o){e.length===1&&e[0]<128?o.pushBytes(e):e.length<=55?(o.pushByte(128+e.length),o.pushBytes(e)):(o.pushByte(183+r),r===1?o.pushUint8(e.length):r===2?o.pushUint16(e.length):r===3?o.pushUint24(e.length):o.pushUint32(e.length),o.pushBytes(e))}}}function cS(t){if(t<=255)return 1;if(t<=65535)return 2;if(t<=16777215)return 3;if(t<=4294967295)return 4;throw new _("Length is too large.")}Ht();nt();Vu();function X0(t,e={}){let{recovered:r}=e;if(typeof t.r>"u")throw new sd({signature:t});if(typeof t.s>"u")throw new sd({signature:t});if(r&&typeof t.yParity>"u")throw new sd({signature:t});if(t.r<0n||t.r>_0)throw new Z0({value:t.r});if(t.s<0n||t.s>_0)throw new J0({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new ad({value:t.yParity})}function HC(t){return uS(je(t))}function uS(t){if(t.length!==130&&t.length!==132)throw new Q0({signature:t});let e=BigInt(Ee(t,0,32)),r=BigInt(Ee(t,32,64)),n=(()=>{let o=+`0x${t.slice(130)}`;if(!Number.isNaN(o))try{return rb(o)}catch{throw new ad({value:o})}})();return typeof n>"u"?{r:e,s:r}:{r:e,s:r,yParity:n}}function eb(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return tb(t)}function tb(t){let e=typeof t=="string"?uS(t):t instanceof Uint8Array?HC(t):typeof t.r=="string"?GC(t):t.v?WC(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return X0(e),e}function WC(t){return{r:t.r,s:t.s,yParity:rb(t.v)}}function GC(t){let e=(()=>{let r=t.v?Number(t.v):void 0,n=t.yParity?Number(t.yParity):void 0;if(typeof r=="number"&&typeof n!="number"&&(n=rb(r)),typeof n!="number")throw new ad({value:t.yParity});return n})();return{r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function dS(t){let{r:e,s:r,yParity:n}=t;return[n?"0x01":"0x",e===0n?"0x":a0(ce(e)),r===0n?"0x":a0(ce(r))]}function rb(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new Y0({value:t})}var Q0=class extends _{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Pe(Xa(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},sd=class extends _{constructor({signature:e}){super(`Signature \`${Wo(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},Z0=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}},J0=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}},ad=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}},Y0=class extends _{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}};function pS(t,e={}){return typeof t.chainId=="string"?VC(t):{...t,...e.signature}}function VC(t){let{address:e,chainId:r,nonce:n}=t,o=eb(t);return{address:e,chainId:Number(r),nonce:BigInt(n),...o}}function fS(t){return qC(t,{presign:!0})}function qC(t,e={}){let{presign:r}=e;return ws(Be("0x05",sS(KC(r?{address:t.address,chainId:t.chainId,nonce:t.nonce}:t))))}function KC(t){let{address:e,chainId:r,nonce:n}=t,o=eb(t);return[r?ce(r):"0x",e,n?ce(n):"0x",...o?dS(o):[]]}Ht();nt();Da();nt();function mS(t){return XI(ZC(t))}function ZC(t){let{payload:e,signature:r}=t,{r:n,s:o,yParity:i}=r,a=new ir.Signature(BigInt(n),BigInt(o)).addRecoveryBit(i).recoverPublicKey(Xa(e).substring(2));return ZI(a)}var nb="0x8010801080108010801080108010801080108010801080108010801080108010",ob=id("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function Tm(t){if(typeof t=="string"){if(Ee(t,-32)!==nb)throw new Em(t)}else X0(t.authorization)}function YC(t){return typeof t=="string"?gS(t):t}function gS(t){Tm(t);let e=vf(Ee(t,-64,-32)),r=Ee(t,-e-64,-64),n=Ee(t,0,-e-64),[o,i,s]=dc(ob,r);return{authorization:pS({address:o.delegation,chainId:Number(o.chainId),nonce:o.nonce,yParity:o.yParity,r:o.r,s:o.s}),signature:n,...s&&s!=="0x"?{data:s,to:i}:{}}}function XC(t){let{data:e,signature:r}=t;Tm(t);let n=mS({payload:fS(t.authorization),signature:tb(t.authorization)}),o=Zo(ob,[{...t.authorization,delegation:t.authorization.address,chainId:BigInt(t.authorization.chainId)},t.to??n,e??"0x"]),i=ce(Pe(o),{size:32});return Be(r,o,i,nb)}function eR(t){try{return Tm(t),!0}catch{return!1}}var Em=class extends _{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};async function ud({message:t,signature:e}){return ts({hash:Qo(t),signature:e})}jp();K();var Cm=class extends v{constructor({value:e}){super(`Number \`${e}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function yS(t,e){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(t))throw new Cm({value:t});let[r,n="0"]=t.split("."),o=r.startsWith("-");if(o&&(r=r.slice(1)),n=n.replace(/(0+)$/,""),e===0)Math.round(+`.${n}`)===1&&(r=`${BigInt(r)+1n}`),n="";else if(n.length>e){let[i,s,a]=[n.slice(0,e-1),n.slice(e-1,e),n.slice(e)],c=Math.round(+`${s}.${a}`);c>9?n=`${BigInt(i)+BigInt(1)}0`.padStart(i.length+1,"0"):n=`${i}${c}`,n.length>e&&(n=n.slice(1),r=`${BigInt(r)+1n}`),n=n.slice(0,e)}else n=n.padEnd(e,"0");return BigInt(`${o?"-":""}${r}${n}`)}function dd(t,e="wei"){return yS(t,Fp[e])}function rR(t){return t.map(e=>({...e,value:BigInt(e.value)}))}function hS(t){return{...t,balance:t.balance?BigInt(t.balance):void 0,nonce:t.nonce?ve(t.nonce):void 0,storageProof:t.storageProof?rR(t.storageProof):void 0}}async function bS(t,{address:e,blockNumber:r,blockTag:n,storageKeys:o}){let i=n??"latest",s=r!==void 0?E(r):void 0,a=await t.request({method:"eth_getProof",params:[e,o,s||i]});return hS(a)}H();async function xS(t,{address:e,blockNumber:r,blockTag:n="latest",slot:o}){let i=r!==void 0?E(r):void 0;return await t.request({method:"eth_getStorageAt",params:[e,o,i||n]})}gr();H();async function lc(t,{blockHash:e,blockNumber:r,blockTag:n,hash:o,index:i,sender:s,nonce:a}){let c=n||"latest",u=r!==void 0?E(r):void 0,d=null;if(o?d=await t.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):e?d=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[e,E(i)]},{dedupe:!0}):(u||c)&&typeof i=="number"?d=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||c,E(i)]},{dedupe:!!u}):s&&typeof a=="number"&&(d=await t.request({method:"eth_getTransactionBySenderAndNonce",params:[s,E(a)]},{dedupe:!0})),!d)throw new Aa({blockHash:e,blockNumber:r,blockTag:c,hash:o,index:i});return(t.chain?.formatters?.transaction?.format||Ua)(d,"getTransaction")}async function wS(t,{hash:e,transactionReceipt:r}){let[n,o]=await Promise.all([R(t,bn,"getBlockNumber")({}),e?R(t,lc,"getTransaction")({hash:e}):void 0]),i=r?.blockNumber||o?.blockNumber;return i?n-i+1n:0n}gr();async function pc(t,{hash:e}){let r=await t.request({method:"eth_getTransactionReceipt",params:[e]},{dedupe:!0});if(!r)throw new Pa({hash:e});return(t.chain?.formatters?.transactionReceipt?.format||zf)(r,"getTransactionReceipt")}mo();Qu();De();K();Qn();lo();Ct();gs();async function IS(t,e){let{account:r,authorizationList:n,allowFailure:o=!0,blockNumber:i,blockOverrides:s,blockTag:a,stateOverride:c}=e,u=e.contracts,{batchSize:d=e.batchSize??1024,deployless:l=e.deployless??!1}=typeof t.batch?.multicall=="object"?t.batch.multicall:{},p=(()=>{if(e.multicallAddress)return e.multicallAddress;if(l)return null;if(t.chain)return br({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),f=[[]],g=0,m=0;for(let w=0;w<u.length;w++){let{abi:x,address:y,args:I,functionName:S}=u[w];try{let A=ue({abi:x,args:I,functionName:S});m+=(A.length-2)/2,d>0&&m>d&&f[g].length>0&&(g++,m=(A.length-2)/2,f[g]=[]),f[g]=[...f[g],{allowFailure:!0,callData:A,target:y}]}catch(A){let P=nr(A,{abi:x,address:y,args:I,docsPath:"/docs/contract/multicall",functionName:S,sender:r});if(!o)throw P;f[g]=[...f[g],{allowFailure:!0,callData:"0x",target:y}]}}let h=await Promise.allSettled(f.map(w=>R(t,He,"readContract")({...p===null?{code:tc}:{address:p},abi:hn,account:r,args:[w],authorizationList:n,blockNumber:i,blockOverrides:s,blockTag:a,functionName:"aggregate3",stateOverride:c}))),b=[];for(let w=0;w<h.length;w++){let x=h[w];if(x.status==="rejected"){if(!o)throw x.reason;for(let I=0;I<f[w].length;I++)b.push({status:"failure",error:x.reason,result:void 0});continue}let y=x.value;for(let I=0;I<y.length;I++){let{returnData:S,success:A}=y[I],{callData:P}=f[w][I],{abi:N,address:T,functionName:D,args:O}=u[b.length];try{if(P==="0x")throw new fr;if(!A)throw new jr({data:S});let F=wt({abi:N,args:O,data:S,functionName:D});b.push(o?{result:F,status:"success"}:F)}catch(F){let z=nr(F,{abi:N,address:T,args:O,docsPath:"/docs/contract/multicall",functionName:D});if(!o)throw z;b.push({error:z,result:void 0,status:"failure"})}}}if(b.length!==u.length)throw new v("multicall results mismatch");return b}c0();Ne();De();Qn();co();lo();Ct();ut();H();$u();uo();af();fn();async function ld(t,e){let{blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",blocks:o,returnFullTransactions:i,traceTransfers:s,validation:a}=e;try{let c=[];for(let p of o){let f=p.blockOverrides?Tf(p.blockOverrides):void 0,g=p.calls.map(h=>{let b=h,w=b.account?q(b.account):void 0,x=b.abi?ue(b):b.data,y={...b,account:w,data:b.dataSuffix?be([x||"0x",b.dataSuffix]):x,from:b.from??w?.address};return et(y),bt(y)}),m=p.stateOverrides?Ma(p.stateOverrides):void 0;c.push({blockOverrides:f,calls:g,stateOverrides:m})}let d=(typeof r=="bigint"?E(r):void 0)||n;return(await t.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:i,traceTransfers:s,validation:a},d]})).map((p,f)=>({...uf(p),calls:p.calls.map((g,m)=>{let{abi:h,args:b,functionName:w,to:x}=o[f].calls[m],y=g.error?.data??g.returnData,I=BigInt(g.gasUsed),S=g.logs?.map(T=>rt(T)),A=g.status==="0x1"?"success":"failure",P=h&&A==="success"&&y!=="0x"?wt({abi:h,data:y,functionName:w}):null,N=(()=>{if(A==="success")return;let T;if(y==="0x"?T=new fr:y&&(T=new jr({data:y})),!!T)return nr(T,{abi:h??[],address:x??"0x",args:b,functionName:w??"<unknown>"})})();return{data:y,gasUsed:I,logs:S,status:A,...A==="success"?{result:P}:{error:N}}})}))}catch(c){let u=c,d=_o(u,{});throw d instanceof ar?u:d}}mu();Ht();nt();Ht();function Nm(t){let e=!0,r="",n=0,o="",i=!1;for(let s=0;s<t.length;s++){let a=t[s];if(["(",")",","].includes(a)&&(e=!0),a==="("&&n++,a===")"&&n--,!!e){if(n===0){if(a===" "&&["event","function","error",""].includes(o))o="";else if(o+=a,a===")"){i=!0;break}continue}if(a===" "){t[s-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}o+=a,r+=a}}if(!i)throw new _("Unable to normalize signature.");return o}function Rm(t,e){let r=typeof t,n=e.type;switch(n){case"address":return hm(t,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in e?Object.values(e.components).every((o,i)=>Rm(Object.values(t)[i],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(t)&&t.every(o=>Rm(o,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ib(t,e,r){for(let n in t){let o=t[n],i=e[n];if(o.type==="tuple"&&i.type==="tuple"&&"components"in o&&"components"in i)return ib(o.components,i.components,r[n]);let s=[o.type,i.type];if(s.includes("address")&&s.includes("bytes20")?!0:s.includes("address")&&s.includes("string")?hm(r[n],{strict:!1}):s.includes("address")&&s.includes("bytes")?hm(r[n],{strict:!1}):!1)return s}}function Bm(t,e={}){let{prepare:r=!0}=e,n=Array.isArray(t)?Xl(t):typeof t=="string"?Xl(t):t;return{...n,...r?{hash:fc(n)}:{}}}function pd(t,e,r){let{args:n=[],prepare:o=!0}=r??{},i=Ku(e,{strict:!1}),s=t.filter(u=>i?u.type==="function"||u.type==="error"?ab(u)===Ee(e,0,4):u.type==="event"?fc(u)===e:!1:"name"in u&&u.name===e);if(s.length===0)throw new Jo({name:e});if(s.length===1)return{...s[0],...o?{hash:fc(s[0])}:{}};let a;for(let u of s){if(!("inputs"in u))continue;if(!n||n.length===0){if(!u.inputs||u.inputs.length===0)return{...u,...o?{hash:fc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==n.length)continue;if(n.every((l,p)=>{let f="inputs"in u&&u.inputs[p];return f?Rm(l,f):!1})){if(a&&"inputs"in a&&a.inputs){let l=ib(u.inputs,a.inputs,n);if(l)throw new sb({abiItem:u,type:l[0]},{abiItem:a,type:l[1]})}a=u}}let c=(()=>{if(a)return a;let[u,...d]=s;return{...u,overloads:d}})();if(!c)throw new Jo({name:e});return{...c,...o?{hash:fc(c)}:{}}}function ab(...t){let e=(()=>{if(Array.isArray(t[0])){let[r,n]=t;return pd(r,n)}return t[0]})();return Ee(fc(e),0,4)}function oR(...t){let e=(()=>{if(Array.isArray(t[0])){let[n,o]=t;return pd(n,o)}return t[0]})(),r=typeof e=="string"?e:Si(e);return Nm(r)}function fc(...t){let e=(()=>{if(Array.isArray(t[0])){let[r,n]=t;return pd(r,n)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:ws(ec(oR(e)))}var sb=class extends _{constructor(e,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${Nm(Si(e.abiItem))}\`, and`,`\`${r.type}\` in \`${Nm(Si(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}},Jo=class extends _{constructor({name:e,data:r,type:n="item"}){let o=e?` with name "${e}"`:r?` with data "${r}"`:"";super(`ABI ${n}${o} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}};nt();function vS(...t){let[e,r]=(()=>{if(Array.isArray(t[0])){let[i,s]=t;return[iR(i),s]}return t})(),{bytecode:n,args:o}=r;return Be(n,e.inputs?.length&&o?.length?Zo(e.inputs,o):"0x")}function AS(t){return Bm(t)}function iR(t){let e=t.find(r=>r.type==="constructor");if(!e)throw new Jo({name:"constructor"});return e}nt();function ES(...t){let[e,r=[]]=(()=>{if(Array.isArray(t[0])){let[u,d,l]=t;return[PS(u,d,{args:l}),l]}let[a,c]=t;return[a,c]})(),{overloads:n}=e,o=n?PS([e,...n],e.name,{args:r}):e,i=aR(o),s=r.length>0?Zo(o.inputs,r):void 0;return s?Be(i,s):i}function vs(t,e={}){return Bm(t,e)}function PS(t,e,r){let n=pd(t,e,r);if(n.type!=="function")throw new Jo({name:e,type:"function"});return n}function aR(t){return ab(t)}Ne();var TS="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Sr="0x0000000000000000000000000000000000000000";Qu();K();Ct();var uR="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function CS(t,e){let{blockNumber:r,blockTag:n,calls:o,stateOverrides:i,traceAssetChanges:s,traceTransfers:a,validation:c}=e,u=e.account?q(e.account):void 0;if(s&&!u)throw new v("`account` is required when `traceAssetChanges` is true");let d=u?vS(AS("constructor(bytes, bytes)"),{bytecode:Nf,args:[uR,ES(vs("function getBalance(address)"),[u.address])]}):void 0,l=s?await Promise.all(e.calls.map(async M=>{if(!M.data&&!M.abi)return;let{accessList:U}=await em(t,{account:u.address,...M,data:M.abi?ue(M):M.data});return U.map(({address:V,storageKeys:se})=>se.length>0?V:null)})).then(M=>M.flat().filter(Boolean)):[],p=await ld(t,{blockNumber:r,blockTag:n,blocks:[...s?[{calls:[{data:d}],stateOverrides:i},{calls:l.map((M,U)=>({abi:[vs("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:M,from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]}]:[],{calls:[...o,{to:Sr}].map(M=>({...M,from:u?.address})),stateOverrides:i},...s?[{calls:[{data:d}]},{calls:l.map((M,U)=>({abi:[vs("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:M,from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]},{calls:l.map((M,U)=>({to:M,abi:[vs("function decimals() returns (uint256)")],functionName:"decimals",from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]},{calls:l.map((M,U)=>({to:M,abi:[vs("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]},{calls:l.map((M,U)=>({to:M,abi:[vs("function symbol() returns (string)")],functionName:"symbol",from:Sr,nonce:U})),stateOverrides:[{address:Sr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),f=s?p[2]:p[0],[g,m,,h,b,w,x,y]=s?p:[],{calls:I,...S}=f,A=I.slice(0,-1)??[],P=g?.calls??[],N=m?.calls??[],T=[...P,...N].map(M=>M.status==="success"?Ce(M.data):null),D=h?.calls??[],O=b?.calls??[],F=[...D,...O].map(M=>M.status==="success"?Ce(M.data):null),z=(w?.calls??[]).map(M=>M.status==="success"?M.result:null),B=(y?.calls??[]).map(M=>M.status==="success"?M.result:null),L=(x?.calls??[]).map(M=>M.status==="success"?M.result:null),j=[];for(let[M,U]of F.entries()){let V=T[M];if(typeof U!="bigint"||typeof V!="bigint")continue;let se=z[M-1],fe=B[M-1],Ar=L[M-1],Lt=M===0?{address:TS,decimals:18,symbol:"ETH"}:{address:l[M-1],decimals:Ar||se?Number(se??1):void 0,symbol:fe??void 0};j.some(ft=>ft.token.address===Lt.address)||j.push({token:Lt,value:{pre:V,post:U,diff:U-V}})}return{assetChanges:j,block:S,results:A}}var fd={};vt(fd,{InvalidWrappedSignatureError:()=>Lm,assert:()=>ub,from:()=>pR,magicBytes:()=>cb,universalSignatureValidatorAbi:()=>lR,universalSignatureValidatorBytecode:()=>dR,unwrap:()=>RS,validate:()=>mR,wrap:()=>fR});Ht();nt();var cb="0x6492649264926492649264926492649264926492649264926492649264926492",dR="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",lR=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function ub(t){if(Ee(t,-32)!==cb)throw new Lm(t)}function pR(t){return typeof t=="string"?RS(t):t}function RS(t){ub(t);let[e,r,n]=dc(id("address, bytes, bytes"),t);return{data:r,signature:n,to:e}}function fR(t){let{data:e,signature:r,to:n}=t;return Be(Zo(id("address, bytes, bytes"),[n,e,r]),cb)}function mR(t){try{return ub(t),!0}catch{return!1}}var Lm=class extends _{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}};mo();Qu();Qn();kf();Ct();nn();us();ut();Zt();qe();H();Da();qe();ze();function km({r:t,s:e,to:r="hex",v:n,yParity:o}){let i=(()=>{if(o===0||o===1)return o;if(n&&(n===27n||n===28n||n>=35n))return n%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),s=`0x${new ir.Signature(Ce(t),Ce(e)).toCompactHex()}${i===0?"1b":"1c"}`;return r==="hex"?s:Me(s)}ys();async function Yo(t,e){let{address:r,chain:n=t.chain,hash:o,erc6492VerifierAddress:i=e.universalSignatureVerifierAddress??n?.contracts?.erc6492Verifier?.address,multicallAddress:s=e.multicallAddress??n?.contracts?.multicall3?.address,mode:a="auto"}=e;if(n?.verifyHash)return await n.verifyHash(t,e);let c=(()=>{let u=e.signature;return he(u)?u:typeof u=="object"&&"r"in u&&"s"in u?km(u):oe(u)})();try{if(a==="eoa")try{if(cr(Re(r),await ts({hash:o,signature:c})))return!0}catch{}return cd.validate(c)?await gR(t,{...e,multicallAddress:s,signature:c}):await yR(t,{...e,verifierAddress:i,signature:c})}catch(u){if(a!=="eoa")try{if(cr(Re(r),await ts({hash:o,signature:c})))return!0}catch{}if(u instanceof yo)return!1;throw u}}async function gR(t,e){let{address:r,blockNumber:n,blockTag:o,hash:i,multicallAddress:s}=e,{authorization:a,data:c,signature:u,to:d}=cd.unwrap(e.signature);if(await xs(t,{address:r,blockNumber:n,blockTag:o})===Ke(["0xef0100",a.address]))return await hR(t,{address:r,blockNumber:n,blockTag:o,hash:i,signature:u});let p={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:E(a.r,{size:32}),s:E(a.s,{size:32}),yParity:a.yParity};if(!await FI({address:r,authorization:p}))throw new yo;let g=await R(t,He,"readContract")({...s?{address:s}:{code:tc},authorizationList:[p],abi:hn,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:d??r,callData:c}]:[],{allowFailure:!0,target:r,callData:ue({abi:l0,functionName:"isValidSignature",args:[i,u]})}]]});if(g[g.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new yo}async function yR(t,e){let{address:r,factory:n,factoryData:o,hash:i,signature:s,verifierAddress:a,...c}=e,u=await(async()=>!n&&!o||fd.validate(s)?s:fd.wrap({data:o,signature:s,to:n}))(),d=a?{to:a,data:ue({abi:p0,functionName:"isValidSig",args:[r,i,u]}),...c}:{data:ms({abi:p0,args:[r,i,u],bytecode:q2}),...c},{data:l}=await R(t,xr,"call")(d).catch(p=>{throw p instanceof Ni?new yo:p});if(bp(l??"0x0"))return!0;throw new yo}async function hR(t,e){let{address:r,blockNumber:n,blockTag:o,hash:i,signature:s}=e;if((await R(t,He,"readContract")({address:r,abi:l0,args:[i,s],blockNumber:n,blockTag:o,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Bi?new yo:c})).startsWith("0x1626ba7e"))return!0;throw new yo}var yo=class extends Error{};async function NS(t,{address:e,message:r,factory:n,factoryData:o,signature:i,...s}){let a=Qo(r);return R(t,Yo,"verifyHash")({address:e,factory:n,factoryData:o,hash:a,signature:i,...s})}async function BS(t,e){let{address:r,factory:n,factoryData:o,signature:i,message:s,primaryType:a,types:c,domain:u,...d}=e,l=lm({message:s,primaryType:a,types:c,domain:u});return R(t,Yo,"verifyHash")({address:r,factory:n,factoryData:o,hash:l,signature:i,...d})}gr();Mf();yt();qe();yt();function Dm(t,{emitOnBegin:e=!1,emitMissed:r=!1,onBlockNumber:n,onError:o,poll:i,pollingInterval:s=t.pollingInterval}){let a=typeof i<"u"?i:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),c;return a?(()=>{let l=re(["watchBlockNumber",t.uid,e,r,s]);return It(l,{onBlockNumber:n,onError:o},p=>wr(async()=>{try{let f=await R(t,bn,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(f===c)return;if(f-c>1&&r)for(let g=c+1n;g<f;g++)p.onBlockNumber(g,c),c=g}(c===void 0||f>c)&&(p.onBlockNumber(f,c),c=f)}catch(f){p.onError?.(f)}},{emitOnBegin:e,interval:s}))})():(()=>{let l=re(["watchBlockNumber",t.uid,e,r]);return It(l,{onBlockNumber:n,onError:o},p=>{let f=!0,g=()=>f=!1;return(async()=>{try{let m=(()=>{if(t.transport.type==="fallback"){let b=t.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return b?b.value:t.transport}return t.transport})(),{unsubscribe:h}=await m.subscribe({params:["newHeads"],onData(b){if(!f)return;let w=Ce(b.result?.number);p.onBlockNumber(w,c),c=w},onError(b){p.onError?.(b)}});g=h,f||g()}catch(m){o?.(m)}})(),()=>g()})})()}async function Mm(t,e){let{checkReplacement:r=!0,confirmations:n=1,hash:o,onReplaced:i,retryCount:s=6,retryDelay:a=({count:I})=>~~(1<<I)*200,timeout:c=18e4}=e,u=re(["waitForTransactionReceipt",t.uid,o]),d=e.pollingInterval?e.pollingInterval:t.chain?.experimental_preconfirmationTime?t.chain.experimental_preconfirmationTime:t.pollingInterval,l,p,f,g=!1,m,h,{promise:b,resolve:w,reject:x}=rc(),y=c?setTimeout(()=>{h?.(),m?.(),x(new Vp({hash:o}))},c):void 0;return m=It(u,{onReplaced:i,resolve:w,reject:x},async I=>{if(f=await R(t,pc,"getTransactionReceipt")({hash:o}).catch(()=>{}),f&&n<=1){clearTimeout(y),I.resolve(f),m?.();return}h=R(t,Dm,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:d,async onBlockNumber(S){let A=N=>{clearTimeout(y),h?.(),N(),m?.()},P=S;if(!g)try{if(f){if(n>1&&(!f.blockNumber||P-f.blockNumber+1n<n))return;A(()=>I.resolve(f));return}if(r&&!l&&(g=!0,await bs(async()=>{l=await R(t,lc,"getTransaction")({hash:o}),l.blockNumber&&(P=l.blockNumber)},{delay:a,retryCount:s}),g=!1),f=await R(t,pc,"getTransactionReceipt")({hash:o}),n>1&&(!f.blockNumber||P-f.blockNumber+1n<n))return;A(()=>I.resolve(f))}catch(N){if(N instanceof Aa||N instanceof Pa){if(!l){g=!1;return}try{p=l,g=!0;let T=await bs(()=>R(t,tt,"getBlock")({blockNumber:P,includeTransactions:!0}),{delay:a,retryCount:s,shouldRetry:({error:F})=>F instanceof ja});g=!1;let D=T.transactions.find(({from:F,nonce:z})=>F===p.from&&z===p.nonce);if(!D||(f=await R(t,pc,"getTransactionReceipt")({hash:D.hash}),n>1&&(!f.blockNumber||P-f.blockNumber+1n<n)))return;let O="replaced";D.to===p.to&&D.value===p.value&&D.input===p.input?O="repriced":D.from===D.to&&D.value===0n&&(O="cancelled"),A(()=>{I.onReplaced?.({reason:O,replacedTransaction:p,transaction:D,transactionReceipt:f}),I.resolve(f)})}catch(T){A(()=>I.reject(T))}}else A(()=>I.reject(N))}}})}),b}yt();function LS(t,{blockTag:e=t.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:o,onError:i,includeTransactions:s,poll:a,pollingInterval:c=t.pollingInterval}){let u=typeof a<"u"?a:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),d=s??!1,l;return u?(()=>{let g=re(["watchBlocks",t.uid,e,r,n,d,c]);return It(g,{onBlock:o,onError:i},m=>wr(async()=>{try{let h=await R(t,tt,"getBlock")({blockTag:e,includeTransactions:d});if(h.number!==null&&l?.number!=null){if(h.number===l.number)return;if(h.number-l.number>1&&r)for(let b=l?.number+1n;b<h.number;b++){let w=await R(t,tt,"getBlock")({blockNumber:b,includeTransactions:d});m.onBlock(w,l),l=w}}(l?.number==null||e==="pending"&&h?.number==null||h.number!==null&&h.number>l.number)&&(m.onBlock(h,l),l=h)}catch(h){m.onError?.(h)}},{emitOnBegin:n,interval:c}))})():(()=>{let g=!0,m=!0,h=()=>g=!1;return(async()=>{try{n&&R(t,tt,"getBlock")({blockTag:e,includeTransactions:d}).then(x=>{g&&m&&(o(x,void 0),m=!1)}).catch(i);let b=(()=>{if(t.transport.type==="fallback"){let x=t.transport.transports.find(y=>y.config.type==="webSocket"||y.config.type==="ipc");return x?x.value:t.transport}return t.transport})(),{unsubscribe:w}=await b.subscribe({params:["newHeads"],async onData(x){if(!g)return;let y=await R(t,tt,"getBlock")({blockNumber:x.result?.number,includeTransactions:d}).catch(()=>{});g&&(o(y,l),m=!1,l=y)},onError(x){i?.(x)}});h=w,g||h()}catch(b){i?.(b)}})(),()=>h()})()}De();Zi();yt();function kS(t,{address:e,args:r,batch:n=!0,event:o,events:i,fromBlock:s,onError:a,onLogs:c,poll:u,pollingInterval:d=t.pollingInterval,strict:l}){let p=typeof u<"u"?u:typeof s=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),f=l??!1;return p?(()=>{let h=re(["watchEvent",e,r,n,t.uid,o,d,s]);return It(h,{onLogs:c,onError:a},b=>{let w;s!==void 0&&(w=s-1n);let x,y=!1,I=wr(async()=>{if(!y){try{x=await R(t,tm,"createEventFilter")({address:e,args:r,event:o,events:i,strict:f,fromBlock:s})}catch{}y=!0;return}try{let S;if(x)S=await R(t,Go,"getFilterChanges")({filter:x});else{let A=await R(t,bn,"getBlockNumber")({});w&&w!==A?S=await R(t,Ka,"getLogs")({address:e,args:r,event:o,events:i,fromBlock:w+1n,toBlock:A}):S=[],w=A}if(S.length===0)return;if(n)b.onLogs(S);else for(let A of S)b.onLogs([A])}catch(S){x&&S instanceof rr&&(y=!1),b.onError?.(S)}},{emitOnBegin:!0,interval:d});return async()=>{x&&await R(t,Vo,"uninstallFilter")({filter:x}),I()}})})():(()=>{let h=!0,b=()=>h=!1;return(async()=>{try{let w=(()=>{if(t.transport.type==="fallback"){let S=t.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return S?S.value:t.transport}return t.transport})(),x=i??(o?[o]:void 0),y=[];x&&(y=[x.flatMap(A=>sn({abi:[A],eventName:A.name,args:r}))],o&&(y=y[0]));let{unsubscribe:I}=await w.subscribe({params:["logs",{address:e,topics:y}],onData(S){if(!h)return;let A=S.result;try{let{eventName:P,args:N}=ds({abi:x??[],data:A.data,topics:A.topics,strict:f}),T=rt(A,{args:N,eventName:P});c([T])}catch(P){let N,T;if(P instanceof $n||P instanceof Eo){if(l)return;N=P.abiItem.name,T=P.abiItem.inputs?.some(O=>!("name"in O&&O.name))}let D=rt(A,{args:T?[]:{},eventName:N});c([D])}},onError(S){a?.(S)}});b=I,h||b()}catch(w){a?.(w)}})(),()=>b()})()}yt();function DS(t,{batch:e=!0,onError:r,onTransactions:n,poll:o,pollingInterval:i=t.pollingInterval}){return(typeof o<"u"?o:t.transport.type!=="webSocket"&&t.transport.type!=="ipc")?(()=>{let u=re(["watchPendingTransactions",t.uid,e,i]);return It(u,{onTransactions:n,onError:r},d=>{let l,p=wr(async()=>{try{if(!l)try{l=await R(t,rm,"createPendingTransactionFilter")({});return}catch(g){throw p(),g}let f=await R(t,Go,"getFilterChanges")({filter:l});if(f.length===0)return;if(e)d.onTransactions(f);else for(let g of f)d.onTransactions([g])}catch(f){d.onError?.(f)}},{emitOnBegin:!0,interval:i});return async()=>{l&&await R(t,Vo,"uninstallFilter")({filter:l}),p()}})})():(()=>{let u=!0,d=()=>u=!1;return(async()=>{try{let{unsubscribe:l}=await t.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!u)return;let f=p.result;n([f])},onError(p){r?.(p)}});d=l,u||d()}catch(l){r?.(l)}})(),()=>d()})()}function MS(t){let{scheme:e,statement:r,...n}=t.match(bR)?.groups??{},{chainId:o,expirationTime:i,issuedAt:s,notBefore:a,requestId:c,...u}=t.match(xR)?.groups??{},d=t.split("Resources:")[1]?.split(`
|
|
44
|
+
- `).slice(1);return{...n,...u,...o?{chainId:Number(o)}:{},...i?{expirationTime:new Date(i)}:{},...s?{issuedAt:new Date(s)}:{},...a?{notBefore:new Date(a)}:{},...c?{requestId:c}:{},...d?{resources:d}:{},...e?{scheme:e}:{},...r?{statement:r}:{}}}var bR=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,xR=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;Ut();us();function OS(t){let{address:e,domain:r,message:n,nonce:o,scheme:i,time:s=new Date}=t;if(r&&n.domain!==r||o&&n.nonce!==o||i&&n.scheme!==i||n.expirationTime&&s>=n.expirationTime||n.notBefore&&s<n.notBefore)return!1;try{if(!n.address||!Z(n.address,{strict:!1})||e&&!cr(n.address,e))return!1}catch{return!1}return!0}async function FS(t,e){let{address:r,domain:n,message:o,nonce:i,scheme:s,signature:a,time:c=new Date,...u}=e,d=MS(o);if(!d.address||!OS({address:r,domain:n,message:d,nonce:i,scheme:s,time:c}))return!1;let p=Qo(o);return Yo(t,{address:d.address,hash:p,signature:a,...u})}gr();async function mc(t,{serializedTransaction:e,throwOnReceiptRevert:r,timeout:n}){let o=await t.request({method:"eth_sendRawTransactionSync",params:n?[e,n]:[e]},{retryCount:0}),s=(t.chain?.formatters?.transactionReceipt?.format||zf)(o);if(s.status==="reverted"&&r)throw new Ea({receipt:s});return s}function jS(t){return{call:e=>xr(t,e),createAccessList:e=>em(t,e),createBlockFilter:()=>II(t),createContractEventFilter:e=>Bp(t,e),createEventFilter:e=>tm(t,e),createPendingTransactionFilter:()=>rm(t),estimateContractGas:e=>h2(t,e),estimateGas:e=>Va(t,e),getBalance:e=>SI(t,e),getBlobBaseFee:()=>vI(t),getBlock:e=>tt(t,e),getBlockNumber:e=>bn(t,e),getBlockTransactionCount:e=>AI(t,e),getBytecode:e=>xs(t,e),getChainId:()=>xt(t),getCode:e=>xs(t,e),getContractEvents:e=>hf(t,e),getDelegation:e=>PI(t,e),getEip712Domain:e=>EI(t,e),getEnsAddress:e=>pI(t,e),getEnsAvatar:e=>bI(t,e),getEnsName:e=>xI(t,e),getEnsResolver:e=>wI(t,e),getEnsText:e=>Xf(t,e),getFeeHistory:e=>CI(t,e),estimateFeesPerGas:e=>l2(t,e),getFilterChanges:e=>Go(t,e),getFilterLogs:e=>RI(t,e),getGasPrice:()=>_a(t),getLogs:e=>Ka(t,e),getProof:e=>bS(t,e),estimateMaxPriorityFeePerGas:e=>d2(t,e),fillTransaction:e=>Ga(t,e),getStorageAt:e=>xS(t,e),getTransaction:e=>lc(t,e),getTransactionConfirmations:e=>wS(t,e),getTransactionCount:e=>za(t,e),getTransactionReceipt:e=>pc(t,e),multicall:e=>IS(t,e),prepareTransactionRequest:e=>mn(t,e),readContract:e=>He(t,e),sendRawTransaction:e=>oc(t,e),sendRawTransactionSync:e=>mc(t,e),simulate:e=>ld(t,e),simulateBlocks:e=>ld(t,e),simulateCalls:e=>CS(t,e),simulateContract:e=>iI(t,e),verifyHash:e=>Yo(t,e),verifyMessage:e=>NS(t,e),verifySiweMessage:e=>FS(t,e),verifyTypedData:e=>BS(t,e),uninstallFilter:e=>Vo(t,e),waitForTransactionReceipt:e=>Mm(t,e),watchBlocks:e=>LS(t,e),watchBlockNumber:e=>Dm(t,e),watchContractEvent:e=>uI(t,e),watchEvent:e=>kS(t,e),watchPendingTransactions:e=>DS(t,e)}}function db(t){let{key:e="public",name:r="Public Client"}=t;return Kf({...t,key:e,name:r,type:"publicClient"}).extend(jS)}H();async function US(t,{chain:e}){let{id:r,name:n,nativeCurrency:o,rpcUrls:i,blockExplorers:s}=e;await t.request({method:"wallet_addEthereumChain",params:[{chainId:E(r),chainName:n,nativeCurrency:o,rpcUrls:i.default.http,blockExplorerUrls:s?Object.values(s).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}kf();function _S(t,e){let{abi:r,args:n,bytecode:o,...i}=e,s=ms({abi:r,args:n,bytecode:o});return qo(t,{...i,...i.authorizationList?{to:null}:{},data:s})}nn();async function zS(t){return t.account?.type==="local"?[t.account.address]:(await t.request({method:"eth_accounts"},{dedupe:!0})).map(r=>rn(r))}Ne();H();async function $S(t,e={}){let{account:r=t.account,chainId:n}=e,o=r?q(r):void 0,i=n?[o?.address,[E(n)]]:[o?.address],s=await t.request({method:"wallet_getCapabilities",params:i}),a={};for(let[c,u]of Object.entries(s)){a[Number(c)]={};for(let[d,l]of Object.entries(u))d==="addSubAccount"&&(d="unstable_addSubAccount"),a[Number(c)][d]=l}return typeof n=="number"?a[n]:a}async function HS(t){return await t.request({method:"wallet_getPermissions"},{dedupe:!0})}Ne();us();async function Om(t,e){let{account:r=t.account,chainId:n,nonce:o}=e;if(!r)throw new ot({docsPath:"/docs/eip7702/prepareAuthorization"});let i=q(r),s=(()=>{if(e.executor)return e.executor==="self"?e.executor:q(e.executor)})(),a={address:e.contractAddress??e.address,chainId:n,nonce:o};return typeof a.chainId>"u"&&(a.chainId=t.chain?.id??await R(t,xt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await R(t,za,"getTransactionCount")({address:i.address,blockTag:"pending"}),(s==="self"||s?.address&&cr(s.address,i.address))&&(a.nonce+=1)),a}nn();async function WS(t){return(await t.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>Re(r))}async function GS(t,e){return t.request({method:"wallet_requestPermissions",params:[e]},{retryCount:0})}async function VS(t,e){let{chain:r=t.chain}=e,n=e.timeout??Math.max((r?.blockTime??0)*3,5e3),o=await R(t,$f,"sendCalls")(e);return await R(t,Wf,"waitForCallsStatus")({...e,id:o.id,timeout:n})}Ne();K();gr();ut();cs();uo();Ti();fn();var lb=new jt(128);async function Fm(t,e){let{account:r=t.account,assertChainId:n=!0,chain:o=t.chain,accessList:i,authorizationList:s,blobs:a,data:c,dataSuffix:u=typeof t.dataSuffix=="string"?t.dataSuffix:t.dataSuffix?.value,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,pollingInterval:h,throwOnReceiptRevert:b,type:w,value:x,...y}=e,I=e.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new ot({docsPath:"/docs/actions/wallet/sendTransactionSync"});let S=r?q(r):null;try{et(e);let A=await(async()=>{if(e.to)return e.to;if(e.to!==null&&s&&s.length>0)return await Uo({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(S?.type==="json-rpc"||S===null){let P;o!==null&&(P=await R(t,xt,"getChainId")({}),n&&nc({currentChainId:P,chain:o}));let N=t.chain?.formatters?.transactionRequest?.format,D=(N||bt)({...yr(y,{format:N}),accessList:i,account:S,authorizationList:s,blobs:a,chainId:P,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,to:A,type:w,value:x},"sendTransaction"),O=lb.get(t.uid),F=O?"wallet_sendTransaction":"eth_sendTransaction",z=await(async()=>{try{return await t.request({method:F,params:[D]},{retryCount:0})}catch(L){if(O===!1)throw L;let j=L;if(j.name==="InvalidInputRpcError"||j.name==="InvalidParamsRpcError"||j.name==="MethodNotFoundRpcError"||j.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[D]},{retryCount:0}).then(M=>(lb.set(t.uid,!0),M)).catch(M=>{let U=M;throw U.name==="MethodNotFoundRpcError"||U.name==="MethodNotSupportedRpcError"?(lb.set(t.uid,!1),j):U});throw j}})(),B=await R(t,Mm,"waitForTransactionReceipt")({checkReplacement:!1,hash:z,pollingInterval:h,timeout:I});if(b&&B.status==="reverted")throw new Ea({receipt:B});return B}if(S?.type==="local"){let P=await R(t,mn,"prepareTransactionRequest")({account:S,accessList:i,authorizationList:s,blobs:a,chain:o,data:u?be([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:p,maxFeePerGas:f,maxPriorityFeePerGas:g,nonce:m,nonceManager:S.nonceManager,parameters:[...Hu,"sidecars"],type:w,value:x,...y,to:A}),N=o?.serializers?.transaction,T=await S.signTransaction(P,{serializer:N});return await R(t,mc,"sendRawTransactionSync")({serializedTransaction:T,throwOnReceiptRevert:b,timeout:e.timeout})}throw S?.type==="smart"?new Ir({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ir({docsPath:"/docs/actions/wallet/sendTransactionSync",type:S?.type})}catch(A){throw A instanceof Ir?A:$o(A,{...e,account:S,chain:e.chain||void 0})}}async function qS(t,e){let{id:r}=e;await t.request({method:"wallet_showCallsStatus",params:[r]})}Ne();async function KS(t,e){let{account:r=t.account}=e;if(!r)throw new ot({docsPath:"/docs/eip7702/signAuthorization"});let n=q(r);if(!n.signAuthorization)throw new Ir({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});let o=await Om(t,e);return n.signAuthorization(o)}Ne();H();async function QS(t,{account:e=t.account,message:r}){if(!e)throw new ot({docsPath:"/docs/actions/wallet/signMessage"});let n=q(e);if(n.signMessage)return n.signMessage({message:r});let o=typeof r=="string"?Yt(r):r.raw instanceof Uint8Array?Ae(r.raw):r.raw;return t.request({method:"personal_sign",params:[o,n.address]},{retryCount:0})}Ne();H();uo();fn();async function ZS(t,e){let{account:r=t.account,chain:n=t.chain,...o}=e;if(!r)throw new ot({docsPath:"/docs/actions/wallet/signTransaction"});let i=q(r);et({account:i,...e});let s=await R(t,xt,"getChainId")({});n!==null&&nc({currentChainId:s,chain:n});let c=(n?.formatters||t.chain?.formatters)?.transactionRequest?.format||bt;return i.signTransaction?i.signTransaction({...o,account:i,chainId:s},{serializer:t.chain?.serializers?.transaction}):await t.request({method:"eth_signTransaction",params:[{...c({...o,account:i},"signTransaction"),chainId:E(s),from:i.address}]},{retryCount:0})}Ne();async function JS(t,e){let{account:r=t.account,domain:n,message:o,primaryType:i}=e;if(!r)throw new ot({docsPath:"/docs/actions/wallet/signTypedData"});let s=q(r),a={EIP712Domain:dm({domain:n}),...e.types};if(um({domain:n,message:o,primaryType:i,types:a}),s.signTypedData)return s.signTypedData({domain:n,message:o,primaryType:i,types:a});let c=WI({domain:n,message:o,primaryType:i,types:a});return t.request({method:"eth_signTypedData_v4",params:[s.address,c]},{retryCount:0})}H();async function YS(t,{id:e}){await t.request({method:"wallet_switchEthereumChain",params:[{chainId:E(e)}]},{retryCount:0})}async function XS(t,e){return await t.request({method:"wallet_watchAsset",params:e},{retryCount:0})}async function ev(t,e){return hs.internal(t,Fm,"sendTransactionSync",e)}function tv(t){return{addChain:e=>US(t,e),deployContract:e=>_S(t,e),fillTransaction:e=>Ga(t,e),getAddresses:()=>zS(t),getCallsStatus:e=>Hf(t,e),getCapabilities:e=>$S(t,e),getChainId:()=>xt(t),getPermissions:()=>HS(t),prepareAuthorization:e=>Om(t,e),prepareTransactionRequest:e=>mn(t,e),requestAddresses:()=>WS(t),requestPermissions:e=>GS(t,e),sendCalls:e=>$f(t,e),sendCallsSync:e=>VS(t,e),sendRawTransaction:e=>oc(t,e),sendRawTransactionSync:e=>mc(t,e),sendTransaction:e=>qo(t,e),sendTransactionSync:e=>Fm(t,e),showCallsStatus:e=>qS(t,e),signAuthorization:e=>KS(t,e),signMessage:e=>QS(t,e),signTransaction:e=>ZS(t,e),signTypedData:e=>JS(t,e),switchChain:e=>YS(t,e),waitForCallsStatus:e=>Wf(t,e),watchAsset:e=>XS(t,e),writeContract:e=>hs(t,e),writeContractSync:e=>ev(t,e)}}function As(t){let{key:e="wallet",name:r="Wallet Client",transport:n}=t;return Kf({...t,key:e,name:r,transport:n,type:"walletClient"}).extend(tv)}function jm({key:t,methods:e,name:r,request:n,retryCount:o=3,retryDelay:i=150,timeout:s,type:a},c){let u=qf();return{config:{key:t,methods:e,name:r,request:n,retryCount:o,retryDelay:i,timeout:s,type:a},request:UI(n,{methods:e,retryCount:o,retryDelay:i,uid:u}),value:c}}function md(t,e={}){let{key:r="custom",methods:n,name:o="Custom Provider",retryDelay:i}=e;return({retryCount:s})=>jm({key:r,methods:n,name:o,request:t.request.bind(t),retryCount:e.retryCount??s,retryDelay:i,type:"custom"})}ko();K();var Um=class extends v{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};y0();function gd(t,e={}){let{batch:r,fetchFn:n,fetchOptions:o,key:i="http",methods:s,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:u,retryDelay:d,raw:l}=e;return({chain:p,retryCount:f,timeout:g})=>{let{batchSize:m=1e3,wait:h=0}=typeof r=="object"?r:{},b=e.retryCount??f,w=g??e.timeout??1e4,x=t||p?.rpcUrls.default.http[0];if(!x)throw new Um;let y=zI(x,{fetchFn:n,fetchOptions:o,onRequest:c,onResponse:u,timeout:w});return jm({key:i,methods:s,name:a,async request({method:I,params:S}){let A={method:I,params:S},{schedule:P}=Of({id:x,wait:h,shouldSplitBatch(O){return O.length>m},fn:O=>y.request({body:O}),sort:(O,F)=>O.id-F.id}),N=async O=>r?P(O):[await y.request({body:O})],[{error:T,result:D}]=await N(A);if(l)return{error:T,result:D};if(T)throw new Zn({body:A,error:T,url:x});return D},retryCount:b,retryDelay:d,timeout:w,type:"http"},{fetchOptions:o,url:x})}}K();Qn();co();ko();Zi();Ct();nn();Ut();Zt();qe();ze();H();er();Ru();var wR="https://arweave.net",_m=(t,e)=>e?`${t.replace(/\/+$/,"")}/${e}`:void 0;function zm(t,e,r=wR){let n=[];for(let[o,i]of Object.entries(t.objects??{})){let s=i[e];s&&n.push({objectType:Number(o),slimUrl:_m(r,s.slim?.[0]),extendedUrl:_m(r,s.extended?.[0]),provUrl:_m(r,s.prov?.[0]),searchUrls:(s.search??[]).map(a=>_m(r,a))})}return n}var IR="dcode_registry_cache_v3_";async function rv(t){let e=new TextEncoder().encode(JSON.stringify(t)),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(n=>n.toString(16).padStart(2,"0")).join("")}var $m="https://registry.worldbibliotech.com";function mb(t){$m=t.replace(/\/+$/,"")}function gb(){return $m}var pb=class{async get(e){try{let r=localStorage.getItem(e);return r?JSON.parse(r):null}catch{return null}}async set(e,r){try{localStorage.setItem(e,JSON.stringify(r))}catch(n){console.warn("[RegistryLoader] Failed to save to localStorage:",n)}}},fb=class{async get(){return null}async set(){}},nv=["node","fs/promises"].join(":"),ov=["node","path"].join(":");function sv(){return globalThis[["proc","ess"].join("")]}var Ps=class{constructor(e=`${sv()?.cwd()??"."}/.dcode-registry-cache`){this.cacheDir=e}async filePath(e){let{join:r}=await import(ov);return r(this.cacheDir,`${e.replace(/[^a-zA-Z0-9_.-]/g,"_")}.json`)}async get(e){try{let n=await(await import(nv)).readFile(await this.filePath(e),"utf-8");return JSON.parse(n)}catch{return null}}async set(e,r){try{let n=await import(nv),o=await this.filePath(e),{dirname:i}=await import(ov);await n.mkdir(i(o),{recursive:!0}),await n.writeFile(o,JSON.stringify(r),"utf-8")}catch(n){console.warn("[RegistryLoader] Failed to save Node file cache:",n)}}};function yb(t){return new Ps(t)}function SR(){return typeof localStorage<"u"?new pb:sv()?.versions?.node?new Ps:new fb}var iv="1-datapond-eng",gc=class{constructor(e){this.memoryCache=new Map;this.listeners=new Set;this.loadingStatuses=new Map;this.manifestPromises=new Map;this.loadedManifests=new Map;this.abiSyncPromises=new Map;this.defered={};this.storage=e??SR()}setStorage(e){this.storage=e}async fetchAbiFromRegistry(e){let r=`${$m}/abis/evm/${e}.json`;try{let n=await fetch(r);if(n.ok){let o=await n.json();return console.log(`[RegistryLoader] Fetched ABI: ${e}`),o}console.error(`[RegistryLoader] ABI fetch failed for ${e}: ${n.status}`)}catch(n){console.warn(`[RegistryLoader] Failed to fetch ABI for ${e}:`,n)}return null}async checkOnChainAbiAnchor(e,r,n){try{let[,o]=await e.getLatestBlobRef(`abi:${r}`);return o.toLowerCase().replace(/^0x/,"")===n.toLowerCase()?"match":"mismatch"}catch{return"no-anchor"}}async syncAbis(e,r,n){let o=this.getCacheKey(e,r),i=this.memoryCache.get(o);if(!i)return;let s=String(e),a=n.networks.evm?.[s];if(!a)return;let c=!1;await Promise.all(Object.entries(a.contracts).map(async([u,d])=>{if(!d.abiHash)return;let l=u.toLowerCase(),p=i.entries[l];if(p?.abiHash===d.abiHash&&p?.abi)return;let f=await this.fetchAbiFromRegistry(u);if(!f||!i.entries[l])return;let g=await rv(f);if(g!==d.abiHash){console.error(`[RegistryLoader] ABI integrity check FAILED for ${u} (evm:${e}/${r}): fetched bytes hash to ${g}, manifest declares ${d.abiHash}. Discarding fetched ABI and keeping whatever was previously cached (if anything) rather than trusting mismatched bytes.`);return}i.entries[l].abi=f,i.entries[l].abiHash=g,c=!0})),c&&(i.timestamp=Date.now(),await this.storage.set(o,i))}async performSync(e,r,n,o,i="production"){let s=this.getCacheKey(e,i),a=Date.now();try{let c=await r.getAllContractNames();console.log(`[RegistryLoader] performSync: ${c.length} contracts for evm:${e}`);let u={total:c.length,loaded:0,contracts:c.map(g=>({name:g,status:"pending"}))};this.notify(e,u);let d={},l={};await Promise.all(c.map(async g=>{let m=u.contracts.find(h=>h.name===g);m.status="loading",this.notify(e,{...u});try{let[h,b]=await r.getLatestContract(g),w=i==="staging"?"_staging":"_production",x=g.endsWith(w)?g.slice(0,-w.length):g,y=x.toLowerCase(),I=x.charAt(0).toLowerCase()+x.slice(1),S=null,A="",P;n?.entries[y]?.txId===b&&n.entries[y].abi?(S=n.entries[y].abi,A=n.entries[y].abiHash,P="cache"):(S=await this.fetchAbiFromRegistry(x),A=S?await rv(S):"",S&&await this.checkOnChainAbiAnchor(r,x,A)==="mismatch"&&(console.error(`[RegistryLoader] ABI integrity check FAILED for ${x} (evm:${e}): fetched bytes hash to ${A}, which does not match the on-chain anchor registered for "abi:${x}". Refusing to use this ABI.`),S=null,A=""),P="arweave"),d[y]={address:h,abi:S,txId:b,abiHash:A,originalName:x},l[I]=h,m.status="loaded",m.address=h,m.abiUrl=b,m.source=P}catch(h){console.warn(`[RegistryLoader] Failed to sync ${g} for evm:${e}:`,h),m.status="error"}finally{u.loaded++,this.notify(e,{...u})}}));let f={timestamp:u.contracts.some(g=>g.status==="error")?n?.timestamp??0:a,entries:d};return this.memoryCache.set(s,f),await this.storage.set(s,f),o(!0),l}catch(c){throw console.error(`[RegistryLoader] performSync failed for evm:${e}:`,c),c}}getCacheKey(e,r="production"){return`${IR}evm_${e}${r==="staging"?"_staging":""}`}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notify(e,r){let n=`evm:${e}`;this.loadingStatuses.set(n,r),this.listeners.forEach(o=>o(e,r))}getLoadingStatus(e){return this.loadingStatuses.get(`evm:${e}`)}seedDefaults(e,r="production"){}manifestUrl(e){return`${$m}/${e}/manifest.json`}getLoadedManifest(e){return this.loadedManifests.get(e)??null}async loadManifest(e="production"){let r=this.manifestPromises.get(e);if(r)return r;let n=this.manifestUrl(e),o=(async()=>{console.log(`[RegistryLoader] Fetching manifest: ${n}`);let i;try{i=await fetch(n,{cache:"default"})}catch(a){throw new Error(`Registry manifest network error (${n}): ${a?.message||a}`)}if(!i.ok)throw new Error(`Registry manifest fetch failed (${i.status} ${i.statusText}) at ${n}`);let s;try{s=await i.json()}catch(a){throw new Error(`Registry manifest JSON parse failed at ${n}: ${a?.message||a}`)}if(!s?.networks?.evm)throw new Error(`Registry manifest at ${n} missing networks.evm`);this.loadedManifests.set(e,s),await this.populateFromManifest(s,e),console.log(`[RegistryLoader] Manifest loaded (${Object.keys(s.networks.evm).length} chains, generatedAt ${s.generatedAt})`);for(let a of Object.keys(s.networks.evm||{})){let c=this.getCacheKey(a,e),u=this.syncAbis(a,e,s).catch(d=>console.warn(`[RegistryLoader] ABI sync failed for ${a}:`,d));this.abiSyncPromises.set(c,u),u.finally(()=>{this.abiSyncPromises.get(c)===u&&this.abiSyncPromises.delete(c)})}return s})();return this.manifestPromises.set(e,o),o.catch(()=>this.manifestPromises.delete(e)),o}async populateFromManifest(e,r){let n=e.networks.evm||{},o=Date.now();for(let[i,s]of Object.entries(n)){let a=this.getCacheKey(i,r),c={},u=[],d=await this.storage.get(a)??this.memoryCache.get(a);for(let[p,f]of Object.entries(s.contracts||{})){let g=p.toLowerCase(),m=d?.entries[g],h=f.abiHash&&m?.abiHash===f.abiHash&&m?.abi;c[g]={address:f.address||"",abi:h?m.abi:null,txId:m?.txId||"",abiHash:f.abiHash||m?.abiHash||"",originalName:p},u.push({name:p,status:"loaded",address:f.address,source:"manifest"})}let l={timestamp:o,entries:c};this.memoryCache.set(a,l),this.notify(i,{total:u.length,loaded:u.length,contracts:u})}}addressesFromCache(e){let r={};for(let n of Object.values(e.entries)){if(!n.address)continue;let o=n.originalName.charAt(0).toLowerCase()+n.originalName.slice(1);r[o]=n.address}return r}async loadAllKeys(e,r="production"){try{await this.loadManifest(r)}catch{}let n=this.getCacheKey(e,r),o=this.memoryCache.get(n);if(o||(o=await this.storage.get(n)??void 0,o&&this.memoryCache.set(n,o)),!o)throw new Error(`No registry data found for evm:${e} (env: ${r})`);return this.addressesFromCache(o)}async Initialize(e,r,n,o=!1,i="production"){try{await this.loadManifest(i);let l=await this.loadAllKeys(e,i);if(Object.keys(l).length>0)return l}catch(l){console.warn(`[RegistryLoader] Manifest load failed for evm:${e}, falling back to on-chain sync:`,l)}if(!r)throw new Error(`[RegistryLoader] No manifest data for evm:${e} and no on-chain registry API to fall back to`);let s=`${e}-${i}`,a=this.getCacheKey(e,i),c=this.memoryCache.get(a)??await this.storage.get(a),u=c?this.addressesFromCache(c):{};if(!this.defered[s]){let l;this.defered[s]=new Promise(p=>{l=p}),this.performSync(e,r,c,l,i).catch(()=>l(!0)).finally(()=>{delete this.defered[s]})}if(o)return u;await this.defered[s];let d=this.memoryCache.get(a);return d?this.addressesFromCache(d):u}getAddress(e,r,n="production"){let o=this.getCacheKey(e,n);return this.memoryCache.get(o)?.entries[r.toLowerCase()]?.address||void 0}getAbi(e,r,n="production"){let o=this.getCacheKey(e,n);return this.memoryCache.get(o)?.entries[r.toLowerCase()]?.abi}getData(e,r,n="production"){}sidecarUrlsForManifest(e="production",r="eng",n="https://arweave.net"){let o=this.getCollectionCorpus(e);return o?zm(o,r,n):[]}getAvailableCollections(e="production"){let r=this.getLoadedManifest(e)?.collections;return r?Object.entries(r).map(([n,o])=>({key:n,id:o.id,slug:o.slug,language:o.language,dSafeBookCount:o.dSafeBookCount,library:o.library})):[]}getCollectionCorpus(e="production",r=iv){return this.getLoadedManifest(e)?.collections?.[r]?.corpus}getCollectionProvenance(e="production",r=iv){return this.getLoadedManifest(e)?.collections?.[r]?.provenance}async waitForAbis(e,r="production"){let n=this.getCacheKey(e,r),o=this.abiSyncPromises.get(n);if(o){await o;return}let i=this.getLoadedManifest(r);i&&await this.syncAbis(e,r,i)}},xe=new gc;function hb(t,e,r="production"){return xe.getAbi(t,e,r)}function Xo(t){return N0({id:t.chainId,name:t.name,nativeCurrency:{name:t.symbol,symbol:t.symbol,decimals:t.decimals||18},rpcUrls:{default:{http:[t.rpc]},public:{http:[t.rpc]}}})}var Ab={};vt(Ab,{APPLICATION_ENVIRONMENTS:()=>Hm,BACKEND_ENVIRONMENTS:()=>cv,BRAND_LOGOS:()=>bb,CANONICAL:()=>av,CANONICAL_CHAIN_IDS:()=>Vm,DEFAULT_CHAIN_ID:()=>bd,DEFAULT_DEV_CHAIN_ID:()=>BR,DEFAULT_STAGING_CHAIN_ID:()=>NR,EVM_CHAINS:()=>yd,MEMBERSHIP_TIERS:()=>ER,NETWORKS:()=>Wm,SITE_CONTACTS:()=>xb,STRIPE_ENVIRONMENTS:()=>uv,ShortNames:()=>Es,getApplicationEnvironmentConfig:()=>Ib,getBackendConfig:()=>PR,getCanonicalChainId:()=>wb,getCanonicalRole:()=>yc,getCanonicalTarget:()=>vb,getChain:()=>dr,getDeploymentEnvironment:()=>Gm,getSiteContact:()=>AR,getStripeConfig:()=>TR,isChainDeployedForRole:()=>hd,resolveApplicationEnvironment:()=>Sb});var Es={SONIC:"SONIC",SONIC_BLAZE:"SONIC_BLAZE",GNOSIS:"GNOSIS",CHIADO:"CHIADO"},Wm={[Es.SONIC_BLAZE]:{enabled:!1,chainId:14601,main:!1,symbol:"S",shortName:"WATER",original:"Sonic TestNet",faucet:"https://testnet.soniclabs.com/account",faucetAmount:1,decimals:18,brand:"SONIC",pyth:"0x2880aB155794e7179c9eE2e38200202908C17B43",pythUsdPriceId:"0xf490b178d0c85683b7a0f2388b40af2e6f7c90cbe0f96b31f315f08d0e5a2d6d",website:"https://soniclabs.com/",rpc:"https://rpc.testnet.soniclabs.com/",explorer:"https://testnet.sonicscan.org",name:"Sonic Blaze",memberFundingTarget:"1",staffFundingTarget:"0.5",verifyApi:{kind:"etherscan",url:"https://api.testnet.sonicscan.org/api"}},[Es.SONIC]:{enabled:!1,chainId:146,main:!0,symbol:"S",shortName:"TREE",original:"Sonic MainNet",decimals:18,brand:"SONIC",pyth:"0x2b9Bb0042dB2F30650d73BB83CBAE584807d2FE4",pythUsdPriceId:"0xf490b178d0c85683b7a0f2388b40af2e6f7c90cbe0f96b31f315f08d0e5a2d6d",website:"https://soniclabs.com/",rpc:"https://rpc.soniclabs.com",explorer:"https://sonicscan.org",name:"Sonic",memberFundingTarget:"1",staffFundingTarget:"0.5",verifyApi:{kind:"etherscan",url:"https://api.sonicscan.org/api"}},[Es.GNOSIS]:{enabled:!0,chainId:100,main:!0,symbol:"XDAI",brand:"GNOSIS",decimals:18,explorer:"https://gnosisscan.io",name:"Gnosis",original:"Gnosis Mainnet",pyth:"",pythUsdPriceId:"",rpc:"https://rpc.gnosischain.com",shortName:"TREE",website:"https://www.gnosis.io/",memberFundingTarget:"0.02",staffFundingTarget:"0.01",verifyApi:{kind:"blockscout",url:"https://gnosisscan.io/api"}},[Es.CHIADO]:{enabled:!0,chainId:10200,main:!1,symbol:"XDAI",brand:"GNOSIS",decimals:18,explorer:"https://gnosis-chiado.blockscout.com",name:"Gnosis Chiado",original:"Gnosis Chiado",pyth:"",pythUsdPriceId:"",rpc:"https://rpc.chiadochain.net",shortName:"WATER",website:"https://www.gnosis.io/",memberFundingTarget:"0.0001",staffFundingTarget:"0.0001",verifyApi:{kind:"blockscout",url:"https://gnosis-chiado.blockscout.com/api"}}},Hm={production:{canonicalRole:"production",networkKey:Es.GNOSIS,maintenanceMode:!1,apiUrl:"https://aj1bg165gc.execute-api.ap-southeast-2.amazonaws.com/prod"},staging:{canonicalRole:"staging",networkKey:Es.CHIADO,maintenanceMode:!1,apiUrl:"https://udpkacwxd0.execute-api.ap-southeast-2.amazonaws.com/prod"}};function Ib(t){return Hm[t]}function yc(t){return Ib(t).canonicalRole}function Sb(t,e){for(let r of[e,t]){if(r==="production"||r==="staging")return r;if(r==="development")return"staging"}return"staging"}var av={production:Hm.production.networkKey,staging:Hm.staging.networkKey};function vb(t){let e=Ib(t),r=e.canonicalRole,n=e.networkKey,o=Wm[n];if(!o)throw new Error(`application environment ${t} references unknown network "${n}"`);return{environment:t,role:r,networkKey:n,network:o,chainId:o.chainId}}var vR="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAABaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAIAAAABAAABiAAAI2oAAQAAAAEAACTyAAAA2gAAADhpaW5mAAAAAAACAAAAFWluZmUCAAAAAAEAAGF2MDEAAAAAFWluZmUCAAAAAAIAAGF2MDEAAAAAGmlyZWYAAAAAAAAADmF1eGwAAgABAAEAAACvaXBycAAAAIppcGNvAAAAFGlzcGUAAAAAAAADDAAAAPYAAAAMYXYxQ4E/QAAAAAAQcGl4aQAAAAADCgoKAAAADGF2MUOBH1wAAAAADnBpeGkAAAAAAQoAAAA4YXV4QwAAAAB1cm46bXBlZzptcGVnQjpjaWNwOnN5c3RlbXM6YXV4aWxpYXJ5OmFscGhhAAAAAB1pcG1hAAAAAAAAAAIAAQMBggMAAgQBhAYFAAAkTG1kYXQSAAoGH+Xwv1L1Mt1GZwVaNf3AfyAgMBCACFgAAAAAccEEQABiE+IkjNLppS9tnGoqGMAUub5ysUwzNKPWvh2bO2xM+3NQNKhpRkhZa4yglLR2Q2Du9TDRXssmQOs711+TeiKlIYiZeEy/3DQi00/HooeZRXEdZwoVOD/GnbbZJIv3uqmwUg+bYlYDPl8YgsjRvojduGZcFT8OnCZ9lHXBl1s1y2cdJLvrXCv3opmPNq4lUiZVMPIJcWfB2Eq8Jzbf2MTuyj+k4nXmeCGHRD4kGLXZey0GF2tm3qPWKS54FFWHE+9QLszCTAYUKyWWR9AiotLDaK9Mov1O2gMpIAooeoyY0FvckRCieDe8i2Y2IPdMhhmVGt0V6X+kBNYBQRxYvQ/r8O7qtjAA5RT0ECSQE3dCJn996DVmVQVa1NKcBg5lGAappSuQxenC595pHstI1wDtLdny086rLKY1LUKJp6zNzpfh+s2sdLwJaarTowwuE7KUb1zy644LYzRoDJafpOTYYD7IMxtsTdE4PYjcSQdGd3QVGCr8KRL1AT/92jqsTJprZ2WqT3j6gFreBx1fsB5d+jK+gv22uuRHNH9ngL0EnkJzTsr+3TcAqls+FISJMz3a1SuzUQnxTWbcJzHu4fbug9et4B3y+tBPOTU6fmdRBNt8fASuddfNu/jZYPT8BLDZvlBlDOSFg5Kp3Rw1NTUZTnZdUdqTTccqz4FWgTRtj5e/y+BIS4M5feZfjHeEM8BCkH4O6qed96a9f9VS5Nm2YhkaCtrxfZSj7wd5Prd4c527BPixgdYHlRjtkT6AqugOWeSmQQei74EaAMdpnjCuFjaiJCbHFE8iAPrb7yPVeXrIbOawUEzWBUI/JZNnqYyZQtpgWTBLHMTjLWnsyZ3/PZzDw3FXSko9nMex0iG5DwmtPtaK5W65eq4CUSV9UblSct3w0l7fRfCFgHXPAhVzLKhByKffw46ide6JTmE0Fu4wNsRpXdCcns0F2P4Sc/pTRoydt5psFwdp5dUdsExieN1FWjsC816oXavPFVeR/0lI8pZX5rr6d3ARIM/zYCEb/e4YjEoHtzNqs7pSuQVwuO6ugwqSHd2h/Vj63qoR980ml+2FRRGdQoEsBA4VHXIHvLEJQqAO1RRprFSNGNVnc1ON3gBOJJyVif2ZaDOc4xe6SD/Odx5nyzQ41afJcE+mTIUGlFvpkGPB7qiN4nFk4vdFAuKhw7RAUfD3d7wD8Y0/OfFU/+unzTl+cYKNNq3QRHN11hONb83mtnq1KWmRVz+P9QZMLbI98lyi3Rb67ji9PC0+7bfqem0jdqkOnW8CtlBeVZTmWhyuEKFlzXmvEdshGirF8yzX9x5oxJ/obFe9vKFOhHlB2K8/lVesfYyNhfGqnKN4dcKg7Wd9/Ux+oaHCN2qF9EDfNxFHzLiDZIa0g+92GMhIM2UyE9yq4UGk+HneUncIlQWT5H4vYvgqiQdpaBk17EUntR0kGUDqgL8TynbnAkRxdVBv7u6bsT1usLPU0ftKtuCxBNLVPa9GxL9pw/plVHKAI8HLZrpu+gyYyBm49Y+z+UzAnIa7NilB7wciGhnPntgrHOGICGCdQgQKNwiSDxmrK+1FYVZ1hdWgMzWVcooG77DyCHyAmJiX/PdxT7xpJMPWEIuzSu7QYYfE5R0CXEpgX5WxSRSEU1dQ3CnBRoog9w0ku0u++2ZMufnJXvg/6SkAb6d94e0LjaHWDyLU27tbZNcRuA0RfbqkclhZ/AQzlMZ0Eo0oeLgqJJDNi3gUjmxOqN6uLmx7qT7itIU1H5q3qLOgaqJA1T5GjhzTxNXZgIQ3TLPaYF+BxS5z/17QaHlHg/uNmRLdM2Ixdf2TemU0qso/kChuy9dgE16MJEWpOt0rf+U1jAN3PbQAhiMhOiaRjpElZQD7ZnhlCdIVsBZCvoC4sgC0d14CbqD9zoCQkd2+QtXEfM+ICSpkroYpNLznTF/IO1Rqzem+YY9ZEF3wzJTtFaeVac+xnwGrVIp7u4Z8R/0f+7s37wXCLhrF6GroPPM2CvGFxKYAnCTBNFYpakgW9JbNTLzOsqSGoWFBxVb7wvClq2rvo8BI/0dI5U3tMxD656UhSj7mzI92gK3H5vZk4C6oMaOQhOJ8f+pn4e8ozmdm2WPCZPgow9wba9J6Sgzk7DHv8Q6exmaPFFh1325o8I/ZooTTJtFkIb8Yxshoy4uaKgExB4PSOlQPxgL75xLz05vsoeIK8j0/s1eLg27lcaUJwUm29l/9CYLgFQHHQWUgLXY+DZ3QLF3yz+L/SuXXF4ImWulHmaGfLHiC/BxBnqM8mVlIr80bCozcJcSZI9pWX+J0hi5CkIyNyIKGpQpzrkJ7Aq+GsCwkBQvf5jy35qRb4t+uad9tCtUK8+vA9X/yFGmLfHNIVWOQH9G4DViwwrFIAU5EBE2yDkP3Lz71PZRdQb6N7/3MygPr8ddrPBt/pvpmn0by7oGo81z6cgp0BTR8JEtjAN2D/tPugpxLZHSPk/OY7wAMhH+Db6a3tt7fM2Z9BjwIJJsHPQv9K8jaILvNtqgrIPFIP5ywz8cQ/U0/Dgzzf/d0LgpUcy+bO+a84l0ACsebUoedU5noOKC/KcYHdmwUENYE+dclBlUNG8Pvyqb0NGixPN0bamOB6I7LfVao36cBWR1yTkJS7upg2tpdvp01KKv6FcLjLz5b0fwIsHd88OEAeXzHA7GOtXHxyyKd9BcCTlM6oZvWWZj2b1NfSuGmxkNxYi0rw4mujcNU3qB3oC6lheWhVjaGE5/a/u3uQW4BOC3Iprjv8JNC4L3sgUxTo9uT4eF8VN3ScG2hKt8GGQnZCVu6rH+eyCCBbBMfDeKiqLoSeIIkQO9+759UwBxi+m7bMuti6OtWzOoyrokKJS+folC6AX4/yA6WQPHbI2VljFZqcayrd7d3RpDV0hF0BNpCYfWNx20qmskBsj4/7dmIxsuQoEmmibZulFueGvDVl85a5xNi0da851sp/rxHNLUf9uDY3LFVmxlQiBXCabgaaHV+b4SZyuDCRpmBcH3gdamaAsLaBf+Jw6DjHBuZQYnrMo25y0lAe4XxttknkP7WFJ/XUECxrKTTl5tFIyBJJyHqnuY1T1UqaHU8tNGw5igkmm8B0T4LM03PjjkJ8v3B5VuQSdTx7plBXR4R7eLACk/4ZN5PkCBLA9PRWgxGdDoW898TDKOTHN0iS1/PVjAJJUFPVE3KjCk+fBDXGaDRGdH9qeeYvVcp+v2VFxcf8R/6UGcYPHEHTmlm6OveJbXOHXe8s0LMeJ/nAg824vHgEQsh+vQNC1EY+3/CIVC4EdcQfkhKBq5tmbm97BGPUugEVHkhrDt0LlsoMdqzmqBAsdYyowHL6AclsafISryQSSJGhGtZ5qaUT/9jWUT0mJjd8zH+H1gwbww/eeL7hV/ZS0ZnQGn96eNfhbhm28cLuoYu/+ESedwr8EnFZNy9eSPk8MpgjQuUyTA7gTHNmYT3SJYDvx0prn2QEbB8hNIORInu4T30p0rp2Dbar9guxMqDTsjJcHjMW92YjWkwrqL4gxJaKgBzlq2xWzFoSsmytG/wf0k0cmktbze67zfUX+rJjJsm89Z3+/IAtDLyXS7SfsBNXoajuYjyx19A+br1TnQxvjCSQJmDxkjy0JTDZ0HJ7U0k3OeJyDbM1kcGth33E0KBtAh0R+jNTGEAwBPpa6dqlkSW4Ck/an0IcIuGlOSZTP/IU9LXnVgBS//vhzt6MWhEQ1QvbwBcIiVaIOnlXE7MkCDooid5BsXKJ9QHRnZvhLjyf+2HI3fUFootcXVGsP0f/AQelsr8fdyNtqwGP2JC+ZwGGGDkRvbWKco7gElu7fdvLvEh4VTvn0e2+Ec0gc1E1b2Jjty/2JEZdPgQqoFMz/WbL4HK1qSJudYrdAhLFPo7byAJmT71I29xzhuVQRAH7j+YJrYbzbIyLxB3mK/sWTYOCksRzVn0OlzKT35uVhqp1UrgxX9sJYnQTYT7/aIUcd4tpmE0+SW85dKxYdEEycCisOsxQQiZqc+UHA1FLEHfKCHYkuoQVyad7BzvF4Rp4bZ3cv/wEHPT+epgTc0dMfjDHNtbnWanH7SpKesp1w2IXt2QRO/LoJzeUG4KJfyGr+65z340AQjgmjwEyzy6L7fg3muTt0TdLvZ9/wLDH+SHfPbnXpqZZYsUsF/HOzAek1wDnrITeLwkA3CJ7Td5P8TsRU/TT0fR0xGAo6qSgMDEseRlvl+h2TuMCCwmFoKoZi1QKaWhau4HyG5nlBQNHmYZKtrrj2v/NpJfwKXj9EQhTJVDvFhg0PXRYhaduezrdFMbLznU6WrifBpUdFD0oon8vYzxtV0EJjenc4YadwP3cg9W1eNPUEi/RLRtGij1DAD8u1T2hho9KUHSAKKR/uqBLbqAWRBVBYqN6yAnEvFMBqHU0ycSjD6PgU/fIAsCpzQZfg/ggBaiNIsmgsaIBs19ZhL26291NcDO0ZM1ilqRk8D9pBrCqA6jICc+C/gse3fvkhQZQD8FOcdpGlUSCPASPMw7YGb/E2VZWePm6UFxPkOk2unuLgPmi9+HBG7Ajn99q9z9KqIIfknPVxSiswWkXOp1FjOwd9fhCEo3tEwuo/8pA5Z0x8d19YrCffcQfJBLKDVtOYs89EAU0RYxRvjs1oOqe+ibp8SYti++C/JwAm2wyER40y0o1FQd1i0yya0AaH0jUJ/XahJCupVLortOKMTAWujnzBU9J9ar3DsMfv3IRizRp3jggrRANFp2y8AMCXN57EiPy2GC6dZeB+QDf2NjefukK+c88zlXfCRFectKLL7hYNlQrs9kANWuwLOLFa/C/DszLpgK2wb298Ko1Okc4Wp2jY8fCnEXcPRKTukVAkuIXbUyATFfOcvTvpRTcj0e+D/m3gjti8sC3xr0+XHHIbeZaigSPtHNa5AkoTIMUHfgm8qhTOpsaHezjpVs6Hla1q5MyVCkYk/bB/qS+4EffSc4EcEvzQWGVhPPd0K3urLvca8p90NOoXDe+UxPR29VXyvnUkn8PmhUiddHcvQkQPmLGFCNgO+RdnGuEbzP9jqmBx/pgOwk5V2oGSpkQ0jk9YddIlXobnskQgC0hudV/8lfEYwSf+e0clXe8BtODmOljZ23WWOUWnhE7VI1bAz86X7cWCGTUsPDKba+7QAmgiIVd2j3EZ4ne5BMjuGFDspzZJDImXHHu//F8OpaNIlI5WP+icU4srGIWwXgzpxnu+JW4a62TAF6jk9/dAXC2BnOusJDRKEZWFGZTrvVY/Sn0a8tEX4BAzArHBJIQg4apt2iAmPgzDJ37OWTS1FeKA5L23kN+BBBCd2gh9rkrYW65ooGPFOynX4XCPKPWo9yyLeSjQBxnlt9aviA/47EFPMc1FAueLGxG4/rpTgq23wklxghP++a06ub/+o9lxqqSSXtECKtsSs0DQNn8fK22inBNeMhXpqJDl7qOku5f8PR8JynMcz9H8Oicb+814ZKpdLfJ1jMkXCraQr1eIAbKq0/u3qrFON4ArY16hjDjOVsiI9kjHhbY7DtoAoKYnrdorCEpadA6Jdapj8hSLtCBUVhLbe69Q2+MFMWwjXutHSfp/Dj28t3mczDrPnwK97jPKf0WenOi+xdsUEuyLPCnMEMF2F887bZYlZKkd5SIEx3DK+5DGq2HnBeIB7uiGAv0IeqqEKX7I50xtfRb2ocVGnMJVl2LBejIZQea5kXThxPg10sgR2xqORIGL0rX3n2myIBPcpn32Z6Lb48mLVg4kqIBbtS4+qSY6gXK2esVYj5PsvnGISG9XAipvQNMEkK/JCHObMqFxYkPmVPiUkQZOzfvosXq+AClMUOvKqh4PTHtysEm4mWkxqt2yzoqTzzmgge2XEyV9jTI0kC3rDvlViiElWixbvDbBDuxoEI/fv48N8eZGuL3UTc4bH9Z3ZY0mngFsInDTswwFchs8uax/G+h7SolBaFogzbC+ylAxxc1rPOFl1VWoD4WlPUZ/VJVusB5NtYn7AdR2PfUtDACs9kphH9wn0PemQlAlNF5+NgvQmHGy7G0L+BXAlc0nd0B2koqaScu0rRG+bEn8E4ctlFXJWpQtxX8lAMDvYYSxBEOl0USOfNlJ8lasE799mYCWXbrOcecd1GxmnyeC56ffOPIuZDDy6vT9RyFSjIdI/+F2N8lnc8JunoUr/LID0/CEaDB8wlatbXzRSK+5/nbqcz4Xy5ASiQS6cDegWqwU5enkEBf2KLQ5ULVks9Cqloa+eMRR0MBcyt5OTl7MPuZDlhNTPqD3cpUi5zYq/OG0GZttfQDfKH0pJbdbOBniqV4BQ+bZcxr7CMsxj0KE8+VMV49SaLdFxHbLOkSXL3KQluQIdj/J7dipagDm9vUDY8CjE6OPEiJkHkA+ApbcD3S8OALINnMHGj3EMqGAT3QbIxE5H0a28qyTbPQ+gaj2p0kin12IgrkUDQy0qw4I3WnpEzyK/OmxDnXGRjW1ZyGFYxUu5geyteCyF35WOoxax67xP8LRN6Lm2iS417DVqFSKw0tyagCtUFGgvGySwjaFlCPtejyPBdaQENvPOqnE2HsZXyJgcbOrohWNBj+mTv6inHBxz6xn/rXr1bgZAFN1u58lP5+FgdyED6CD6ecfzH3M5I17xMclm1vO7g4tCEm+gfZ0S8+e+cAE9F9s2oAJHUfZqPVRGLwG3wjAzkljIb5BvgC0nbPbu/wbg9H2Mr3cPcItL6QgjrUiWxcJYz+gXGd4FpzfojGWOyY435A4skZ2muFITw0bkFOBcrsWXNAKkuCLAH2XiL5sHdky0690HJauwl5JAyvA94t6n/4Ipef4e54D+OINZ0Y5Q++LqI5ts6AeOTCk9pAtr7ahGoJvCvsGcnsICOKS19zSAlit3GjL1ph9EYf9d1nuXzMbu0WSK2qahXHBehzHWykCTGJkvb1QG5fsP5DScwf9LgLl6b05oPZe64A9clsOQ089ZJZEMaFgc5rwxMYB5+wUlceopnu+o7FXhhu7qNU3WAzdYQX2sGOjnwh/EVmB9i3aMu/UQ43tL75sV9NIFNF7Ajti5NvA7NrOtP+D1NFV6PzWGaESprwwbfH/Phi/A0ElqgXEs0iMlGr/3W0s2iLK2seVmdYlV6y+4s3fQTa5k04BIW7HpxEhY9P3+W/yU5vTT/2sX4mUG+QwAVamyz7ghTLt0Pju+5QF8q8pWlQiUmuuFUi8vm6Zv1if2CR4WpulxVOZZvzZTp2AxfpRtlyhmGCJsjeHVlXElSTWktIDzuiBiWAzCq6RzRTJYh1mExBjKLKNU0GJmAgZgqUZ+Lml5lV+c5B23BwTc17tNTeT232IjA/5ZrV48TLRVPqb596eTAnkOOwHxLJQmlfQS2ED0DJLOyRlKm1ZCN9lgInWh0ZkTae4wWUoxary7ZUBq3cttndZgda8wkqB4uq9bOGRtguh81ecqx8hRuHkgo0OE98gCiwI7mYhBNvfgi1ogcUV2I6Ntd50RkO4iQN4PtGG6NhHlkpsFmEU+/lLJrL6L8Pm7EgPMyD8RfEyKuv5egEW3Qbk3iK70U89GekQHULj5wXQrVn16bE1bLFQHYQCUS8w3fAyryPwKUwK5F/4X4ikK5+IVScNP07qjYZne5eZb+WLt5GSlX7NryE+Amvr2UovzoOM3F2WsfmfudT2pTFhmutpeVISsaslfwSvLehkaqiE6cFH5R1x+MWntxmsOjwy4vQ9qjtoDF6yimUBwNQMMoFPEJEpYoXeSkh+1BZqcdOQ+car1A9KbP/qEcZ1roWQHrh0CVvknhg+4V5cECkz+lXz5SM0y1zaX66mGYIl9cB1vyi3vINzXkLkZXn7MDbkkafZCDvRbx/5oqtaAgqYnmHSOHAm5fVxjU/ESRSvb9tbDGOYaFz2F4r5JTrynQPxi998x2dkQM6cEwcQ4WHHC7zvV4BrCJJz1ZgBv/0IanhRae0AM1eyuNhN0vHGbXC5l8pU1Y2njIAspqmIMxYa6Ayam8T+J8uR3Ssd7qZ8DDmQuEr1USAYMI4Fck2fyPcpNyFXEAjo7f25C3B6I9E2XTynQmCe4m/PrrrzyIO4VL/WQKaAHyjoU0ceWAymRR5F/Gldm1wfpdzOU/NIfIjzxZsNfIxaZfInS2E5FVZss9ouU4f1RwJ+nIiIeFfFIXm8tpeYFVXUPfYgrXXmRXSs0mf75PRVdZvvH5m2/tbmG67bjKMbMcIWi1G1DLbQ9FYTyhOxy+6R3YS0Wxao49pk6oevxo34pyXopQX9JUs0hJrViaga9YnXrKadYQsXF5mDFYAHgP4E/dNoa0b6rdc95lf28S1UI8k7HUoMg6+S7+fxIhJmW/HrE3zoI7IH3POcgPZJQ33m+lZrrNNh+0KchBQqTohx/ITVEw18V8WintC6yOFsivdXQ5dhGQmUN6UIpuuqY9Faa16DDLUm3vAiaNnPJgo4L5RxA3eTjsA0ZL9xJqtTTShcV3mFbOFblyJgdiHkJQJXKIGMYpv4n2mqNZIzg8uR+IQ0U6iZqXXiF3ZZC/l3ozmIjEBaCNIr1HOT+/NVyMgUweCAMXhgrq96O4WUX844/qCqu1lA5TTPSs+HOcq0QYDbcHngYtCAcuKccJ5br5KHtJyZMuQ4D4X+ewt+w4adeQ8HMsQkeT3nwBlMarIpxzU41vhiefKlrA//eh79FZLVRkodVzAisecs8GKyaMdCAbwZGkJb8EG8UJ7TbTFFGHQNRBULn1kFeEE4XZaCpZfrhIMo2/xGvCFvUnjhbGaDUxVD347M3aSUsnLCqZIo1tzaJkHPEGOlULYCo1sq8mxeybXTzLUEhR8Joa17HlQhxtD3rqUP1nB1pr872qzgmzhSnmpr2e9emtlS23ZpHuKdPVgo1pS213nl16eBsc+lY1ae/ndBRvYyhYT88WQ2+Z+Bx5nZC2IOFfi72ZxN0R4X1+TgGjMZi8JkRsfG95YtH0NmCkBk9nMXhPi/KtgRMmPkXVB/rzhh/twUHP0a1GfAKMtxe+Jdl8KWxFjl4RcMybh9RevjZt3wBdH5xXaDaDKmYvWHpO1APN+Rfhg736RtkCr5Iw8SIIw2vrAPZ0w79VH3WrPwaLZTSamGstC0KMTwWZw4MBilSzJzlwqaem1xIkNLnEmq35t+N8hK5svFrpS24apyTsdMxe1re+5oIMcbN3rMcnLb7Q79O9w/TxWPRfDhfudw/h5RhhVtNBugCpBRyPD1K0iVzOuDWnpbwzXUdcP3w5MrMl4W07BE7239rZptfoiVlrX/lwPfBZsQhKMVWrdaRvU4syc/5zHvJrug+zKBm3+qitqCW/8ldTGf9ZXAw1XCBp9MtVXP6hB0dN2VQDh45SpVqjrH4baAPVC1EwR0l5o7KPR+d7tbPHDYGS3x5gfXKwl/vJxp9uh41F6BvcwUBOTzfRi92Fhrr2Wnqduw8MerL2i8DY3hdBNep3I5/awCBT1O+FF6+GQoRUbHjo+eAjntGHbirvMahcEXKeq5g1H++uXiQkP4OQ1YlZaJ0+bzsvVZWJzv1DCf11WxpdGNKmEA2kwZat09h+lC9WQ2+Mn46MSDQD5KqZFFnwa8/ZCXZFzzaTE7JG//Fv+9iCT38U3GSKOT6rRGGfxiHvBaZwcpFE/a52GWWMWQsFZztN0N0JYs1Gz/lR7loMnaihasXIDpZ+ibvRR/EYeCSiBj6ecfzH3M5I17xMclm1vO7g4tCEm+gfZ0S8sgH0zgAn4q4brvUFSVFy+clBaK+mvrj2kY8ZfWv+Idh5PW4P3la9hmz1upaL8vssWj/6Frfn4qrzOLnJ53pEbHQnmuXD+NvQK20I7Ui2qPprChBS3jQ9rodrfx8fg5PrNDbW4fX5kUXMrk72GhQJg8RX+qvL7t15KDqhG3Xh81viQdC2XJm881v/LpOTaaFq9PmROArIJG71BkLowYcFDpVfqEl1w/XVE8AVpMDtm2toYjdg/nIb2TxsSPRxFBNVaFlQEGaSLeEoVjpeBvXzIHBApNJcPnP16zsL/02EA10eGzP/bgmmZy+C3w3cuFoNSKik8Yf/QqsLJ8vUCTIIB7CO6e03pbsfMsqhXJHgZLwBXv2sIVB5eKrmg1lQgkDW3KhT57IvPty7a4Hz4BakPAy/0KfCaNPJh39SLWHLu48C/5TZ2eI2vDzLqrrNQyQboBYLhwWVckqohc6bBNc9s7YVmccHUv+DNPztu9P20ZxzyDQJ7A3xORdpENR5C+nb1bjc3KVvMZJXQ7BJDFwtpBeUYieIfWwTwbIfLlEneX+tjquEaodUtEm/b+3Yd+Hx7uqv8s1DjKn1N7ZFGQgQVZTP7KxEYfrXLvQhZWIpBhkV8t7a+/GkFCDgRNAowaruZ7E0a2PTkw6v/vZFgXntehj2/99hXcDqyujPg5znkRuiMny3BrqskEaKIKZWXX0R8TqVEOrGam0KwxrxHeEBfEbTT2/2kZhHEJafGkAGXAjVo168Jhb+kAZijAveor4msWwfCE3CEB5BnTE056kG8rT3MF5r78FBYp7Wfg8N8i/YcBR3PJ5n3nDD0HnG6yo02HhenhAXQZLzpfYtQs5viudhfgtM+0AtUgtdpE2MBM1WtC/7/ZbrXbHq/mgNUnceVIf9mHJrwJKeTXCciJif0vqpa0rBP0URwGnA/VUXV5/MyvJX1bh5YgYB7rJJNpxEsBoze8GS1qHL/E8rfFDPEr4HwIO8IvPYm06p5uGmi8lMA3l4qkV5fEC/D8p3a5eRZNzpetrm0iKEB6v2Cs4Lv1525DZRXz/jisWcgdp5bo55UwxRCabGRyijyEKyiro9bhFoeNkVDnnF1KoLMn6zi0s9OXDC/dlndFsiBNbS3bkkgHC1dP+pa2RTKYAcQ51SG6knNvowsG702HX4ENqBrsksiNHa0UVfF/aoHg6dM6C9bylG9abFF+yXEs/SEBFLPLaS2lLOHtk2J9rL6uGtIoRrxwzlGpTYqZXjp/GfXM8rIA3UFEisifsxCq15r3XlN2gVI2M+P3ITwtVHqfOdBKWwg27rtHTSIH1fv3JU/6CsVK7s7oL3sik1D/53Em7a8BndxphhiWDuJjj2XHHyuDbQX2BI+0ZZLa2ctv8joFCGrH2GY1h+HJ33cODZy2lURnVrc0HoW7jtwoncfH0KAZ4DcCkXO16y+gi0wn0jkf8c45tx0o3mlI4klTkjfPzQ8VF1Guc8GqtzShx4L3zvETYmLtFn4Qugqg8UwzZT4COPvNx4s5ASaQqTX0lUklH0wxZHNdJvnt3Hy3qniTxIWIiVm+h84Rvg9VV+b90wE95QnXF2hfiNxor+sfCnHRJJBcIcZUYJxO9f7pLny7153SWBhKCdeMWOpnnQiKz4xTDPXnwfrK5WZg/Sff/vr6J6Thu9nXxqMFwtl/NWvCC6oc8Pthw7GJOAFxUC+2SoEwmVDUZKHunoERt7pW/A8mdPqGh7swIFpk4EHivVq1ObIdAEhDrrKIEHlxZw2a/TvUja6gOGGV58Ddg4zuo5YBnsllV/59swOgyxRHh/naRmzIdaq2IrXUBZGGa7pajybVqIH11Yxhl3EncQcitTDr/M1l/KLF1YtKhvtNYZX8fnvNlqBXAZZwp1wzTjNrAfyLScBtQbAQ33VikJID8LNOxszSp4oga4mk6Q8VVP2gIkzF49ZpUcJU9oyuzhkIIMietTZQ1Jvmd26b9YL/N43S6XW+K8W3AqYEGIfh0tYIQaodK4eGqd2oYRgOfk8HhDJg23OigQYcohN1oTN6tqxATeNmFLe6PBwYB9lOuU9J43NgATTE2yD3oPub4DmqKBw3+BT+Thu93xln4zVvEo7+V48hJVHBqI4B1V4T5n+ivVHRYxTx7/6zzwNzse2u2ITkWVJVAfUMrgGZUhm52La9rT7vWjCTb0XB1Pe1NwJ9TfTFqP9EONu3e6Fk32Jf2LnQdLkrciNg8OD0oetWp3vHEQmw/dF6Pg6e7SuZAR6qm6/0LXSDopvRusf82obvJkyR4ugNuiIMlQoCoGAh/rbYMii1+b5Ppr53gSAAoJP+Xwv1LwENBtMsoBZwE+P0sxHGAAEAAIAAAAAAAAAGGGGBBBFQAANgftlxrmsHTY482oH5KBxsLDJevz7TeplPNbmzG3AA/pOAp1cmeYTt+6i4RIoiTS/xPoUda1WoA2B+2XGuawdNjjzagfkoHGwsMl6/PtN6mU81ubMbcAD+k4CnVyZ5hO37qLhEiiJNL/E+hR1rVagDYH7Zca5rB02OPNqB+SgcbCwyXr8+03qZTzW5sxtwAP6TgKdXJnmE7fuouESKIk0v8T6FHWtVqAK44q3CWowA==",bb={SONIC:vR},xb={"dsafe.us":{domain:"dsafe.us",websiteUrl:"https://dsafe.us",contactEmail:"hello@dsafe.us"},"worldbibliotech.net":{domain:"worldbibliotech.net",websiteUrl:"https://worldbibliotech.net",contactEmail:"hello@worldbibliotech.net"},"worldbibliotech.com":{domain:"worldbibliotech.com",websiteUrl:"https://worldbibliotech.com",contactEmail:"hello@worldbibliotech.com"},"worldbibliotech.org":{domain:"worldbibliotech.org",websiteUrl:"https://worldbibliotech.org",contactEmail:"hello@worldbibliotech.org"},"datapond.earth":{domain:"datapond.earth",websiteUrl:"https://datapond.earth",contactEmail:"data@datapond.earth"},"pondenterprise.com":{domain:"pondenterprise.com",websiteUrl:"https://pondenterprise.com",contactEmail:"hello@pondenterprise.com"}};function AR(t){let e=t.trim().toLowerCase().replace(/^[a-z]+:\/\//,"").replace(/[/:?#].*$/,"").replace(/^www\./,"");if(!Object.prototype.hasOwnProperty.call(xb,e))throw new Error(`No site contact configured for "${t}". Add it to SITE_CONTACTS in @the_library/network-config (src/sites.ts).`);return xb[e]}var cv={production:{stage:"prod",awsRegion:"ap-southeast-2",secretId:"/prod/d-library/keys",tables:{paymentsLog:"BookCollective-Payments-Log",loginRateLimit:"EmailRecoveryRequests",emailRecovery:"BookCollective-EmailRecovery",recoveryAnomalies:"anomalies",trackerLeads:"PondEnterprise-AdLeads"},frontendUrl:"https://worldbibliotech.com"},staging:{stage:"staging",awsRegion:"ap-southeast-2",secretId:"/staging/d-library/keys",tables:{paymentsLog:"BookCollective-Payments-Log-staging",loginRateLimit:"EmailRecoveryRequests-staging",emailRecovery:"BookCollective-EmailRecovery-staging",recoveryAnomalies:"anomalies-staging",trackerLeads:"PondEnterprise-AdLeads-staging"},frontendUrl:"http://localhost:3000"}};function PR(t){return cv[t]}var ER={account:{usd:2,votes:0},supporter:{usd:10,votes:8},pioneer:{usd:20,votes:18},visionary:{usd:50,votes:48}},uv={production:{enabled:!0,prices:{memberAccount:"price_1UK1qXQeGVzwKmoGyaR44j8l",voteCredit:"price_1UK2ZWQeGVzwKmoG5dgc3qrX"},paymentLinks:{account:null,supporter:null,pioneer:null,visionary:null}},staging:{enabled:!0,prices:{memberAccount:"price_1UK1qXQeGVzwKmoGyaR44j8l",voteCredit:"price_1UK2ZWQeGVzwKmoG5dgc3qrX"},paymentLinks:{account:null,supporter:null,pioneer:null,visionary:null}}};function TR(t){return uv[t]}var CR={100:{deployed:!0,stagingDeployed:!0,addressRegistry:"0xC121FB1A294A52D4175E5D937A3e6D717B98FEc7",stagingAddressRegistry:"0xC121FB1A294A52D4175E5D937A3e6D717B98FEc7",factory:"0x938dcbA1aD805BE0e585f3b4d06cA210CeDE8629",stagingFactory:"0x938dcbA1aD805BE0e585f3b4d06cA210CeDE8629",backupStorage:"0x8f25eBA09b1188ae571DE3BA0fc62893c40C9B55",stagingBackupStorage:"0x8f25eBA09b1188ae571DE3BA0fc62893c40C9B55",bouncerStorage:"0x669766fD75368659B78e61BD82CB55405F3e7Aae",stagingBouncerStorage:"0x669766fD75368659B78e61BD82CB55405F3e7Aae",scientistStorage:"0x9cCdb8E4a979AeF7bd56d485aB2B7cA1404F25C5",stagingScientistStorage:"0x9cCdb8E4a979AeF7bd56d485aB2B7cA1404F25C5",projectManagerStorage:"0x83e1f5f0a799Bf154BF78e4a37CB66Dd1E1d7F2b",stagingProjectManagerStorage:"0x83e1f5f0a799Bf154BF78e4a37CB66Dd1E1d7F2b",subscriptionManager:"0xAc47559D305d2ACA094B51E879E25cbB3D9C3Ed8",stagingSubscriptionManager:"0xAc47559D305d2ACA094B51E879E25cbB3D9C3Ed8",libraryRegistryStorage:"0x8e613b6D564803a8Cdc71cB8CE7F3EB205981462",stagingLibraryRegistryStorage:"0x8e613b6D564803a8Cdc71cB8CE7F3EB205981462",publicLibraryStorage:"0x2647f241d8Fa1E3C11a8d424109aE9A8D9624e21",stagingPublicLibraryStorage:"0x2647f241d8Fa1E3C11a8d424109aE9A8D9624e21",dSafeHRStorage:"0x7d1437158aE169A1E5C4188872888d622Ef7F6FA",stagingDSafeHRStorage:"0x7d1437158aE169A1E5C4188872888d622Ef7F6FA",statsPivotStorage:"0x57778210bf8De1B24707874957eB6De5cbCEEcfA",stagingStatsPivotStorage:"0x57778210bf8De1B24707874957eB6De5cbCEEcfA",relationshipIndexerStorage:"0x4749aed97EDf0502D6416C1d71502001E153181a",stagingRelationshipIndexerStorage:"0x4749aed97EDf0502D6416C1d71502001E153181a",emailRecoveryManager:"0x3F18c8a9473097B2bF4aA3D0C3eD808AEDFd17A5",stagingEmailRecoveryManager:"0x3F18c8a9473097B2bF4aA3D0C3eD808AEDFd17A5",accountManager:"0xEBD7fC6BAfFBF97782CdDBaBB3564c996eE22ab7",stagingAccountManager:"0xEBD7fC6BAfFBF97782CdDBaBB3564c996eE22ab7"},146:{deployed:!0,stagingDeployed:!0,addressRegistry:"0x96233a42a809ECDb14D3bd44b23a0e70F75E8519",stagingAddressRegistry:"0x96233a42a809ECDb14D3bd44b23a0e70F75E8519",factory:"0x98ed1705270730299079C5D9137416445FFAd7a7",stagingFactory:"0x98ed1705270730299079C5D9137416445FFAd7a7",backupStorage:"0xB936Cb4A1007Ee179f65C75eC62f986F040df913",stagingBackupStorage:"0xB936Cb4A1007Ee179f65C75eC62f986F040df913",bouncerStorage:"0xb2A80025fB10a1F238e72077cD3695AEFd3C9A03",stagingBouncerStorage:"0xb2A80025fB10a1F238e72077cD3695AEFd3C9A03",scientistStorage:"0x4689C7639c21cc615Fa92Cefa48ed0FFf130902C",stagingScientistStorage:"0x4689C7639c21cc615Fa92Cefa48ed0FFf130902C",projectManagerStorage:"0x82c9638AAF614070BA2427Af1691c38b8a973740",stagingProjectManagerStorage:"0x82c9638AAF614070BA2427Af1691c38b8a973740",subscriptionManager:"0x909B28aF430280C0D3b784EC14Df8fd22Db61066",stagingSubscriptionManager:"0x909B28aF430280C0D3b784EC14Df8fd22Db61066",libraryRegistryStorage:"0x40F33095Ac9fbf0c24bfE9642809E9A835978392",stagingLibraryRegistryStorage:"0x40F33095Ac9fbf0c24bfE9642809E9A835978392",publicLibraryStorage:"0x7fa224B1f0CFBA68701888C50Dc168A298792db8",stagingPublicLibraryStorage:"0x7fa224B1f0CFBA68701888C50Dc168A298792db8",dSafeHRStorage:"0xE4926FA79f41Ba0630d6734299F236b190387D2F",stagingDSafeHRStorage:"0xE4926FA79f41Ba0630d6734299F236b190387D2F",statsPivotStorage:"0x834a04670d8c343658Fe182710897fe306E955E4",stagingStatsPivotStorage:"0x834a04670d8c343658Fe182710897fe306E955E4",relationshipIndexerStorage:"0xEe52c2814A6a5F400ed8318752DF3CD37168c480",stagingRelationshipIndexerStorage:"0xEe52c2814A6a5F400ed8318752DF3CD37168c480",emailRecoveryManager:"0x4B7b5cDD0aCCad89931f3282Cd0FF73729221AC9",stagingEmailRecoveryManager:"0x4B7b5cDD0aCCad89931f3282Cd0FF73729221AC9",accountManager:"0xF62388AE786977B6F6113693eEFF1926596EF5Ac",stagingAccountManager:"0xF62388AE786977B6F6113693eEFF1926596EF5Ac"},10200:{deployed:!0,stagingDeployed:!0,addressRegistry:"0x0bBe33489bF3d5b027851C2D488f70DcCf13733c",stagingAddressRegistry:"0x0bBe33489bF3d5b027851C2D488f70DcCf13733c",factory:"0x68A80A3422B21bCe61808CF1E3ED9601Ad958b09",stagingFactory:"0x68A80A3422B21bCe61808CF1E3ED9601Ad958b09",backupStorage:"0x9D3F50977b83f5795CC21c7C590a464be63686Cd",stagingBackupStorage:"0x9D3F50977b83f5795CC21c7C590a464be63686Cd",bouncerStorage:"0x45fA65bADC2d1185284614D61f99273Eea7A9510",stagingBouncerStorage:"0x45fA65bADC2d1185284614D61f99273Eea7A9510",scientistStorage:"0xa975e9C546BAd16fFFd7Aa2Fa659d8750aA69713",stagingScientistStorage:"0xa975e9C546BAd16fFFd7Aa2Fa659d8750aA69713",projectManagerStorage:"0xD12431217cd1F8b41f29C608400119F97c6d37F1",stagingProjectManagerStorage:"0xD12431217cd1F8b41f29C608400119F97c6d37F1",subscriptionManager:"0x65818AEF65a2475af09c4B2C7EeBE7c474877Adb",stagingSubscriptionManager:"0x65818AEF65a2475af09c4B2C7EeBE7c474877Adb",libraryRegistryStorage:"0x500d1e6b5B36D4cbc077684F32e98D0a0FFCF56E",stagingLibraryRegistryStorage:"0x500d1e6b5B36D4cbc077684F32e98D0a0FFCF56E",publicLibraryStorage:"0x5293599e4d67d4f18137FDc3818E1e7b7306C926",stagingPublicLibraryStorage:"0x5293599e4d67d4f18137FDc3818E1e7b7306C926",dSafeHRStorage:"0x8fdA91F4547227e50Ef448332fA8E1D5e01f0524",stagingDSafeHRStorage:"0x8fdA91F4547227e50Ef448332fA8E1D5e01f0524",statsPivotStorage:"0x7a4602175f6beA4393BF886037b36E2EeC261bcE",stagingStatsPivotStorage:"0x7a4602175f6beA4393BF886037b36E2EeC261bcE",relationshipIndexerStorage:"0xF9d92B41124F0bAB0Ea8334B258D3952bAdBC0a3",stagingRelationshipIndexerStorage:"0xF9d92B41124F0bAB0Ea8334B258D3952bAdBC0a3",emailRecoveryManager:"0x613DB14219Ea366041381C6cCF9c09968aD7F43E",stagingEmailRecoveryManager:"0x613DB14219Ea366041381C6cCF9c09968aD7F43E",accountManager:"0xc5e5EfAFBa46B0dBcF0c57ea63B3BD2d615E853c",stagingAccountManager:"0xc5e5EfAFBa46B0dBcF0c57ea63B3BD2d615E853c"},14601:{deployed:!0,stagingDeployed:!0,addressRegistry:"0x9D53A99A60BaA5eEB071833bAE07058F5846D668",stagingAddressRegistry:"0x9D53A99A60BaA5eEB071833bAE07058F5846D668",factory:"0xdF29cBC8CDf9bf25c5a135011d89857F18b9C5E5",stagingFactory:"0xdF29cBC8CDf9bf25c5a135011d89857F18b9C5E5",backupStorage:"0x0998409E88362d76E6B703AfEE938C5fBa2196d8",stagingBackupStorage:"0x0998409E88362d76E6B703AfEE938C5fBa2196d8",bouncerStorage:"0xC947fe2638Db4fB3A0a6be8B8588571a1f874ADA",stagingBouncerStorage:"0xC947fe2638Db4fB3A0a6be8B8588571a1f874ADA",scientistStorage:"0x29215Aa0Fd5CF12EbCF77C0f754f4B2B9320f57e",stagingScientistStorage:"0x29215Aa0Fd5CF12EbCF77C0f754f4B2B9320f57e",projectManagerStorage:"0x3879c30284F4ddcBa634F1E8AE977420fc24c9Af",stagingProjectManagerStorage:"0x3879c30284F4ddcBa634F1E8AE977420fc24c9Af",subscriptionManager:"0xDcD683c8c774adBEc63e353182E6Feb172EFD4b6",stagingSubscriptionManager:"0xDcD683c8c774adBEc63e353182E6Feb172EFD4b6",libraryRegistryStorage:"0x4Cbc2AeE051680C40C3A97DA0BF3da0660Aa192c",stagingLibraryRegistryStorage:"0x4Cbc2AeE051680C40C3A97DA0BF3da0660Aa192c",publicLibraryStorage:"0x95Ad7E48123dFEc03E338617fc5747E646a177f7",stagingPublicLibraryStorage:"0x95Ad7E48123dFEc03E338617fc5747E646a177f7",dSafeHRStorage:"0x1Dd9B351F7Db00cdf1148343022B05e3D5b8578F",stagingDSafeHRStorage:"0x1Dd9B351F7Db00cdf1148343022B05e3D5b8578F",statsPivotStorage:"0xb01cE8E906BeCb24341d8Fe3EB5950826D96f7F8",stagingStatsPivotStorage:"0xb01cE8E906BeCb24341d8Fe3EB5950826D96f7F8",relationshipIndexerStorage:"0x29e4f99400Bc77CD4CaE155F355BbE8520eA2367",stagingRelationshipIndexerStorage:"0x29e4f99400Bc77CD4CaE155F355BbE8520eA2367",emailRecoveryManager:"0x5D9581b8867a71CDD34Fc5C4F90c8f92bAEd56D5",stagingEmailRecoveryManager:"0x5D9581b8867a71CDD34Fc5C4F90c8f92bAEd56D5",accountManager:"0xfc77749ED8794C5d9Cf7b73C506f94DC45C3e379",stagingAccountManager:"0xfc77749ED8794C5d9Cf7b73C506f94DC45C3e379"}};function RR(t){let e=t.pyth?{pythOracle:t.pyth,usdPriceId:t.pythUsdPriceId||""}:{stable:!0},r=CR[t.chainId]||{},n={};for(let[o,i]of Object.entries(r))o==="deployed"||o==="stagingDeployed"||typeof i=="string"&&(n[o]=i);return{chainId:t.chainId,name:t.original,symbol:t.symbol,shortName:t.shortName,decimals:t.decimals,explorer:t.explorer,rpc:t.rpc,website:t.website,main:t.main,brand:t.brand,logo:bb[t.brand]??bb[Wm[av.production].brand]??"",price:e,memberFundingTarget:t.memberFundingTarget,staffFundingTarget:t.staffFundingTarget,deployed:r.deployed,stagingDeployed:r.stagingDeployed,addresses:Object.keys(n).length?n:void 0}}var yd=Object.fromEntries(Object.values(Wm).map(t=>[t.chainId,RR(t)]));function dr(t){let e=typeof t=="string"?parseInt(t,10):t,r=yd[e];if(!r)throw new Error(`Chain ${t} not configured`);return r}function Gm(t,e){let r=dr(t),n=yc(e);return vb(e).chainId===r.chainId?r.main?"production":"staging":r.main?n:"staging"}function hd(t,e){let r=dr(t);return Gm(r.chainId,e)==="staging"?r.stagingDeployed===!0:r.deployed===!0}function wb(t){return vb(t).chainId}var Vm={production:wb("production"),staging:wb("staging")},bd=Vm.production,NR=Vm.staging,BR=Vm.staging;var Ts=[{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getPriceUnsafe",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"}],name:"getUpdateFee",outputs:[{internalType:"uint256",name:"feeAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"}],name:"updatePriceFeeds",outputs:[],stateMutability:"payable",type:"function"}];var Wt=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[],name:"EmptyHash",type:"error"},{inputs:[],name:"EmptyString",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"Forbidden",type:"error"},{inputs:[],name:"NotFound",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"key",type:"string"},{indexed:!1,internalType:"string",name:"arweaveTxId",type:"string"},{indexed:!1,internalType:"bytes32",name:"sha256Hash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"version",type:"uint256"}],name:"BlobRefAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!0,internalType:"address",name:"contractAddress",type:"address"},{indexed:!1,internalType:"string",name:"abiUrl",type:"string"},{indexed:!1,internalType:"uint256",name:"version",type:"uint256"}],name:"ContractAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"key",type:"string"},{indexed:!1,internalType:"string",name:"value",type:"string"},{indexed:!1,internalType:"uint256",name:"version",type:"uint256"}],name:"DataAdded",type:"event"},{inputs:[{internalType:"string",name:"key",type:"string"},{internalType:"string",name:"arweaveTxId",type:"string"},{internalType:"bytes32",name:"sha256Hash",type:"bytes32"}],name:"addBlobRef",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"contractAddress",type:"address"},{internalType:"string",name:"abiUrl",type:"string"}],name:"addContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"},{internalType:"string",name:"value",type:"string"}],name:"addData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"admin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllBlobRefKeys",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllContractNames",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllDataKeys",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"getBlobRefHistory",outputs:[{components:[{internalType:"string",name:"arweaveTxId",type:"string"},{internalType:"bytes32",name:"sha256Hash",type:"bytes32"}],internalType:"struct AddressRegistry.BlobRef[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"getContractHistory",outputs:[{components:[{internalType:"address",name:"contractAddress",type:"address"},{internalType:"string",name:"abiUrl",type:"string"}],internalType:"struct AddressRegistry.ContractRecord[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"}],name:"getDataHistory",outputs:[{internalType:"string[]",name:"",type:"string[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"}],name:"getLatestBlobRef",outputs:[{internalType:"string",name:"",type:"string"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"getLatestContract",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"key",type:"string"}],name:"getLatestData",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];var qm=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"Forbidden",type:"error"},{inputs:[],name:"ImportsFinalized",type:"error"},{inputs:[],name:"InvalidActionId",type:"error"},{inputs:[],name:"InvalidTargetMode",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[],name:"StorageFrozen",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint8",name:"actionId",type:"uint8"},{indexed:!1,internalType:"uint8",name:"objectType",type:"uint8"},{indexed:!1,internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{indexed:!1,internalType:"bool",name:"isRelation",type:"bool"},{indexed:!1,internalType:"uint8",name:"targetMode",type:"uint8"}],name:"ActionConfigSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"caller",type:"address"}],name:"AuthorizedAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"caller",type:"address"}],name:"AuthorizedRemoved",type:"event"},{anonymous:!1,inputs:[],name:"ImportsFinalized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"frozen",type:"bool"}],name:"MigrationFrozen",type:"event"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"_isAuthorized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"addAuthorized",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"admin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"authorizedWriters",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"}],name:"countByActor",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"targetKey",type:"bytes32"}],name:"countByTarget",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"targetUserId",type:"uint32"},{internalType:"uint32",name:"since",type:"uint32"}],name:"countNewSubscriptionsSince",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"exportActionConfigs",outputs:[{internalType:"uint8[]",name:"ids",type:"uint8[]"},{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig[]",name:"configs",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportActors",outputs:[{internalType:"uint256[]",name:"actorIds",type:"uint256[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportAuthors",outputs:[{internalType:"bytes32[]",name:"objectKeys",type:"bytes32[]"},{internalType:"uint32[]",name:"authors",type:"uint32[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportHintUsers",outputs:[{internalType:"uint256[]",name:"userIds",type:"uint256[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"userId",type:"uint32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportHints",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.SubscriptionHint[]",name:"hints",type:"tuple[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportTargets",outputs:[{internalType:"bytes32[]",name:"targetKeys",type:"bytes32[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"finalizeImports",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"freezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"actionId",type:"uint8"}],name:"getActionConfig",outputs:[{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByActor",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByObjectTarget",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByTagTarget",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"targetKey",type:"bytes32"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"count",type:"uint256"}],name:"getByTarget",outputs:[{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"targetUserId",type:"uint32"},{internalType:"uint32",name:"since",type:"uint32"}],name:"getNewSubscriptionsSince",outputs:[{internalType:"uint32[]",name:"actorIds",type:"uint32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8[]",name:"ids",type:"uint8[]"},{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig[]",name:"configs",type:"tuple[]"}],name:"importActionConfigs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint256",name:"startIndex",type:"uint256"},{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"rs",type:"tuple[]"}],name:"importActorRelationships",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32[]",name:"objectKeys",type:"bytes32[]"},{internalType:"uint32[]",name:"authors",type:"uint32[]"}],name:"importAuthors",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"userId",type:"uint32"},{internalType:"uint256",name:"startIndex",type:"uint256"},{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.SubscriptionHint[]",name:"hints",type:"tuple[]"}],name:"importHints",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"targetKey",type:"bytes32"},{internalType:"uint256",name:"startIndex",type:"uint256"},{components:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint8",name:"actionId",type:"uint8"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"},{internalType:"uint64",name:"tagId",type:"uint64"},{internalType:"uint32",name:"timestamp",type:"uint32"}],internalType:"struct IRelationshipIndexerStorage.Relationship[]",name:"rs",type:"tuple[]"}],name:"importTargetRelationships",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"importsFinalized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"isAuthorized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"migrationFrozen",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"objectId",type:"uint64"}],name:"objectTargetKey",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint32",name:"actorId",type:"uint32"},{internalType:"uint256[]",name:"patches",type:"uint256[]"}],name:"recordActions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"removeAuthorized",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"actionId",type:"uint8"},{components:[{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint8",name:"propertyOrRelationId",type:"uint8"},{internalType:"bool",name:"isRelation",type:"bool"},{internalType:"uint8",name:"targetMode",type:"uint8"}],internalType:"struct IRelationshipIndexerStorage.ActionConfig",name:"config",type:"tuple"}],name:"setActionConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint64",name:"tagId",type:"uint64"}],name:"tagTargetKey",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[],name:"unfreezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"}];function Km(t){let e=t.startsWith("0x")?t:"0x"+t;return xp(e).replace(/\0/g,"")}function xn(t){return Yt(t).padEnd(10,"0").slice(0,10)}var LR=[],Le=class t extends Error{constructor(e,r,n){super(r),this.name="Web3Error",this.code=e,this.reason=n?.reason,this.data=n?.data,this.originalError=n?.originalError,Object.setPrototypeOf(this,t.prototype)}};function ke(t){if(t instanceof Le)return t;let e=DR(t);for(let r of LR)try{r(e)}catch(n){console.error("[web3/errors] registerOnErrorCb listener threw",n)}return e}var kR=t=>{let r=(t?.message||t?.reason||String(t)).toLowerCase();return r.includes("invalid compressedactions format")?new Le("INVALID_COMPRESSED_ACTIONS","Invalid compressedActions format",{originalError:t}):r.includes("switch chain error")?new Le("SWITCH_CHAIN_ERROR","Error Switching Chains",{data:t.code,reason:t.message,originalError:t}):r.includes("switching accounts while on an unsupported chainid")?new Le("SWITCH_TO_UNSUPPORTED_CHAIN",r,{originalError:t}):null},dv=t=>t instanceof Ur||t instanceof pn||t instanceof ln||t instanceof Jn||t instanceof Fr;function lv(t){if(t instanceof v&&!dv(t)){let e=t.walk(dv);if(e)return lv(e)}return t instanceof Ur?new Le("USER_REJECTED","User rejected the transaction",{reason:t.shortMessage,originalError:t}):t instanceof pn?new Le("INSUFFICIENT_FUNDS","Insufficient funds for transaction",{reason:t.shortMessage,originalError:t}):t instanceof ln?new Le("NONCE_TOO_LOW","Transaction nonce is too low",{reason:t.shortMessage,originalError:t}):t instanceof Jn?new Le("TIMEOUT","Request timed out",{reason:t.shortMessage,originalError:t}):t instanceof Fr?new Le("REVERT","Transaction reverted by contract",{reason:t.reason??t.data?.errorName??t.shortMessage,data:t.data,originalError:t}):null}function DR(t){let e=kR(t);if(e)return e;let r=lv(t);if(r)return r;let n=t?.message||t?.reason||String(t),o=n.toLowerCase();return o.includes("no account connected to wallet")?new Le("NO_WALLET_CONNECTED","No account connected to wallet",{originalError:t}):o.includes("user rejected")||o.includes("user denied")||o.includes("user cancelled")||t?.code===4001||t?.code==="ACTION_REJECTED"?new Le("USER_REJECTED","User rejected the transaction",{reason:t?.reason,originalError:t}):o.includes("insufficient funds")||o.includes("insufficient balance")||t?.code==="INSUFFICIENT_FUNDS"?new Le("INSUFFICIENT_FUNDS","Insufficient funds for transaction",{reason:t?.reason,originalError:t}):o.includes("nonce too low")||o.includes("nonce has already been used")||t?.code==="NONCE_EXPIRED"?new Le("NONCE_TOO_LOW","Transaction nonce is too low",{reason:t?.reason,originalError:t}):o.includes("revert")||o.includes("execution reverted")||t?.code==="CALL_EXCEPTION"||t?.code===3?new Le("REVERT","Transaction reverted by contract",{reason:t?.reason||MR(t),data:t?.data,originalError:t}):o.includes("timeout")||t?.code==="TIMEOUT"?new Le("TIMEOUT","Request timed out",{reason:t?.reason,originalError:t}):o.includes("network")||o.includes("connection")||t?.code==="NETWORK_ERROR"||t?.code==="ETIMEDOUT"?new Le("NETWORK_ERROR","Network error occurred",{reason:t?.reason,originalError:t}):o.includes("invalid argument")||t?.code==="INVALID_ARGUMENT"?new Le("INVALID_ARGUMENT","Invalid argument provided",{reason:t?.reason,originalError:t}):o.includes("unsupported")||t?.code==="UNSUPPORTED_OPERATION"?new Le("UNSUPPORTED_OPERATION","Unsupported operation",{reason:t?.reason,originalError:t}):new Le("UNKNOWN",n||"Unknown error occurred",{reason:t?.reason,data:t?.data,originalError:t})}function MR(t){if(t?.reason)return t.reason;if(t?.data?.message)return t.data.message;let r=(t?.message||"").match(/revert\s+(.+?)(?:\s|$|")/i);if(r)return r[1]}var OR="https://worldbibliotech.com",FR=/^https?:\/\/(?:worldbibliotech\.com|datapond\.earth)(?=$|[/?#]|https?:\/\/)/i,pv=/^[a-z][a-z0-9+.-]*:/i;function hc(t){let e;for(;e=t.match(FR);)t=t.slice(e[0].length);return!t||t.startsWith("/")||pv.test(t)?t:`/${t}`}function fv(t){let e=hc(t);return pv.test(e)?e:OR+e}var jR=3600,xd=t=>[(t?.[0]||[]).map(e=>BigInt(e)),(t?.[1]||[]).map(e=>BigInt(e)),(t?.[2]||[]).map(String)],mv=t=>({stripePaymentId:String(t.stripePaymentId??t[0]),amountUSD:BigInt(t.amountUSD??t[1]),username:String(t.username??t[2]),donor:String(t.donor??t[3]),country:String(t.country??t[4]),language:String(t.language??t[5]),timestamp:Number(t.timestamp??t[6]),chainId:Number(t.chainId??t[7])}),bc=class{constructor(e,r="production"){this._contractAddresses={};this.chainId=e,this.environment=yc(r);let n=dr(e);if(this.config=n,this.deploymentEnvironment=Gm(e,r),!hd(e,r))throw new Error(`Chain EVM ${e} is not deployed for application environment ${r} (resolved deployment environment: ${this.deploymentEnvironment})`);this.chain=Xo(n),this.publicClient=db({chain:this.chain,transport:gd(n.rpc)}),this.addressRegistry=this.createAddressRegistryReadAPI(),this.bouncerStorage=this.createBouncerStorageReadAPI(),this.scientistStorage=this.createScientistStorageReadAPI(),this.archivistStorage=this.createArchivistReadApi(),this.factory=this.createFactoryReadAPI(),this.accountManager=this.createAccountManagerReadAPI(),this.projectManagerStorage=this.createProjectManagerStorageReadAPI(),this.subscriptionManager=this.createSubscriptionManagerReadAPI(),this.libraryRegistryStorage=this.createLibraryRegistryStorageReadAPI(),this.publicLibraryStorage=this.createPublicLibraryStorageReadAPI(),this.dSafeHRStorage=this.createDSafeHRStorageReadAPI(),this.relationshipIndexerStorage=this.createRelationshipIndexerStorageReadAPI(),this._contractAddresses={...n.addresses||{}},this.ready=new Promise(async(i,s)=>{try{console.log(`[EvmClient] Initializing registry for chain ${this.chainId} (env: ${this.environment})...`);let a=await xe.Initialize(this.chainId,this.addressRegistry,this.activeRegistryAddress,!0,this.environment);Object.assign(this._contractAddresses,a);let c=await xe.loadAllKeys(this.chainId,this.environment);Object.assign(this._contractAddresses,c),this._manifestRegistryAddress=c.addressRegistry??a.addressRegistry,await xe.waitForAbis(this.chainId,this.environment),console.log(`[EvmClient] Registry ready for ${this.chainId}. Addresses:`,this._contractAddresses),i()}catch(a){console.error(`[EvmClient] Failed to initialize registry for ${this.chainId}`,a),s(a)}})}setAccountOverride(e){this._accountOverride=e}async getUsdPrice(){let{price:e}=this.config;if(e.stable)return 1;let{pythOracle:r,usdPriceId:n}=e;if(!r||!n)throw new Error(`Pyth config missing for chain ${this.chainId}`);let o=await this.publicClient.readContract({address:r,abi:Ts,functionName:"getPriceUnsafe",args:[n]}),i=Math.floor(Date.now()/1e3)-Number(o.publishTime??0);return o.publishTime!==void 0&&i>jR&&console.warn(`[EvmClient] Pyth price on chain ${this.chainId} is ${Math.round(i/3600)}h old \u2014 contract payments will revert until a fresh price update is pushed`),Number(o.price)*Math.pow(10,Number(o.expo))}async getNativeBalance(e){return this.publicClient.getBalance({address:e})}get activeRegistryAddress(){return this._manifestRegistryAddress?this._manifestRegistryAddress:(this.deploymentEnvironment==="staging"&&this.config.addresses?.stagingAddressRegistry?this.config.addresses.stagingAddressRegistry:this.config.addresses?.addressRegistry)??""}addresses(){return this._contractAddresses}requireAbi(e){let r=xe.getAbi(this.chainId,e,this.environment);if(!r)throw new Error(`[EvmClient] ABI for '${e}' on chain ${this.chainId} is not loaded. The registry ABI sync may have failed or not completed. Reads are blocked until it is ready.`);return r}async read(e){await this.ready;let r=this.addresses()[e.contractKey];if(!r){if(e.whenAddressMissing!==void 0)return e.whenAddressMissing;throw new Error(`[EvmClient] ${String(e.contractKey)} address missing for chain ${this.chainId}`)}try{let n=await this.publicClient.readContract({address:r,abi:this.requireAbi(e.contractName),functionName:e.functionName,args:e.args??[],...this._accountOverride?{account:this._accountOverride}:{}});return e.transform?e.transform(n):n}catch(n){throw ke(n)}}createAddressRegistryReadAPI(){return{getLatestContract:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let n=await this.publicClient.readContract({address:r,abi:Wt,functionName:"getLatestContract",args:[e]});return[n[0],n[1]]},getContractHistory:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return await this.publicClient.readContract({address:r,abi:Wt,functionName:"getContractHistory",args:[e]})},getAllContractNames:async()=>{let e=this.activeRegistryAddress;if(!e)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return await this.publicClient.readContract({address:e,abi:Wt,functionName:"getAllContractNames",args:[]})},getLatestData:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let n=await this.publicClient.readContract({address:r,abi:Wt,functionName:"getLatestData",args:[e]});return String(n)},getAllDataKeys:async()=>{let e=this.activeRegistryAddress;if(!e)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return await this.publicClient.readContract({address:e,abi:Wt,functionName:"getAllDataKeys",args:[]})},getLatestBlobRef:async e=>{let r=this.activeRegistryAddress;if(!r)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let n=await this.publicClient.readContract({address:r,abi:Wt,functionName:"getLatestBlobRef",args:[e]});return[n[0],n[1]]},getBlobRefHistory:async(e,r,n)=>{let o=this.activeRegistryAddress;if(!o)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);return(await this.publicClient.readContract({address:o,abi:Wt,functionName:"getBlobRefHistory",args:[e,BigInt(r),BigInt(n)]})).map(s=>[s.arweaveTxId,s.sha256Hash])},admin:async()=>{let e=this.activeRegistryAddress;if(!e)throw new Error(`[EvmClient] addressRegistry address missing for chain ${this.chainId}`);let r=await this.publicClient.readContract({address:e,abi:Wt,functionName:"admin",args:[]});return String(r)},getLastUpdateInfo:async e=>{let r=this.activeRegistryAddress;if(!r)return null;let n={type:"event",name:"ContractAdded",inputs:[{type:"string",name:"name",indexed:!0},{type:"address",name:"contractAddress",indexed:!0},{type:"string",name:"abiUrl"},{type:"uint256",name:"version"}]},o=async a=>{let c=await this.publicClient.getBlock({blockNumber:a.blockNumber});return{timestamp:Number(c.timestamp),blockNumber:a.blockNumber,transactionHash:a.transactionHash}};try{let a=await this.publicClient.getLogs({address:r,event:n,args:{name:e},fromBlock:0n});return a.length===0?null:await o(a[a.length-1])}catch{}let i=9999n,s=50;try{let c=await this.publicClient.getBlockNumber();for(let u=0;u<s&&c>=0n;u++){let d=c>=i?c-i:0n,l=await this.publicClient.getLogs({address:r,event:n,args:{name:e},fromBlock:d,toBlock:c});if(l.length>0)return await o(l[l.length-1]);if(d===0n)break;c=d-1n}return null}catch(a){return console.error(`[EvmClient] Failed to get last update info for ${e}:`,a),null}}}}createArchivistReadApi(){let e="backupStorage",r="BackupStorage";return{userLevel:n=>this.read({contractKey:e,contractName:r,functionName:"userLevel",args:[n],transform:Number}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean}),nbWrites:n=>this.read({contractKey:e,contractName:r,functionName:"nbWrites",args:[n],transform:Number}),loadActions:n=>this.read({contractKey:e,contractName:r,functionName:"loadActions",args:[n],transform:xd}),loadActionsSince:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"loadActionsSince",args:[n,o],transform:xd})}}createProjectManagerStorageReadAPI(){return{nbProjects:async()=>{if(await this.ready,!this.addresses().factory)return console.error("[EvmClient] Factory address missing in config!"),0;try{return await this.read({contractKey:"factory",contractName:"Factory",functionName:"nbProjects",transform:Number})}catch(r){throw console.error("[EvmClient] nbProjects failed:",r),r}},balanceOfAddress:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getUserBalances",args:[e],transform:r=>({total:Number(r[0]),donations:Number(r[1]),unspent:Number(r[2])})}),loadProject:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"getProject",args:[e],transform:r=>({id:e,balance:r[1].reduce((n,o)=>n+Number(o),0),versions:r[2].map(n=>(n.uri=fv(n.uri),n.publicationDate=new Date(Number(n.publicationDate)*1e3),n.maximumFunding=Number(n.maximumFunding),n.minimumFundingBeforeStartWork=Number(n.minimumFundingBeforeStartWork),n.tags=n.tags.map(Number),n.status=Number(n.status),n)),availableLanguages:r[3].map(n=>Km(n))})}),addressDonationsPerProject:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"addressDonationsPerProject",args:[e],transform:r=>r.map(Number)}),getProjectSupportedLanguages:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"getProjectSupportedLanguages",args:[e],transform:r=>r.map(String)}),projectVotingBalances:e=>this.read({contractKey:"factory",contractName:"Factory",functionName:"getProjectAllocatedBudget",args:[e],transform:r=>r.map(Number)}),getWeeklyDonations:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getWeeklyDonations",args:[BigInt(e)],transform:r=>r.map(mv)}),getDonationsRange:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getDonationsRange",args:[BigInt(e),BigInt(r)],transform:n=>n.map(mv)}),isAuthorized:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"isAuthorized",args:[e],transform:Boolean}),admin:()=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"admin",transform:String}),getNbLanguages:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getNbLanguages",args:[e],transform:Number}),getLanguageAtIndex:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getLanguageAtIndex",args:[e,r],transform:n=>Km(n)}),getNbVersions:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getNbVersions",args:[e,xn(r)],transform:Number}),getVersion:(e,r,n)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getVersion",args:[e,xn(r),n],transform:o=>({uri:hc(o.uri),publicationDate:new Date(Number(o.publicationDate)*1e3),name:o.name,headline:o.headline,descriptionMarkdown:o.descriptionMarkdown,arweaveAddressLogo:o.arweaveAddressLogo,arweaveAddressBanner:o.arweaveAddressBanner,minimumFundingBeforeStartWork:Number(o.minimumFundingBeforeStartWork),maximumFunding:Number(o.maximumFunding),tags:o.tags.map(Number),status:Number(o.status),complexity:Number(o.complexity)})}),getVotingBalance:(e,r)=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getVotingBalance",args:[e,xn(r)]}),getUserBalances:e=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getUserBalances",args:[e],transform:r=>[BigInt(r[0]),BigInt(r[1]),BigInt(r[2])]}),getVotePresets:()=>this.read({contractKey:"projectManagerStorage",contractName:"ProjectManagerStorage",functionName:"getVotePresets",transform:([e,r,n])=>e.map((o,i)=>({projectId:Number(o),lang:Km(r[i]),bps:Number(n[i])}))})}}createBouncerStorageReadAPI(){let e="bouncerStorage",r="BouncerStorage";return{hasAccount:async n=>{await this.ready;let o=this.addresses().bouncerStorage;if(!o)return!1;try{let i=xe.getAbi(this.chainId,r,this.environment);return i?!!await this.publicClient.readContract({address:o,abi:i,functionName:"hasAccount",args:[n]}):!1}catch(i){return console.error(`[EvmClient] hasAccount FAILED for ${n} (returning false):`,i),!1}},userInfos:n=>this.read({contractKey:e,contractName:r,functionName:"userInfos",args:[n],transform:o=>[String((o.username??o[0])||""),String((o.country??o[1])||""),String((o.language??o[2])||""),Number((o.newUserId??o[3])||0)]}),userData:n=>this.read({contractKey:e,contractName:r,functionName:"userData",args:[n],transform:o=>[Number(o.id??o[0]),String(o.addr??o[1]),String(o.username??o[2]),String(o.language??o[3]),String(o.country??o[4])]}),userIdOf:n=>this.read({contractKey:e,contractName:r,functionName:"userIdOf",args:[n],transform:Number}),userIdToUsername:n=>this.read({contractKey:e,contractName:r,functionName:"userIdToUsername",args:[BigInt(n)],transform:String}),userAddr:n=>this.read({contractKey:e,contractName:r,functionName:"userAddr",args:[BigInt(n)],transform:String}),getUsernameByAddress:n=>this.read({contractKey:e,contractName:r,functionName:"getUsernameByAddress",args:[n],transform:String}),getAccountCountByCountryLanguage:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"getAccountCountByCountryLanguage",args:[n,o],transform:Number}),nbAccounts:()=>this.read({contractKey:e,contractName:r,functionName:"nbAccounts",transform:Number}),getAllLocationCounts:()=>this.read({contractKey:e,contractName:r,functionName:"getAllLocationCounts",transform:n=>n.map(o=>({country:String(o.country??o[0]),language:String(o.language??o[1]),count:Number(o.count??o[2])}))}),getActiveLocationCount:()=>this.read({contractKey:e,contractName:r,functionName:"getActiveLocationCount",transform:Number}),identityStats:()=>this.read({contractKey:e,contractName:r,functionName:"identityStats",transform:n=>[Number(n[0]),Number(n[1])]}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean}),getLatestRegisteredUser:async()=>{try{let n=await this.bouncerStorage.nbAccounts();return n===0?null:await this.bouncerStorage.userAddr(n)}catch(n){return console.error("[EvmClient] getLatestRegisteredUser FAILED:",n),null}},getTokenName:()=>this.read({contractKey:e,contractName:r,functionName:"getTokenName",transform:String}),usernameToUserId:n=>this.read({contractKey:e,contractName:r,functionName:"usernameToUserId",args:[n],transform:Number}),userIdByEmailHash:n=>this.read({contractKey:e,contractName:r,functionName:"userIdByEmailHash",args:[n],transform:Number})}}createScientistStorageReadAPI(){let e="scientistStorage",r="ScientistStorage";return{getDeploymentDate:()=>this.read({contractKey:e,contractName:r,functionName:"getDeploymentDate",transform:n=>[Number(n[0]),Number(n[1])]}),getLastMonthId:()=>this.read({contractKey:e,contractName:r,functionName:"getLastMonthId",transform:Number}),getStatsRaw:(n,o,i)=>this.read({contractKey:e,contractName:r,functionName:"getStatsRaw",args:[BigInt(n),BigInt(o),BigInt(i)],transform:s=>[s[0].map(a=>BigInt(a)),s[1].map(a=>Number(a))]}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean})}}createFactoryReadAPI(){let e="factory",r="Factory";return{nbWritesByUsername:n=>this.read({contractKey:e,contractName:r,functionName:"nbWritesByUsername",args:[n],transform:Number}),loadUsername:n=>this.read({contractKey:e,contractName:r,functionName:"loadUsername",args:[n],transform:xd}),loadUsernameSince:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"loadUsernameSince",args:[n,o],transform:xd}),load:()=>this.read({contractKey:e,contractName:r,functionName:"load",transform:xd}),isAuthorized:n=>this.read({contractKey:e,contractName:r,functionName:"isAuthorized",args:[n],transform:Boolean}),owner:()=>this.read({contractKey:e,contractName:r,functionName:"owner",transform:String}),oracleSigner:()=>this.read({contractKey:e,contractName:r,functionName:"oracleSigner",transform:String}),bouncerStorage:()=>this.read({contractKey:e,contractName:r,functionName:"bouncerStorage",transform:String}),scientistStorage:()=>this.read({contractKey:e,contractName:r,functionName:"scientistStorage",transform:String}),backupStorage:()=>this.read({contractKey:e,contractName:r,functionName:"backupStorage",transform:String}),projectManagerStorage:()=>this.read({contractKey:e,contractName:r,functionName:"projectManagerStorage",transform:String})}}createAccountManagerReadAPI(){let e="accountManager",r="AccountManager";return{address:async()=>{await this.ready;let n=this.addresses()[e];if(!n)throw new Error(`[EvmClient] accountManager address missing for chain ${this.chainId}`);return n},oracleSigner:()=>this.read({contractKey:e,contractName:r,functionName:"oracleSigner",transform:String}),usedDeletionConsents:n=>this.read({contractKey:e,contractName:r,functionName:"usedDeletionConsents",args:[n],transform:Boolean}),isPaymentIntentUsed:n=>this.read({contractKey:e,contractName:r,functionName:"isPaymentIntentUsed",args:[n],transform:Boolean})}}createSubscriptionManagerReadAPI(){let e="subscriptionManager",r="SubscriptionManager";return{getSubscriptions:n=>this.read({contractKey:e,contractName:r,functionName:"getSubscriptions",args:[n],transform:o=>[...o],whenAddressMissing:[]}),getSubscriptionCount:n=>this.read({contractKey:e,contractName:r,functionName:"getSubscriptionCount",args:[n],transform:BigInt,whenAddressMissing:0n}),isSubscribed:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"isSubscribed",args:[n,o],transform:Boolean,whenAddressMissing:!1}),scoreOf:n=>this.read({contractKey:e,contractName:r,functionName:"scoreOf",args:[n],transform:BigInt,whenAddressMissing:0n})}}createLibraryRegistryStorageReadAPI(){let e="libraryRegistryStorage",r="LibraryRegistryStorage";return{admin:()=>this.read({contractKey:e,contractName:r,functionName:"admin",transform:String}),getUnverifiedCollectionIds:()=>this.read({contractKey:e,contractName:r,functionName:"getUnverifiedCollectionIds",transform:n=>[...n]}),getVerifiedCollectionIds:()=>this.read({contractKey:e,contractName:r,functionName:"getVerifiedCollectionIds",transform:n=>[...n]}),getCollection:n=>this.read({contractKey:e,contractName:r,functionName:"getCollection",args:[n],transform:o=>({id:String(o.id),slug:String(o.slug),manifestUrl:String(o.manifestUrl),importerUsername:String(o.importerUsername),owner:String(o.owner),verified:!!o.verified,fileCount:Number(o.fileCount),libraryType:Number(o.libraryType),publicLibraryId:Number(o.publicLibraryId),country:String(o.country),language:String(o.language),isPublic:!!o.isPublic,createdAt:Number(o.createdAt),updatedAt:Number(o.updatedAt),initialBookCount:Number(o.initialBookCount),dSafeBookCount:Number(o.dSafeBookCount),importStatus:Number(o.importStatus),published:!!o.published,preferredFormat:String(o.preferredFormat)})})}}createPublicLibraryStorageReadAPI(){let e="publicLibraryStorage",r="PublicLibraryStorage";return{libraryExists:n=>this.read({contractKey:e,contractName:r,functionName:"libraryExists",args:[n],transform:Boolean}),getPublicLibrary:n=>this.read({contractKey:e,contractName:r,functionName:"getPublicLibrary",args:[n],transform:o=>({id:Number(o.id),name:String(o.name),physicalAddress:String(o.physicalAddress),country:String(o.country),language:String(o.language),ownership:Number(o.ownership),website:String(o.website),preferredFormat:String(o.preferredFormat),createdAt:Number(o.createdAt),updatedAt:Number(o.updatedAt)})}),nbLibraries:()=>this.read({contractKey:e,contractName:r,functionName:"nbLibraries",transform:Number}),formatExists:n=>this.read({contractKey:e,contractName:r,functionName:"formatExists",args:[n],transform:Boolean}),getAllFormats:()=>this.read({contractKey:e,contractName:r,functionName:"getAllFormats",transform:n=>[...n]})}}createDSafeHRStorageReadAPI(){let e="dSafeHRStorage",r="DSafeHRStorage";return{isStaffOf:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"isStaffOf",args:[n,o],transform:Boolean}),verifyMember:n=>this.read({contractKey:e,contractName:r,functionName:"verifyMember",args:[n],transform:Boolean}),getStaffLibraries:n=>this.read({contractKey:e,contractName:r,functionName:"getStaffLibraries",args:[n],transform:o=>o.map(Number)}),getCurrentRecordCounter:(n,o)=>this.read({contractKey:e,contractName:r,functionName:"getCurrentRecordCounter",args:[n,o],transform:Number}),getLibrarySequence:n=>this.read({contractKey:e,contractName:r,functionName:"getLibrarySequence",args:[n],transform:Number}),getPublishLock:n=>this.read({contractKey:e,contractName:r,functionName:"getPublishLock",args:[n],transform:o=>[String(o[0]),Number(o[1]),!!o[2]]})}}createRelationshipIndexerStorageReadAPI(){let e="relationshipIndexerStorage",r=i=>({actorId:Number(i.actorId??i[0]),actionId:Number(i.actionId??i[1]),objectType:Number(i.objectType??i[2]),objectId:BigInt(i.objectId??i[3]),tagId:BigInt(i.tagId??i[4]),timestamp:Number(i.timestamp??i[5])}),n=i=>(i||[]).map(r),o=async(i,s,a)=>{await this.ready;let c=this.addresses()[e];if(!c)throw new Error(`[EvmClient] relationshipIndexerStorage address missing for chain ${this.chainId}`);try{let u=await this.publicClient.readContract({address:c,abi:qm,functionName:i,args:s});return a(u)}catch(u){throw ke(u)}};return{getByObjectTarget:(i,s,a,c)=>o("getByObjectTarget",[i,s,BigInt(a),BigInt(c)],n),getByTagTarget:(i,s,a)=>o("getByTagTarget",[i,BigInt(s),BigInt(a)],n),getByActor:(i,s,a)=>o("getByActor",[i,BigInt(s),BigInt(a)],n),countByObjectTarget:async(i,s)=>{let a=await o("objectTargetKey",[i,s],c=>c);return o("countByTarget",[a],Number)},countByTagTarget:async i=>{let s=await o("tagTargetKey",[i],a=>a);return o("countByTarget",[s],Number)},countByActor:i=>o("countByActor",[i],Number),getNewSubscriptionsSince:(i,s)=>o("getNewSubscriptionsSince",[i,s],a=>(a||[]).map(Number)),countNewSubscriptionsSince:(i,s)=>o("countNewSubscriptionsSince",[i,s],Number)}}async getRegistryStatus(){return await this.ready,xe.getLoadingStatus(this.chainId)}};function UR(t=bd,e="production"){return new bc(t,e)}var xc=class{constructor(e,r,n,o){this.wallet=e,this.readonly=r,this.config=r.config,this.environment=r.environment,this.chain=r.chain,this.publicClient=r.publicClient,this._account=o,this.walletClient=n,this.writeOnly={factory:this.createFactoryWriteAPI(n),accountManager:this.createAccountManagerWriteAPI(n),bouncerStorage:this.createBouncerStorageWriteAPI(n),subscriptionManager:this.createSubscriptionManagerWriteAPI(n),addressRegistry:this.createAddressRegistryWriteAPI(n),libraryRegistryStorage:this.createLibraryRegistryStorageWriteAPI(n),publicLibraryStorage:this.createPublicLibraryStorageWriteAPI(n),dSafeHRStorage:this.createDSafeHRStorageWriteAPI(n),sendNative:this.sendNative.bind(this)}}async sendNative(e,r){let n=this.walletClient.account;if(!n)throw new Error("No account connected to wallet");return await this.walletClient.sendTransaction({account:n,to:e,value:dd(r),chain:this.chain})}async minimumFeesIfShort(e,r,n){let o,i,s,a;try{let l=n();[o,{maxFeePerGas:i},{baseFeePerGas:s},a]=await Promise.all([this.publicClient.request({method:"eth_estimateGas",params:[{from:e,to:r,data:l}]}).then(BigInt),this.publicClient.estimateFeesPerGas(),this.publicClient.getBlock(),this.publicClient.getBalance({address:e})])}catch{return{}}if(!s||o*i<=a)return{};let c=this.chain.nativeCurrency.symbol,u=o*s,d=u<=a;if(typeof window<"u"&&window.dispatchEvent(new CustomEvent("wallet_low_balance",{detail:{needed:Rt(o*i),minimum:Rt(u),balance:Rt(a),symbol:c,fits:d}})),!d)throw new Le("INSUFFICIENT_FUNDS",`Not enough ${c} for this save: it needs ~${Number(Rt(u)).toFixed(4)} ${c}, the wallet holds ${Number(Rt(a)).toFixed(4)} ${c}. Top up your gas.`);return{gas:o,maxFeePerGas:s,maxPriorityFeePerGas:0n}}get accountManager(){return this.writeOnly.accountManager}get bouncerStorage(){return this.writeOnly.bouncerStorage}get factory(){return this.writeOnly.factory}get subscriptionManager(){return this.writeOnly.subscriptionManager}get addressRegistry(){return this.writeOnly.addressRegistry}get libraryRegistryStorage(){return this.writeOnly.libraryRegistryStorage}get publicLibraryStorage(){return this.writeOnly.publicLibraryStorage}get dSafeHRStorage(){return this.writeOnly.dSafeHRStorage}getChainId(){return this.readonly.chainId}account(){return this._account}getNormalizedAddress(e){return e.toLowerCase()}requireAbi(e){let r=xe.getAbi(this.readonly.chainId,e,this.environment);if(!r)throw new Error(`[EvmWriteClient] Registry ABI for '${e}' on chain ${this.readonly.chainId} is not loaded. The AddressRegistry may be offline, incomplete, or the chain has not finished syncing. Write operations are blocked until the registry is ready.`);return r}getFactoryAddress(){let e=xe.getAddress(this.readonly.chainId,"factory",this.environment);if(!e)throw new Error(`Factory address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}getRegistryAddress(){let e=this.readonly.activeRegistryAddress;if(!e)throw new Error(`AddressRegistry address not configured for chain ${this.readonly.chainId} (${this.environment})`);return e}createFactoryWriteAPI(e){let r=async()=>{if(!this.config.main)return;let{price:n}=this.config;if(n.stable)return;let{pythOracle:o,usdPriceId:i}=n;if(!o||!i)return;let s=await fetch(`https://hermes.pyth.network/v2/updates/price/latest?ids[]=${i}&encoding=hex`);if(!s.ok)throw new Error(`Hermes price fetch failed: ${s.status}`);let c=(await s.json()).binary?.data??[];if(c.length===0)throw new Error("No price update data from Hermes");let u=c.map(f=>`0x${f}`),d=await this.publicClient.readContract({address:o,abi:Ts,functionName:"getUpdateFee",args:[u]}),l=e.account,p=await e.writeContract({address:o,abi:Ts,functionName:"updatePriceFeeds",args:[u],account:l,chain:this.chain,value:d});await this.publicClient.waitForTransactionReceipt({hash:p})};return{donateToProject:async(n,o,i,s)=>{try{let a=e.account;if(!a)throw new Error("No account connected to wallet");let c=this.getFactoryAddress(),u=BigInt(Math.round(i)),d=await e.writeContract({address:c,abi:this.requireAbi("Factory"),functionName:"voteForProject",args:[n,xn(o),u],account:a,chain:this.chain,gas:s?.gasLimit});s?.onAccepted?.(d);let l=await this.publicClient.waitForTransactionReceipt({hash:d});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),l}catch(a){throw ke(a)}},save:async(n,o,i,s,a)=>{try{let c=e.account;if(!c)throw new Error("No account connected to wallet");let u=this.getFactoryAddress(),d=this.requireAbi("Factory"),l=[n,o,i,s],p=a?.gasLimit?{}:await this.minimumFeesIfShort(c.address,u,()=>ue({abi:d,functionName:"save",args:l})),f=await e.writeContract({address:u,abi:d,functionName:"save",args:l,account:c,chain:this.chain,gas:a?.gasLimit,...p});a?.onAccepted?.(f);let g=await this.publicClient.waitForTransactionReceipt({hash:f});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),g}catch(c){throw ke(c)}},createProject:async(n,o,i,s,a,c,u,d,l,p,f,g,m)=>{try{let h=e.account;if(!h)throw new Error("No account connected to wallet");let b=this.getFactoryAddress(),w=await e.writeContract({address:b,abi:this.requireAbi("Factory"),functionName:"createProject",args:[xn(n),hc(o),i,s,a,c,u,d,l,p,f,g],account:h,chain:this.chain,gas:m?.gasLimit});m?.onAccepted?.(w);let x=await this.publicClient.waitForTransactionReceipt({hash:w});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),x}catch(h){throw ke(h)}},addProjectVersion:async(n,o,i,s,a,c,u,d,l,p,f,g,m,h,b)=>{try{let w=e.account;if(!w)throw new Error("No account connected to wallet");let x=this.getFactoryAddress(),y=await e.writeContract({address:x,abi:this.requireAbi("Factory"),functionName:"addProjectVersion",args:[BigInt(n),xn(o),i,hc(s),a,c,u,d,l,p,f,g,m,h],account:w,chain:this.chain,gas:b?.gasLimit});b?.onAccepted?.(y);let I=await this.publicClient.waitForTransactionReceipt({hash:y});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),I}catch(w){throw ke(w)}},deleteProject:async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getFactoryAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("Factory"),functionName:"deleteProject",args:[n,xn(o)],account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}},setVotePresets:async(n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=await e.writeContract({address:this.getFactoryAddress(),abi:this.requireAbi("Factory"),functionName:"setVotePresets",args:[n.map(a=>a.projectId),n.map(a=>xn(a.lang)),n.map(a=>a.bps)],account:i,chain:this.chain,gas:o?.gasLimit});return o?.onAccepted?.(s),await this.publicClient.waitForTransactionReceipt({hash:s})}catch(i){throw ke(i)}}}}createSubscriptionManagerWriteAPI(e){return{subscribeTo:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=await this.readonly.bouncerStorage.userIdToUsername(n);if(!s)throw new Error(`Target user ID ${n} not registered (no username found)`);let a=this.getFactoryAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("Factory"),functionName:"subscribeTo",args:[s],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(i){throw ke(i)}},unsubscribeFrom:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=await this.readonly.bouncerStorage.userIdToUsername(n);if(!s)throw new Error(`Target user ID ${n} not registered (no username found)`);let a=this.getFactoryAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("Factory"),functionName:"unsubscribeFrom",args:[s],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(i){throw ke(i)}}}}getAccountManagerAddress(){let e=xe.getAddress(this.readonly.chainId,"accountManager",this.environment);if(!e)throw new Error(`AccountManager address not resolved for chain ${this.readonly.chainId} (${this.environment})`);return e}getBouncerStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"bouncerStorage",this.environment);if(!e)throw new Error(`BouncerStorage address not resolved for chain ${this.readonly.chainId} (${this.environment})`);return e}createBouncerStorageWriteAPI(e){return{newAccount:async(r,n,o,i,s,a)=>{try{let c=e.account;if(!c)throw new Error("No account connected to wallet");let u=this.getBouncerStorageAddress(),d=await e.writeContract({address:u,abi:this.requireAbi("BouncerStorage"),functionName:"newAccount",args:[r,n,o,i,s],account:c,chain:this.chain,gas:a?.gasLimit});a?.onAccepted?.(d);let l=await this.publicClient.waitForTransactionReceipt({hash:d});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),l}catch(c){throw ke(c)}}}}createAccountManagerWriteAPI(e){return{registerStripe:async(r,n,o,i,s,a,c)=>{try{let u=e.account;if(!u)throw new Error("No account connected to wallet");let d=this.getAccountManagerAddress(),l=await e.writeContract({address:d,abi:this.requireAbi("AccountManager"),functionName:"registerStripe",args:[r,n,o,i,0n,s,a],account:u,chain:this.chain,gas:c?.gasLimit});c?.onAccepted?.(l);let p=await this.publicClient.waitForTransactionReceipt({hash:l});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),p}catch(u){throw ke(u)}},fundStripe:async(r,n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getAccountManagerAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("AccountManager"),functionName:"fundStripe",args:[r,n,o],account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}},unregisterWithConsent:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=this.getAccountManagerAddress(),a=await e.writeContract({address:s,abi:this.requireAbi("AccountManager"),functionName:"unregisterWithConsent",args:[BigInt(r),n],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(a);let c=await this.publicClient.waitForTransactionReceipt({hash:a});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),c}catch(i){throw ke(i)}}}}createAddressRegistryWriteAPI(e){return{addData:async(r,n,o)=>{try{let i=e.account;if(!i)throw new Error("No account connected to wallet");let s=this.getRegistryAddress(),a=await e.writeContract({address:s,abi:Wt,functionName:"addData",args:[r,n],account:i,chain:this.chain,gas:o?.gasLimit});o?.onAccepted?.(a);let c=await this.publicClient.waitForTransactionReceipt({hash:a});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),c}catch(i){throw ke(i)}},addBlobRef:async(r,n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getRegistryAddress(),c=await e.writeContract({address:a,abi:Wt,functionName:"addBlobRef",args:[r,n,o],account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}}}}getLibraryRegistryStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"libraryRegistryStorage",this.environment);if(!e)throw new Error(`LibraryRegistryStorage address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}createLibraryRegistryStorageWriteAPI(e){let r=async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getLibraryRegistryStorageAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("LibraryRegistryStorage"),functionName:n,args:o,account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}};return{addUnverifiedCollection:(n,o)=>r("addUnverifiedCollection",[n],o),verifyCollection:(n,o)=>r("verifyCollection",[n],o),rejectCollection:(n,o)=>r("rejectCollection",[n],o),updateCollectionStats:(n,o,i,s)=>r("updateCollectionStats",[n,BigInt(o),BigInt(i)],s),setImportStatus:(n,o,i)=>r("setImportStatus",[n,o],i),setPublished:(n,o,i)=>r("setPublished",[n,o],i),setCollectionPublicLibrary:(n,o,i)=>r("setCollectionPublicLibrary",[n,BigInt(o)],i),setPublicLibraryStorage:(n,o)=>r("setPublicLibraryStorage",[n],o)}}getPublicLibraryStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"publicLibraryStorage",this.environment);if(!e)throw new Error(`PublicLibraryStorage address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}createPublicLibraryStorageWriteAPI(e){let r=async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getPublicLibraryStorageAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("PublicLibraryStorage"),functionName:n,args:o,account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}};return{addPublicLibrary:(n,o)=>r("addPublicLibrary",[n],o),updatePublicLibrary:(n,o,i)=>r("updatePublicLibrary",[BigInt(n),o],i),addFormat:(n,o)=>r("addFormat",[n],o)}}getDSafeHRStorageAddress(){let e=xe.getAddress(this.readonly.chainId,"dSafeHRStorage",this.environment);if(!e)throw new Error(`DSafeHRStorage address not resolved for chain ${this.readonly.chainId} (${this.environment}) \u2014 await client.ready before writing.`);return e}createDSafeHRStorageWriteAPI(e){let r=async(n,o,i)=>{try{let s=e.account;if(!s)throw new Error("No account connected to wallet");let a=this.getDSafeHRStorageAddress(),c=await e.writeContract({address:a,abi:this.requireAbi("DSafeHRStorage"),functionName:n,args:o,account:s,chain:this.chain,gas:i?.gasLimit});i?.onAccepted?.(c);let u=await this.publicClient.waitForTransactionReceipt({hash:c});return typeof window<"u"&&window.dispatchEvent(new Event("wallet_transaction_accepted")),u}catch(s){throw ke(s)}};return{addStaff:(n,o,i)=>r("addStaff",[n,o],i),addStaffBatch:(n,o,i)=>r("addStaffBatch",[n,o],i),removeStaff:(n,o,i)=>r("removeStaff",[n,o],i),removeStaffBatch:(n,o,i)=>r("removeStaffBatch",[n,o],i),acquirePublishLock:(n,o)=>r("acquirePublishLock",[n],o),releasePublishLock:(n,o)=>r("releasePublishLock",[n],o),allocateRecordIds:(n,o,i,s)=>r("allocateRecordIds",[n,o,i],s),bumpLibrarySequence:(n,o)=>r("bumpLibrarySequence",[n],o)}}};var gv={},yv={},_R={},zR={};function hv(t,e){let r=e==="staging"?zR:_R,n=e==="staging"?yv:gv,o=r[t];if(!o){if(!hd(t,e))throw new Error(`No EVM client for chain ${t} (${e})`);o=new bc(t,e),r[t]=o,n[t]=o}return o}function vr(t,e="production"){return hv(t,e)}function Qm(t,e="production"){return hv(t,e)}async function Zm(t,e="production"){let r=Qm(t,e);return await r.ready,await xe.waitForAbis(t,e),r}var bv="production",Pb=t=>{bv=t},St=()=>bv;function xv(){let t="@the_library/web3-session:",e="infos_web3_",r="active_session",n={active:null,known:[]},o=new Set,i=()=>o.forEach(f=>f()),s=(f,g)=>`${e}${g}_${f.toLowerCase()}`,a=f=>{if(typeof localStorage>"u")return;let g=s(f.account,f.chainId);localStorage.setItem(t+g,JSON.stringify(f))},c=(f,g)=>{if(typeof localStorage>"u")return;let m=s(f,g);localStorage.removeItem(t+m)},u=()=>{typeof localStorage>"u"||(n.active?localStorage.setItem(t+r,JSON.stringify({address:n.active.account,chainId:n.active.chainId})):localStorage.removeItem(t+r))},d=()=>{if(typeof localStorage>"u")return null;let f=localStorage.getItem(t+r);if(!f)return null;try{let g=JSON.parse(f);return n.known.find(m=>m.account.toLowerCase()===g.address.toLowerCase()&&m.chainId===g.chainId)||null}catch{return null}};function l(){if(typeof localStorage>"u")return;let f="infos_evm_";for(let g=0;g<localStorage.length;g++){let m=localStorage.key(g);if(!m)continue;let h=m.startsWith(t)?m.slice(t.length):null;if(h&&h.startsWith(f)){let b=t+e+h.slice(f.length);localStorage.setItem(b,localStorage.getItem(m)),localStorage.removeItem(m),g--}}}return{getState(){return n},setActive(f){n.active=f,f&&(n.known.some(m=>m.account.toLowerCase()===f.account.toLowerCase()&&m.chainId===f.chainId)||(n.known.push(f),a(f))),u(),i()},addKnown(f){let g=n.known.findIndex(m=>m.account.toLowerCase()===f.account.toLowerCase()&&m.chainId===f.chainId);g>=0?n.known[g]=f:n.known.push(f),a(f),n.active&&n.active.account.toLowerCase()===f.account.toLowerCase()&&n.active.chainId===f.chainId&&(n.active=f,u()),i()},updateAccount(f,g,m){let h=n.known.find(b=>b.account.toLowerCase()===f.toLowerCase()&&b.chainId===g);h&&(Object.assign(h,m),a(h),n.active&&n.active.account.toLowerCase()===f.toLowerCase()&&n.active.chainId===g&&(Object.assign(n.active,m),u()),i())},removeAccount(f,g){n.known=n.known.filter(m=>!(m.account.toLowerCase()===f.toLowerCase()&&m.chainId===g)),c(f,g),n.active&&n.active.account.toLowerCase()===f.toLowerCase()&&n.active.chainId===g&&(n.active=null,u()),i()},clearAll(){if(typeof localStorage<"u"){let f=[];for(let g=0;g<localStorage.length;g++){let m=localStorage.key(g);m&&m.startsWith(t)&&f.push(m)}for(let g of f)localStorage.removeItem(g)}n.active=null,n.known=[],i()},setLastSavedPatchIndex(f,g,m){this.updateAccount(f,g,{lastPatchIndex:m})},setLastRestorationIndex(f,g,m){this.updateAccount(f,g,{lastRestorationIndex:m})},lastSyncCounters(f,g){let m=n.known.find(h=>h.account.toLowerCase()===f.toLowerCase()&&h.chainId===g);return{lastPatchIndex:m?.lastPatchIndex??0,lastRestorationIndex:m?.lastRestorationIndex??0}},updateProjectVotes(f,g,m,h){let b=n.known.find(w=>w.account.toLowerCase()===f.toLowerCase()&&w.chainId===g);if(b){let w=m-1;if(w<0)return;let x=[...b.donationsPerProject||[]];for(;x.length<=w;)x.push(0);x[w]=(x[w]||0)+h,this.updateAccount(f,g,{donationsPerProject:x})}},persist(){for(let f of n.known)a(f);u()},load(){if(typeof localStorage>"u")return;l();let f=[];for(let g=0;g<localStorage.length;g++){let m=localStorage.key(g);if(m&&m.startsWith(t+e))try{let h=localStorage.getItem(m);if(h){let b=JSON.parse(h);f.push(b)}}catch(h){console.warn("Failed to parse loaded session account:",h)}}n.known=f,n.active=d(),i()},subscribe(f){return o.add(f),()=>o.delete(f)}}}var X=xv(),$R=()=>X.getState().known.filter(t=>t.hasAccount);async function Jm(t,e,r,n,o){await g1(t,e,r,n),!(!o||!$.threadInstance)&&await Promise.all([...An().values()].flatMap(i=>[...i.values()]).map(async i=>{let s=[],a=$.observePending(c=>{if(Te(c)&&(c.objectType===i.schema.objectId&&c.objectId===i.id&&s.push(c),c.operation===k.EditRelation)){let u=$r(c);u?.objectType===i.schema.objectId&&u.objectId===i.id&&s.push(u)}});try{let c=await $.threadInstance.sendRequest({cmd:"getRecord",payload:{objectType:i.schema.objectId,id:i.id,creatorUsername:i.creatorUsername}});if(c)i.replaceSnapshot(c);else{let u=new Xe(i.schema.objectId,Xe.createNewRequest(i.id));u.patch({operation:k.EditPropertyNumber,objectType:i.schema.objectId,objectId:i.id,propertyId:6,langId:0,value:1},!1,!1),i.replaceSnapshot(u.snapshot())}for(let u of s)i.patch(u,!1,!1);for(let u of Ug(i.schema))Ze.updateIndex(i.schema.objectId,u.propId,i);At.trigger(i)}finally{a()}}))}var Ym=class{constructor(){this.listeners=new Map}on(e,r){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(r),()=>this.off(e,r)}off(e,r){let n=this.listeners.get(e);n&&(n.delete(r),n.size===0&&this.listeners.delete(e))}emit(e,r){let n=this.listeners.get(e);n&&n.forEach(o=>{try{o(r)}catch(i){console.error(`Error in event listener for ${e}:`,i)}})}once(e,r){let n=o=>{r(o),this.off(e,n)};return this.on(e,n)}clear(e){e?this.listeners.delete(e):this.listeners.clear()}listenerCount(e){return this.listeners.get(e)?.size||0}},Eb=null;function Xm(){return Eb||(Eb=new Ym),Eb}var wv=(c=>(c.WALLET_STATE_CHANGED="wallet:state:changed",c.WALLET_CHAIN_CHANGED="wallet:chain:changed",c.WALLET_ERROR="wallet:error",c.SESSION_UPDATED="session:updated",c.WALLET_DISCONNECTED="wallet:disconnected",c.SESSION_DELETED="session:deleted",c.SAVE_RESTORED="save:restored",c.SUBSCRIPTION_PATCHES_SYNCED="subscription:patches:synced",c))(wv||{}),Iv=(S=>(S.INITIALIZING="INITIALIZING",S.UPDATING_STATE_STARTED="UPDATING_STATE_STARTED",S.UPDATING_STATE_DONE="UPDATING_STATE_DONE",S.UPDATING_STATE_FAILED="UPDATING_STATE_FAILED",S.READY="READY",S.INTERNAL_ERROR="INTERNAL_ERROR",S.NOT_CONNECTED="NOT_CONNECTED",S.NOT_INSTALLED="NOT_INSTALLED",S.NOT_ALLOWED="NOT_ALLOWED",S.NOT_SUPPORTED="NOT_SUPPORTED",S.NOT_READY="NOT_READY",S.CONNECT_STARTED="CONNECT_STARTED",S.CONNECT_DONE="CONNECT_DONE",S.CONNECT_FAILED="CONNECT_FAILED",S.TRANSACTION_STARTED="TRANSACTION_STARTED",S.TRANSACTION_DONE="TRANSACTION_DONE",S.TRANSACTION_FAILED="TRANSACTION_FAILED",S.TIMEOUT="TIMEOUT",S.CHAIN_CHANGED_STARTED="CHAIN_CHANGED_STARTED",S.CHAIN_CHANGED_DONE="CHAIN_CHANGED_DONE",S.CHAIN_CHANGED_FAILED="CHAIN_CHANGED_FAILED",S.WALLET_INSTALLED="WALLET_INSTALLED",S))(Iv||{}),Sv=(p=>(p.NO_ACCOUNTS="NO_ACCOUNTS",p.USER_REJECTED="USER_REJECTED",p.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",p.LOGIN_INTO_WALLET="LOGIN_INTO_WALLET",p.REQUEST_ALREADY_PENDING="REQUEST_ALREADY_PENDING",p.UNKNOWN_ERROR="UNKNOWN_ERROR",p.CONFIG_MISSING="CONFIG_MISSING",p.NOT_SUPPORTED="NOT_SUPPORTED",p.NOT_CONNECTED="NOT_CONNECTED",p.NOT_INSTALLED="NOT_INSTALLED",p.NOT_ALLOWED="NOT_ALLOWED",p.NETWORK_NOT_SUPPORTED="NETWORK_NOT_SUPPORTED",p))(Sv||{}),vv=(s=>(s.NO_ACCOUNT_SWITCH="NO_ACCOUNT_SWITCH",s.NO_NETWORK_SWITCH="NO_NETWORK_SWITCH",s.NETWORK_NOT_SUPPORTED="NETWORK_NOT_SUPPORTED",s.NO_INTERNET="NO_INTERNET",s.NO_DISCONNECT="NO_DISCONNECT",s.NO_ACCOUNT_DISCONNECT="NO_ACCOUNT_DISCONNECT",s))(vv||{});var ei=t=>e=>{Xm().emit(t,e)},ti=t=>e=>Xm().on(t,e),lr={emitWalletStateEvent:ei("wallet:state:changed"),onWalletStateEvent:ti("wallet:state:changed"),emitSessionUpdated:ei("session:updated"),onSessionUpdated:ti("session:updated"),emitChainChanged:ei("wallet:chain:changed"),onChainChanged:ti("wallet:chain:changed"),emitDisconnected:ei("wallet:disconnected"),onDisconnected:ti("wallet:disconnected"),emitWalletSessionDeleted:ei("session:deleted"),onWalletSessionDeleted:ti("session:deleted"),emitWalletError:ei("wallet:error"),onWalletError:ti("wallet:error"),emitSaveRestored:ei("save:restored"),onSaveRestored:ti("save:restored"),emitSubscriptionPatchesSynced:ei("subscription:patches:synced"),onSubscriptionPatchesSynced:ti("subscription:patches:synced")};var Tb={};vt(Tb,{NodeFileCacheStorage:()=>Ps,RegistryAddressLoader:()=>gc,addressLoader:()=>xe,createNodeFileCacheStorage:()=>yb,getContractAbi:()=>hb,getRegistryBaseUrl:()=>gb,setRegistryBaseUrl:()=>mb,sidecarUrlsFromManifest:()=>zm});var HR="0xcA11bde05977b3631167028862bE2a173976CA11";function WR(t){let e=xe.getAddress(t.chainId,"subscriptionManager",t.environment),r=xe.getAbi(t.chainId,"SubscriptionManager",t.environment);return!e||!r?null:{address:e,abi:r}}async function Av(t,e){let r=new Map;if(e.length===0)return r;let n=WR(t);if(n)try{let o=await t.publicClient.multicall({multicallAddress:HR,allowFailure:!0,contracts:e.map(i=>({...n,functionName:"getSubscriptions",args:[i]}))});return e.forEach((i,s)=>{let a=o[s];if(a?.status!=="success")throw new Error(`Could not read subscriptions for ${i}`);r.set(i,(a.result??[]).map(Number))}),r}catch(o){console.warn("[subscription/contract] multicall getSubscriptions failed, falling back to sequential reads",o)}return await Promise.all(e.map(async o=>{r.set(o,await t.subscriptionManager.getSubscriptions(o))})),r}var GR=50,VR=1e3;async function Pv(t,e,r){let n=r?.maxNodes??VR,o=r?.maxDepth,i=new Set([e]),s=new Map([[e,0]]),a=new Map,c=[e],u=!1;for(;c.length>0&&i.size<n;){let d=c.splice(0,GR),l=await Av(t,d);for(let p of d){let f=l.get(p)??[];a.set(p,{userId:p,subscriptions:f});for(let g of f){if(i.has(g)||i.size>=n)continue;let m=(s.get(p)??0)+1;if(o!==void 0&&m>o){u=!0;continue}i.add(g),s.set(g,m),c.push(g)}}}return{rootUserId:e,nodes:a,truncated:c.length>0||u}}async function qR(t,e,r){let[n,o,i]=await t.archivistStorage.loadActionsSince(e,r);return!n||n.length===0?null:{userId:e,fromIndex:r,toIndex:r+n.length,raw:{compressedActions:n,indexes:o,stringIndexes:i}}}async function Ev(t,e,r,n){let o=n?.concurrency??4,i=Array.from(e.nodes.keys()),s=[];for(let a=0;a<i.length;a+=o){let c=i.slice(a,a+o),u=await Promise.all(c.map(d=>qR(t,d,r?.get(d)??0).catch(l=>(console.warn(`[subscription/patch-resolver] failed to fetch patches for userId ${d}`,l),null))));for(let d of u)d&&s.push(d)}return s}function eg(t,e){let r=t.raw;return{version:e,patches:r.compressedActions,textIndex:r.indexes.map(Number),textData:r.stringIndexes}}var wc=class{constructor(e){this.config=e;this.client=Qm(e.chainId,e.environment??"production"),this.defaultMaxWalkNodes=e.maxWalkNodes,this.defaultMaxDepth=e.maxDepth}async walkGraph(e,r){return await this.client.ready,Pv(this.client,e,{maxNodes:r?.maxNodes??this.defaultMaxWalkNodes,maxDepth:r?.maxDepth??this.defaultMaxDepth})}async fetchPatches(e,r,n){return await this.client.ready,Ev(this.client,e,r,n)}async sync(e,r){let n=await this.walkGraph(e,r),o=await this.fetchPatches(n,void 0,r),i=new Map;for(let[a,c]of n.nodes)i.set(a,c.subscriptions.length);let s=new Map;for(let a of o)s.set(a.userId,Math.max(s.get(a.userId)??0,a.toIndex));for(let a of n.nodes.keys())s.has(a)||s.set(a,0);return{patches:o,cursor:{rootUserId:e,knownNodes:n.nodes,countSnapshot:i,patchIndex:s},truncated:n.truncated}}async syncSince(e,r){await this.client.ready;let n=await this.walkGraph(e.rootUserId,r);if(n.truncated)throw new Error("Subscription graph refresh truncated; increase traversal limits before retrying");let o=n.nodes,i=new Map([...o].map(([u,d])=>[u,d.subscriptions.length])),s=!1,a=await this.fetchPatches(n,e.patchIndex,r),c=new Map([...e.patchIndex].filter(([u])=>o.has(u)));for(let u of a)c.set(u.userId,Math.max(c.get(u.userId)??0,u.toIndex));for(let u of o.keys())c.has(u)||c.set(u,0);return{patches:a,cursor:{rootUserId:e.rootUserId,knownNodes:o,countSnapshot:i,patchIndex:c},truncated:s}}async getSubscriptions(e){return await this.client.ready,this.client.subscriptionManager.getSubscriptions(e)}async getScore(e){return await this.client.ready,this.client.subscriptionManager.scoreOf(e)}async loadLibraryByUsername(e){try{await this.client.ready,console.log(`[SubscriptionClient] Starting library load for @${e}...`),console.log(`[SubscriptionClient] Looking up userId for @${e}...`);let r=await this.client.bouncerStorage.usernameToUserId(e);if(!r){console.error(`[SubscriptionClient] Username @${e} not found on-chain`);return}console.log(`[SubscriptionClient] Resolved @${e} \u2192 userId ${r}`),console.log(`[SubscriptionClient] Syncing patches for userId ${r}...`);let n=await this.sync(r);if(n.truncated)throw new Error("Subscription graph truncated; refusing an incomplete view");if(await Jm(this.config.environment??"production",this.config.chainId,r,[...n.cursor.knownNodes.keys()],!0),console.log(`[SubscriptionClient] Fetched ${n.patches.length} patch(es), truncated: ${n.truncated}`),n.patches.length>0){console.log(`[SubscriptionClient] Applying patches for ${n.patches.length} subscription graph patch(es)...`);for(let o of n.patches)try{let i=await this.client.bouncerStorage.userIdToUsername(o.userId);if(!i){console.warn(`[SubscriptionClient] No username found for userId ${o.userId}, skipping patch`);continue}console.log(`[SubscriptionClient] Applying patch for @${i} (userId ${o.userId}, index ${o.fromIndex}\u2013${o.toIndex})...`),await Ks(i,eg(o,Tn),{streamId:`${this.config.environment??"production"}:${this.config.chainId}:${o.userId}`,fromIndex:o.fromIndex});let s=await Qr(i);await Rr(s,i)}catch(i){console.error(`[SubscriptionClient] Failed to apply patch for userId ${o.userId}:`,i?.message||i)}}console.log(`[SubscriptionClient] Successfully loaded library for @${e}`)}catch(r){console.error(`[SubscriptionClient] Failed to load library for @${e}:`,r?.message||r)}}};var Cb={};function Rb(t,e="production"){let r=`${t}:${e}`;return Cb[r]||(Cb[r]=new wc({chainId:t,environment:e})),Cb[r]}function tg(t){return new Promise((e,r)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>r(t.error)})}function KR(t,e){let r,n=()=>{if(r)return r;let o=indexedDB.open(t);return o.onupgradeneeded=()=>o.result.createObjectStore(e),r=tg(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(e,o).objectStore(e)))}var Nb;function Bb(){return Nb||(Nb=KR("keyval-store","keyval")),Nb}function Tv(t,e=Bb()){return e("readonly",r=>tg(r.get(t)))}function Cv(t,e,r=Bb()){return r("readwrite",n=>(n.put(e,t),tg(n.transaction)))}function Rv(t,e=Bb()){return e("readwrite",r=>(r.delete(t),tg(r.transaction)))}function Nv(t){return{rootUserId:t.rootUserId,knownNodes:Array.from(t.knownNodes.entries()),countSnapshot:Array.from(t.countSnapshot.entries()),patchIndex:Array.from(t.patchIndex.entries())}}function Bv(t){return{rootUserId:t.rootUserId,knownNodes:new Map(t.knownNodes),countSnapshot:new Map(t.countSnapshot),patchIndex:new Map(t.patchIndex)}}function QR(t){return{rootUserId:t,knownNodes:new Map,countSnapshot:new Map,patchIndex:new Map}}var Lb="web3-sdk:subscription-cursor:";function wd(t,e,r){return`${t}:${e}:${r}`}var Ic={async get(t){try{let e=await Tv(`${Lb}${t}`);return e?Bv(e):void 0}catch(e){console.warn(`[cursorStore] Failed to read cursor for key ${t}:`,e);return}},async set(t,e){try{await Cv(`${Lb}${t}`,Nv(e))}catch(r){console.warn(`[cursorStore] Failed to persist cursor for key ${t}:`,r)}},async clear(t){try{await Rv(`${Lb}${t}`)}catch{}}};var Lv="@the_library/web3-cache:";function kv(){if(typeof window>"u"||typeof localStorage>"u")return!1;try{let t="__storage_test__";return localStorage.setItem(t,"test"),localStorage.removeItem(t),!0}catch{return!1}}function Id(t){if(!kv())return null;try{let e=localStorage.getItem(Lv+t);return e?JSON.parse(e):null}catch{return null}}function Sd(t,e){if(kv())try{localStorage.setItem(Lv+t,JSON.stringify(e))}catch(r){console.warn("[session/storage] Failed to save to localStorage:",r)}}var rg=new Map;async function Dv(t,e,r){let n=wd(r,e,t),o=rg.get(n);if(o)return o;let i=(async()=>{let s=Rb(e,r),a=await Ic.get(n),c=a?await s.syncSince(a):await s.sync(t);if(c.truncated)throw new Error("Subscription graph is truncated; cursor and active view remain unchanged");let u=!a||a.knownNodes.size!==c.cursor.knownNodes.size||[...a.knownNodes.keys()].some(f=>!c.cursor.knownNodes.has(f));await Jm(r,e,t,[...c.cursor.knownNodes.keys()],u);let d=0,l=new Set;if(c.patches.length>0){let f=vr(e,r);await f.ready;for(let g of c.patches)try{let m=await f.bouncerStorage.userIdToUsername(g.userId);if(!m){l.add(g.userId);continue}await Ks(m,eg(g,Tn),{streamId:`${r}:${e}:${g.userId}`,fromIndex:g.fromIndex});let h=await Qr(m);await Rr(h,m),d+=g.toIndex-g.fromIndex}catch(m){l.add(g.userId),console.warn(`[session/sync] failed to apply subscription patch for userId ${g.userId}`,m)}}let p=new Map(c.cursor.patchIndex);for(let f of l)p.set(f,a?.patchIndex.get(f)??0);await Ic.set(n,{...c.cursor,patchIndex:p}),lr.emitSubscriptionPatchesSynced({rootUserId:t,chainId:e,appliedCount:d,timestamp:Date.now(),failedUserIds:l.size>0?Array.from(l):void 0})})();rg.set(n,i);try{await i}catch(s){rg.delete(n),console.warn(`[session/sync] subscription sync failed for userId ${t}`,s)}finally{rg.delete(n)}}async function ri(t,e,r,n=St(),o=!1){let i=X.getState().known.find(u=>u.account.toLowerCase()===t.toLowerCase()&&u.chainId===e);if(!o&&i?.lastUpdated)return i.hasAccount&&i.userId&&Dv(i.userId,e,n),i;let s=vr(e,n);await s.ready;let a=i?{...i}:{account:t,username:"",hasAccount:!1,userId:0,lastPatchIndex:0,lastRestorationIndex:0,chainId:e,wallet:r},c=await s.bouncerStorage.hasAccount(t);if(a.hasAccount=c,c){let[u,d,l,p]=await s.bouncerStorage.userInfos(t);a.username=u,a.country=d,a.language=l,a.userId=p;let{total:f,donations:g,unspent:m}=await s.projectManagerStorage.balanceOfAddress(t);a.projectBalance={contributions:f,allocated:g,remaining:m};try{a.level=await s.archivistStorage.userLevel(p)}catch{a.level=1}try{a.donationsPerProject=await s.projectManagerStorage.addressDonationsPerProject(t)}catch{a.donationsPerProject=[]}await Dv(p,e,n)}return a.lastUpdated=Date.now(),X.addKnown(a),a}async function kb(t,e,r=St()){let n=X.getState().known.find(s=>s.account.toLowerCase()===t.toLowerCase()&&s.chainId===e);if(!n||!n.hasAccount)return!1;let o=vr(e,r);if(await o.ready,!await o.bouncerStorage.hasAccount(t))return X.updateAccount(t,e,{hasAccount:!1}),!1;try{await nl("mine")>0&&await ct.calculateLevel("mine");let s=await o.factory.nbWritesByUsername(n.username);if(s>n.lastRestorationIndex){let[a,c,u]=await o.factory.loadUsernameSince(n.username,n.lastRestorationIndex),d=0;if(a&&a.length>0){let l=await qs("mine");await Ks("mine",{version:Tn,patches:a,textIndex:c.map(Number),textData:u},{streamId:`${r}:${e}:${n.userId}`,fromIndex:n.lastRestorationIndex});let p=await Qr("mine");await Rr(p,"mine"),Tr(p.filter(f=>f.pk>l&&f.sourceStream&&!Te(f))),d=a.length,await ct.calculateLevel("mine")}X.setLastRestorationIndex(t,e,s),lr.emitSaveRestored({wallet:n.wallet,chainId:e,account:t,username:n.username,newRestorationIndex:s,appliedCount:d,timestamp:Date.now()})}return!0}catch(s){return console.error(`[session/sync] restoreAccountSave failed for ${t} on ${e}`,s),!1}}async function ZR(t,e){let{lastPatchIndex:r}=X.lastSyncCounters(t,e),n=await qs("mine");if(n<=r)return!1;let o=(await pi("mine",r+1)).filter(i=>i.pk<=n&&!i.sourceStream);return o.length>0&&Qs(o).patches.length>0}function Mv(t,e){if(t.length===0)return!1;let r=0;for(let n of t){let o=BigInt(n);for(;r<e.length&&BigInt(e[r])!==o;)r++;if(r===e.length)return!1;r++}return!0}async function Db(t,e,r,n,o=St()){let i=X.getState().known.find(s=>s.account.toLowerCase()===t.toLowerCase()&&s.chainId===e);if(!i?.hasAccount||i.lastRestorationIndex!==r||n.length===0)return!1;try{let s=vr(e,o);await s.ready;let a=await s.factory.nbWritesByUsername(i.username);if(a<=r)return!1;let[c]=await s.factory.loadUsernameSince(i.username,r);return c.length!==a-r||!Mv(c,n)?!1:(X.setLastRestorationIndex(t,e,a),!0)}catch(s){return console.warn(`[session/sync] acknowledgeOwnSave skipped for ${t} on ${e}`,s),!1}}async function JR(t,e=St(),r=!1){let n=`networkInfos_${t}${e==="staging"?"_staging":""}`;if(!r){let u=Id(n);if(u)return u}let o=vr(t,e);await o.ready;let[i,s,a]=await Promise.all([o.bouncerStorage.getAllLocationCounts(),o.projectManagerStorage.nbProjects(),o.bouncerStorage.nbAccounts()]),c={nbUsers:a,nbLocations:i.length,nbProjects:s,locationStats:i};return Sd(n,c),c}var Mb=new Map;function ng(t){Mb.set(t.type,t)}function Ob(t){return Mb.get(t)}function Fb(){return Array.from(Mb.values())}var og="wallet_pk_",jb="@the_library/web3-session:",Ov=null;function XR(){return Ov}function e3(t){Ov=t}function Ub(){if(typeof window>"u"||typeof localStorage>"u")return!1;try{let t="__storage_test__";return localStorage.setItem(t,"test"),localStorage.removeItem(t),!0}catch{return!1}}function Fv(t){if(!Ub())return null;try{let e=localStorage.getItem(jb+t);return e?JSON.parse(e):null}catch{return null}}function t3(t,e){if(Ub())try{localStorage.setItem(jb+t,JSON.stringify(e))}catch(r){console.warn("Failed to save to localStorage:",r)}}function jv(t,e){if(!e)throw new Error("Private key is required");let r=`${og}${t}`;t3(r,e)}function ho(t){let e=`${og}${t}`;return Fv(e)}function ig(t){let e=`${og}${t}`;return!!Fv(e)}function r3(){if(!Ub())return!1;let t=`${jb}${og}`;for(let e=0;e<localStorage.length;e++)if(localStorage.key(e)?.startsWith(t))return!0;return!1}var n3=(t,e,r)=>jv(t,e),o3=(t,e)=>ho(t),i3=t=>ig(t);Da();H();Or();Ut();function Uv(t){if(typeof t=="string"){if(!Z(t,{strict:!1}))throw new le({address:t});return{address:t,type:"json-rpc"}}if(!Z(t.address,{strict:!1}))throw new le({address:t.address});return{address:t.address,nonceManager:t.nonceManager,sign:t.sign,signAuthorization:t.signAuthorization,signMessage:t.signMessage,signTransaction:t.signTransaction,signTypedData:t.signTypedData,source:"custom",type:"local"}}Da();Zt();ze();H();var _b=!1;async function wn({hash:t,privateKey:e,to:r="object"}){let{r:n,s:o,recovery:i}=ir.sign(t.slice(2),e.slice(2),{lowS:!0,extraEntropy:he(_b,{strict:!1})?Me(_b):_b}),s={r:E(n,{size:32}),s:E(o,{size:32}),v:i?28n:27n,yParity:i};return r==="bytes"||r==="hex"?km({...s,to:r}):s}async function _v(t){let{chainId:e,nonce:r,privateKey:n,to:o="object"}=t,i=t.contractAddress??t.address,s=await wn({hash:of({address:i,chainId:e,nonce:r}),privateKey:n,to:o});return o==="object"?{address:i,chainId:e,nonce:r,...s}:s}async function zv({message:t,privateKey:e}){return await wn({hash:Qo(t),privateKey:e,to:"hex"})}er();async function $v(t){let{privateKey:e,transaction:r,serializer:n=MI}=t,o=r.type==="eip4844"?{...r,sidecars:!1}:r,i=await wn({hash:ie(await n(o)),privateKey:e});return await n(r,i)}async function Hv(t){let{privateKey:e,...r}=t;return await wn({hash:lm(r),privateKey:e,to:"hex"})}function vd(t,e={}){let{nonceManager:r}=e,n=Ae(ir.getPublicKey(t.slice(2),!1)),o=Kp(n);return{...Uv({address:o,nonceManager:r,async sign({hash:s}){return wn({hash:s,privateKey:t,to:"hex"})},async signAuthorization(s){return _v({...s,privateKey:t})},async signMessage({message:s}){return zv({message:s,privateKey:t})},async signTransaction(s,{serializer:a}={}){return $v({privateKey:t,transaction:s,serializer:a})},async signTypedData(s){return Hv({...s,privateKey:t})}}),publicKey:n,source:"privateKey"}}function zb(t){return t.startsWith("0x")?t:`0x${t}`}function Ad(t){return vd(zb(t)).address}function Pd(t,e){let r=vd(zb(e)),n=dr(t);return As({account:r,chain:Xo(n),transport:gd(n.rpc)})}var Sc=class{constructor(){this.type="private_key";this.activeChainId=0;this.chainChangedCallbacks=new Set}isAvailable(){return!0}async connect(e=bd){if(!ig(e))throw new Error(`No private key configured for chain ${e}`);this.activeChainId=e;let r=ho(e);if(!r)throw new Error(`No private key configured for chain ${e}`);return{address:Ad(r),chainId:e}}async getAccounts(){if(!this.activeChainId)return[];let e=ho(this.activeChainId);return e?[Ad(e)]:[]}async getChainId(){return this.activeChainId}async requestSwitchChain(e){if(!ho(e))throw new Error(`No private key configured for chain ${e}`);this.activeChainId=e;for(let n of this.chainChangedCallbacks)n(e)}async sendTransaction(e,r){let n=ho(r);if(!n)throw new Error(`No private key found for chain ${r}`);return await Pd(r,n).sendTransaction(e)}async signMessage(e){if(!this.activeChainId)throw new Error("Wallet not connected");let r=ho(this.activeChainId);if(!r)throw new Error("No private key found");return await vd(zb(r)).signMessage({message:e})}async getWalletClient(e){let r=ho(e);if(!r)throw new Error(`No private key configured for chain ${e}`);return Pd(e,r)}onAccountChanged(e){return()=>{}}onChainChanged(e){return this.chainChangedCallbacks.add(e),()=>{this.chainChangedCallbacks.delete(e)}}disconnect(){this.activeChainId=0}};function s3(){return new Sc}async function $b(t,e,r=St()){let n=t;if(typeof n.getWalletClient!="function")throw new Error(`Connector '${t.type}' does not support EVM write operations`);t.type==="private_key"&&await t.getChainId()!==e&&await n.connect(e);let i=(await t.getAccounts())[0];if(!i)throw new Error(`No account available for wallet '${t.type}' \u2014 connect() first`);let s=await Zm(e,r),a=await n.getWalletClient(e);return new xc(t.type,s,a,i)}async function a3(t,e,r=St()){let n=await Zm(t,r),o=Pd(t,e),i=Ad(e);return new xc("private_key",n,o,i)}var ni={lastRun:0,running:!1},Wv=()=>{ni.running=!1,ni.lastRun=0},c3=()=>ni.running&&Date.now()-ni.lastRun<1e3*60?!1:(ni.lastRun=Date.now(),ni.running=!0,!0),Gv=(t,e,r)=>{console.error(`[session/mutations] error while transaction wallet=${t} chainId=${e}`,r),Wv();let n=ke(r).code==="USER_REJECTED";lr.emitWalletError({wallet:t,chainId:e,timestamp:Date.now(),reason:n?"USER_REJECTED":r?.code??"UNKNOWN_ERROR",args:r})},u3=(t,e)=>{lr.emitWalletStateEvent({wallet:t,chainId:e,event:"TRANSACTION_STARTED",timestamp:Date.now()})},d3=(t,e)=>{lr.emitWalletStateEvent({wallet:t,chainId:e,event:"TRANSACTION_DONE",timestamp:Date.now()})},l3=async(t,e)=>c3()?!0:(console.log("[session/mutations] preTransaction skipped \u2014 another transaction is running, wait 1min"),!1),p3=async(t,e,r)=>{ni.running=!1,ni.lastRun=0,lr.emitWalletStateEvent({wallet:t,chainId:e,event:"UPDATING_STATE_STARTED",functionName:"syncAccount",timestamp:Date.now()});try{await ri(r,e,t,St(),!0)}catch(n){return lr.emitWalletStateEvent({wallet:t,chainId:e,event:"UPDATING_STATE_FAILED",functionName:"syncAccount",timestamp:Date.now()}),console.error(n),!1}return lr.emitWalletStateEvent({wallet:t,chainId:e,event:"UPDATING_STATE_DONE",functionName:"syncAccount",timestamp:Date.now()}),!0};async function f3(t,e){let r=Ob(t);if(!r)throw new Error(`No connector registered for wallet '${t}' \u2014 bootstrapWebSDK() must run first`);return $b(r,e,St())}async function Ed(t,e,r,n,o){if(!await l3(t,e))return!1;u3(t,e);try{let i=await f3(t,e);await n(i)}catch(i){throw Gv(t,e,i),i}return d3(t,e),o?.(),p3(t,e,r)}var Vv={retire:(t,e,r,n,o)=>Ed(t,e,r,i=>i.accountManager.unregisterWithConsent(n.expiry,n.signature,o)),vote:(t,e,r,n,o,i,s)=>Ed(t,e,r,a=>a.factory.donateToProject(n,o,i,s)),save:(t,e,r,n,o,i,s,a)=>Ed(t,e,r,c=>c.factory.save(n,s,o,i,a),()=>{if(!a?.skipCounterUpdate){let c=a?.consumedRows??n.length,{lastPatchIndex:u}=X.lastSyncCounters(r,e);X.setLastSavedPatchIndex(r,e,Math.max(u,a?.savedThrough??u+c))}}),subscribe:(t,e,r,n,o)=>Ed(t,e,r,i=>i.subscriptionManager.subscribeTo(n,o)),unsubscribe:(t,e,r,n,o)=>Ed(t,e,r,i=>i.subscriptionManager.unsubscribeFrom(n,o))},m3=100,g3=t=>{switch(t.action){case 0:case 2:case 3:case 5:return`${t.objectType}:${t.objectId}:0`;case 4:return`${t.objectType}:${t.objectId}:${t.part}`;case 6:return`${t.objectType}:${t.objectId}:${t.part}`;default:return null}};function y3(t){let e=[],r=[],n=new Set;for(let o of t){let i=Te(o)?null:g3(o);i!==null&&!n.has(i)&&n.size>=m3&&(e.push(r),r=[],n=new Set),i!==null&&n.add(i),r.push(o)}return r.length&&e.push(r),e}var Hb=new Map;function h3(t,e,r,n){let o=`${St()}:${e}:${r.toLowerCase()}`,i=Hb.get(o);if(i)return i;let s=b3(t,e,r,n);return Hb.set(o,s),s.finally(()=>Hb.delete(o)).catch(()=>{}),s}async function b3(t,e,r,n){let{lastPatchIndex:o}=X.lastSyncCounters(r,e),i=await qs("mine"),s=i>o?(await pi("mine",o+1)).filter(f=>f.pk<=i&&!f.sourceStream):[],a;try{a=kb}catch{}if(!(typeof a=="function"?await a(r,e):!0))return!1;s.length>0&&$.threadInstance&&await Rr(s,"mine");let{lastRestorationIndex:u}=X.lastSyncCounters(r,e),d=[],l=await x3(t,e,r,n,d),p;try{p=Db}catch{}return l&&typeof p=="function"&&await p(r,e,u,d),l}async function x3(t,e,r,n,o=[]){let{lastPatchIndex:i}=X.lastSyncCounters(r,e),s=await qs("mine");if(s<=i)return!1;let a=Math.floor(await ct.calculateLevel("mine"))+1,c=(await pi("mine",i+1)).filter(p=>p.pk<=s),u=y3(c),d=i,l=!1;for(let p=0;p<u.length;p++){let f=u[p],g=p===u.length-1?s:f[f.length-1].pk,m=Qs(f);if(m.patches.length===0)n?.skipCounterUpdate||X.setLastSavedPatchIndex(r,e,g);else{if(!await Vv.save(t,e,r,m.patches,m.textIndex,m.textData,a,{...n,consumedRows:g-d,savedThrough:g}))return l;l=!0,o.push(...m.patches.map(BigInt))}d=g}return!u.length&&!n?.skipCounterUpdate&&X.setLastSavedPatchIndex(r,e,s),l}var qv=(t,e,r)=>{let n=t.balance,o=t.availableLanguages.findIndex(s=>s===e);if(o!==-1)return{lang:t.availableLanguages[o],version:{...t.versions[o]},id:t.id,balance:n};let i=t.availableLanguages.findIndex(s=>s===" eng");if(i!==-1)return{lang:" eng",version:{...t.versions[i]},id:t.id,balance:n};if(t.availableLanguages.length===0)throw new Error(`No language available for project ${t.id}`);return{lang:t.availableLanguages[0],version:{...t.versions[0]},id:t.id,balance:n}},Kv=120*1e3,Wb=class{projectKey(e,r,n){return`${e}_${r}_${n}_v2`}nbProjectsKey(e,r){return`${e}_${r}_nbProjects_v2`}nbProjects(e,r){let n=Id(this.nbProjectsKey(e,r));return n?parseInt(n,10):0}setNbProjects(e,r,n){Sd(this.nbProjectsKey(e,r),n.toString())}getProject(e,r,n){return Id(this.projectKey(e,r,n))}cacheProject(e,r,n){Sd(this.projectKey(e,r,n.id),{...n,cachedAt:Date.now()})}getCachedProjects(e,r){let n=this.nbProjects(e,r);if(n<=0)return[];let o=[];for(let i=1;i<=n;i++)o.push(this.getProject(e,r,i));return o}async loadProject(e,r,n,o=!1){let i=this.getProject(e,r,n);if(i!==null&&Date.now()-(i.cachedAt??0)<Kv&&!o)return i;try{let a=vr(e);await a.ready;let c=qv(await a.projectManagerStorage.loadProject(n),r,e);return this.cacheProject(e,r,c),c}catch(a){if(i!==null&&!o)return i;throw a}}async loadProjects(e,r){let n;try{n=vr(e)}catch(a){return console.warn(`[ProjectRegistry] No read client for chain ${e} \u2014 returning cached projects only.`,a),this.getCachedProjects(e,r)}await n.ready;let o=this.nbProjects(e,r),i=await n.projectManagerStorage.nbProjects();i!==o&&this.setNbProjects(e,r,i);let s=Array.from({length:i},(a,c)=>c+1);return Promise.all(s.map(a=>this.loadProject(e,r,a).catch(c=>(console.error(`[ProjectRegistry] Error loading project ${a}:`,c),null))))}},Qv=new Wb,Gb=(t,e)=>Qv.loadProjects(t,e),w3=(t,e,r,n=!1)=>Qv.loadProject(t,e,r,n);var Zv=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"Forbidden",type:"error"},{inputs:[],name:"ImportsFinalized",type:"error"},{inputs:[{internalType:"uint64",name:"count",type:"uint64"}],name:"InvalidBatchSize",type:"error"},{inputs:[],name:"InvalidPublicLibraryId",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"LibraryIdOutOfRange",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"NotLibraryStaff",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"NotLockHolder",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"holder",type:"address"},{internalType:"uint256",name:"expiresAt",type:"uint256"}],name:"PublishLockHeld",type:"error"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"PublishNotLocked",type:"error"},{inputs:[],name:"StorageFrozen",type:"error"},{anonymous:!1,inputs:[],name:"ImportsFinalized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldRegistry",type:"address"},{indexed:!0,internalType:"address",name:"newRegistry",type:"address"}],name:"LibraryRegistryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"},{indexed:!1,internalType:"uint32",name:"seq",type:"uint32"}],name:"LibrarySequenceBumped",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"frozen",type:"bool"}],name:"MigrationFrozen",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"},{indexed:!1,internalType:"uint256",name:"acquiredAt",type:"uint256"}],name:"PublishLockAcquired",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"}],name:"PublishLockReleased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"uint8",name:"objectType",type:"uint8"},{indexed:!0,internalType:"address",name:"staff",type:"address"},{indexed:!1,internalType:"uint64",name:"startId",type:"uint64"},{indexed:!1,internalType:"uint64",name:"count",type:"uint64"}],name:"RecordIdsAllocated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"}],name:"StaffAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"libraryId",type:"uint256"},{indexed:!0,internalType:"address",name:"staff",type:"address"}],name:"StaffRemoved",type:"event"},{inputs:[],name:"MAX_BATCH_SIZE",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_LOCK_DURATION",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"acquirePublishLock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"staff",type:"address"}],name:"addStaff",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address[]",name:"staffMembers",type:"address[]"}],name:"addStaffBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint8",name:"objectType",type:"uint8"},{internalType:"uint64",name:"count",type:"uint64"}],name:"allocateRecordIds",outputs:[{internalType:"uint64",name:"startId",type:"uint64"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"authorizedWriters",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"bumpLibrarySequence",outputs:[{internalType:"uint32",name:"seq",type:"uint32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportLibraries",outputs:[{internalType:"uint256[]",name:"libraryIds",type:"uint256[]"},{internalType:"uint32[]",name:"sequences",type:"uint32[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"exportRecordCounters",outputs:[{internalType:"uint64[256]",name:"counters",type:"uint64[256]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"limit",type:"uint256"}],name:"exportStaff",outputs:[{internalType:"address[]",name:"staff",type:"address[]"},{internalType:"uint256",name:"total",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"finalizeImports",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"freezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint8",name:"objectType",type:"uint8"}],name:"getCurrentRecordCounter",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"getLibrarySequence",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"getPublishLock",outputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"uint64",name:"acquiredAt",type:"uint64"},{internalType:"bool",name:"active",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"staff",type:"address"}],name:"getStaffLibraries",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"uint32",name:"sequence",type:"uint32"},{internalType:"uint64[256]",name:"counters",type:"uint64[256]"}],name:"importLibraryState",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address[]",name:"staff",type:"address[]"}],name:"importStaff",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"importsFinalized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"isStaffOf",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"libraryRegistry",outputs:[{internalType:"contract IPublicLibraryStorage",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"migrationFrozen",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nbLibraries",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"nbStaff",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"}],name:"releasePublishLock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address",name:"staff",type:"address"}],name:"removeStaff",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"libraryId",type:"uint256"},{internalType:"address[]",name:"staffMembers",type:"address[]"}],name:"removeStaffBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"storageAddr",type:"address"}],name:"setLibraryRegistry",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unfreezeForMigration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"staff",type:"address"}],name:"verifyMember",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];var Vb={AddressRegistry:"The Card Catalog",Factory:"The Head Librarian",BouncerStorage:"The Library Card Office",ProjectManagerStorage:"The Project Manager",ScientistStorage:"The Statistician",BackupStorage:"The Archivist",AccountManager:"RegistrationDesk",SubscriptionManager:"The Membership Desk",LibraryRegistryStorage:"The Union Catalog",PublicLibraryStorage:"The Reading Room",DSafeHRStorage:"The Staff Office",StatsPivotStorage:"The Records Room",RelationshipIndexerStorage:"The Cross-Reference Desk",EmailRecoveryManager:"The Lost & Found"};function Jv(t){return Vb[t]??t}var qb=(u=>(u.chromium="chromium",u.firefox="firefox",u.safari="safari",u.edge="edge",u.opera="opera",u.brave="brave",u.vivaldi="vivaldi",u.yandex="yandex",u.palemoon="palemoon",u))(qb||{}),Kb=(n=>(n.android="android",n.ios="ios",n.browsers="browsers",n))(Kb||{}),Qb=(t=typeof navigator<"u"?navigator.userAgent:"")=>{let e=t.toLowerCase(),r;e.includes("yabrowser")||e.includes("yandex")?r="yandex":e.includes("brave")?r="brave":e.includes("vivaldi")?r="vivaldi":e.includes("palemoon")?r="palemoon":e.includes("edg/")||e.includes("edge/")?r="edge":e.includes("opr/")||e.includes("opera/")?r="opera":e.includes("firefox/")?r="firefox":e.includes("safari/")&&!e.includes("chrome/")?r="safari":(e.includes("chrome/")||e.includes("chromium/"),r="chromium");let n;return e.includes("android")?n="android":e.includes("iphone")||e.includes("ipad")||e.includes("ipod")?n="ios":n="browsers",{browser:r,platform:n}};var Zb=null;typeof window<"u"&&(window.addEventListener("eip6963:announceProvider",t=>{let e=t.detail;(e.info.rdns==="io.metamask"||e.info.rdns==="io.metamask.flask")&&(Zb=e.provider)}),window.dispatchEvent(new Event("eip6963:requestProvider")));var vc=class{constructor(){this.type="metamask";this.accountChangedCallbacks=new Set;this.chainChangedCallbacks=new Set;this.isListening=!1}getProvider(){return Zb||(typeof window<"u"?window.ethereum:null)}isAvailable(){return!!this.getProvider()}setupListeners(){if(this.isListening)return;let e=this.getProvider();e&&typeof e.on=="function"&&(e.on("accountsChanged",r=>{let n=r[0]||"";for(let o of this.accountChangedCallbacks)o(n)}),e.on("chainChanged",r=>{let n=parseInt(r,16);for(let o of this.chainChangedCallbacks)o(n)}),this.isListening=!0)}async connect(){let e=this.getProvider();if(!e)throw new Error("MetaMask provider not found");this.setupListeners();let r=await e.request({method:"eth_requestAccounts"}),n=await e.request({method:"eth_chainId"});return{address:r[0],chainId:parseInt(n,16)}}async getAccounts(){let e=this.getProvider();if(!e)return[];try{return await e.request({method:"eth_accounts"})||[]}catch{return[]}}async getChainId(){let e=this.getProvider();if(!e)return 0;try{let r=await e.request({method:"eth_chainId"});return parseInt(r,16)}catch{return 0}}async requestSwitchChain(e){let r=this.getProvider();if(!r)throw new Error("MetaMask provider not found");let n="0x"+e.toString(16);try{await r.request({method:"wallet_switchEthereumChain",params:[{chainId:n}]})}catch(o){if(o.code===4902){let i=dr(e);if(!i)throw new Error(`No configuration found for chain ID: ${e}`);await r.request({method:"wallet_addEthereumChain",params:[{chainId:n,chainName:i.name,rpcUrls:[i.rpc],blockExplorerUrls:[i.explorer],nativeCurrency:{decimals:i.decimals||18,name:i.name,symbol:i.symbol}}]})}else throw o}}async sendTransaction(e,r){let n=this.getProvider();if(!n)throw new Error("MetaMask provider not found");let o=await this.getAccounts();if(o.length===0)throw new Error("No accounts connected");let i=Xo(dr(r));return await As({account:o[0],chain:i,transport:md(n)}).sendTransaction(e)}async signMessage(e){let r=this.getProvider();if(!r)throw new Error("MetaMask provider not found");let n=await this.getAccounts();if(n.length===0)throw new Error("No accounts connected");return await As({account:n[0],transport:md(r)}).signMessage({account:n[0],message:e})}async getWalletClient(e){let r=this.getProvider();if(!r)throw new Error("MetaMask provider not found");let n=await this.getAccounts();if(n.length===0)throw new Error("No accounts connected");let o=Xo(dr(e));return As({account:n[0],chain:o,transport:md(r)})}onAccountChanged(e){return this.setupListeners(),this.accountChangedCallbacks.add(e),()=>{this.accountChangedCallbacks.delete(e)}}onChainChanged(e){return this.setupListeners(),this.chainChangedCallbacks.add(e),()=>{this.chainChangedCallbacks.delete(e)}}disconnect(){}};function I3(){return new vc}var S3="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLQogIC0gICAvKgogIC0gICAgKiBDb3B5cmlnaHQgKGMpIDIwMjYgRGF0YVBvbmQgRC1MaWJyYXJ5IFB0eSBMdGQuICgiVGhlIFNhbmN0dWFyeSIpCiAgLSAgICAqIE5vbi1Qcm9maXQgUHVibGljIExpYnJhcnkg4oCUIFRoZSBXb3JsZCBMaWJyYXJ5CiAgLSAgICAqCiAgLSAgICAqIExpY2Vuc2VkIHVuZGVyIHRoZSBELU9wZW4gQ29kZSBTb3ZlcmVpZ24gTGljZW5jZSB2MS4wCiAgLSAgICAqIGh0dHBzOi8vcmVnaXN0cnkud29ybGQuYmlibGlvdGVjaC5jb20vbGljZW5jZQogIC0gICAgKgogIC0gICAgKiBUZWNobmljYWwgR3VhcmRpYW4gKCJUaGUgU2hpZWxkIik6IFBvbmQgRW50ZXJwcmlzZSBQdHkgTHRkLiAoQUNOIDY5NCA3NDcgOTg3KQogIC0gICAgKiBBbGwgbGlhYmlsaXR5IGNsYWltcyBkaXJlY3RlZCB0byBQb25kIEVudGVycHJpc2UgUHR5IEx0ZC4KICAtICAgICogTW9kaWZpY2F0aW9uIGF1dG9tYXRpY2FsbHkgdm9pZHMgdGhlIGNlcnRpZmllZCBsaWFiaWxpdHkgcHJvdGVjdGlvbi4KICAtICAgICogR292ZXJuaW5nIGxhdzogU291dGggQXVzdHJhbGlhLgogIC0gICAgKi8KICAtCiAgLS0+Cgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgaWQ9IkxheWVyXzEiIHg9IjAiIHk9IjAiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMxOC42IDMxOC42Ij4KICA8c3R5bGU+CiAgICAuc3QxLC5zdDZ7ZmlsbDojZTQ3NjFiO3N0cm9rZTojZTQ3NjFiO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZH0uc3Q2e2ZpbGw6I2Y2ODUxYjtzdHJva2U6I2Y2ODUxYn0KICA8L3N0eWxlPgogIDxwYXRoIGZpbGw9IiNlMjc2MWIiIHN0cm9rZT0iI2UyNzYxYiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtMjc0LjEgMzUuNS05OS41IDczLjlMMTkzIDY1Ljh6Ii8+CiAgPHBhdGggZD0ibTQ0LjQgMzUuNSA5OC43IDc0LjYtMTcuNS00NC4zem0xOTMuOSAxNzEuMy0yNi41IDQwLjYgNTYuNyAxNS42IDE2LjMtNTUuM3ptLTIwNC40LjlMNTAuMSAyNjNsNTYuNy0xNS42LTI2LjUtNDAuNnoiIGNsYXNzPSJzdDEiLz4KICA8cGF0aCBkPSJtMTAzLjYgMTM4LjItMTUuOCAyMy45IDU2LjMgMi41LTItNjAuNXptMTExLjMgMC0zOS0zNC44LTEuMyA2MS4yIDU2LjItMi41ek0xMDYuOCAyNDcuNGwzMy44LTE2LjUtMjkuMi0yMi44em03MS4xLTE2LjUgMzMuOSAxNi41LTQuNy0zOS4zeiIgY2xhc3M9InN0MSIvPgogIDxwYXRoIGZpbGw9IiNkN2MxYjMiIHN0cm9rZT0iI2Q3YzFiMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtMjExLjggMjQ3LjQtMzMuOS0xNi41IDIuNyAyMi4xLS4zIDkuM3ptLTEwNSAwIDMxLjUgMTQuOS0uMi05LjMgMi41LTIyLjF6Ii8+CiAgPHBhdGggZmlsbD0iIzIzMzQ0NyIgc3Ryb2tlPSIjMjMzNDQ3IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Im0xMzguOCAxOTMuNS0yOC4yLTguMyAxOS45LTkuMXptNDAuOSAwIDguMy0xNy40IDIwIDkuMXoiLz4KICA8cGF0aCBmaWxsPSIjY2Q2MTE2IiBzdHJva2U9IiNjZDYxMTYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0ibTEwNi44IDI0Ny40IDQuOC00MC42LTMxLjMuOXpNMjA3IDIwNi44bDQuOCA0MC42IDI2LjUtMzkuN3ptMjMuOC00NC43LTU2LjIgMi41IDUuMiAyOC45IDguMy0xNy40IDIwIDkuMXptLTEyMC4yIDIzLjEgMjAtOS4xIDguMiAxNy40IDUuMy0yOC45LTU2LjMtMi41eiIvPgogIDxwYXRoIGZpbGw9IiNlNDc1MWYiIHN0cm9rZT0iI2U0NzUxZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtODcuOCAxNjIuMSAyMy42IDQ2LS44LTIyLjl6bTEyMC4zIDIzLjEtMSAyMi45IDIzLjctNDZ6bS02NC0yMC42LTUuMyAyOC45IDYuNiAzNC4xIDEuNS00NC45em0zMC41IDAtMi43IDE4IDEuMiA0NSA2LjctMzQuMXoiLz4KICA8cGF0aCBkPSJtMTc5LjggMTkzLjUtNi43IDM0LjEgNC44IDMuMyAyOS4yLTIyLjggMS0yMi45em0tNjkuMi04LjMuOCAyMi45IDI5LjIgMjIuOCA0LjgtMy4zLTYuNi0zNC4xeiIgY2xhc3M9InN0NiIvPgogIDxwYXRoIGZpbGw9IiNjMGFkOWUiIHN0cm9rZT0iI2MwYWQ5ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJtMTgwLjMgMjYyLjMuMy05LjMtMi41LTIuMmgtMzcuN2wtMi4zIDIuMi4yIDkuMy0zMS41LTE0LjkgMTEgOSAyMi4zIDE1LjVoMzguM2wyMi40LTE1LjUgMTEtOXoiLz4KICA8cGF0aCBmaWxsPSIjMTYxNjE2IiBzdHJva2U9IiMxNjE2MTYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0ibTE3Ny45IDIzMC45LTQuOC0zLjNoLTI3LjdsLTQuOCAzLjMtMi41LIUyLjEgMi4zLTIuMmgzNy43bDIuNSAyLjJ6Ii8+CiAgPHBhdGggZmlsbD0iIzc2M2QxNiIgc3Ryb2tlPSIjNzYzZDE2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Im0yNzguMyAxMTQuMiA4LjUtNDAuOC0xMi43LTM3LjktOTYuMiA3MS40IDM3IDMxLjMgNTIuMyAxNS4zIDExLjYtMTMuNS01LTMuNiA4LTcuMy02LjItNC44IDgtNi4xek0zMS44IDczLjRsOC41IDQwLjgtNS40IDQgOCA2LjEtNi4xIDQuOCA4IDcuMy01IDMuNiAxMS41IDEzLjUgNTIuMy0xNS4zID3LTMxLjMtOTYuMi03MS40eiIvPgogIDxwYXRoIGQ9Im0yNjcuMiAxNTMuNS01Mi4zLTE1LjMgMTUuOSAyMy45LTIzLjcgNDYgMzEuMi0uNGg0Ni41em0tMTYzLjYtMTUuMy01Mi4zIDE1LjMtMTcuNCA1NC4yaDQ2LjRsMzEuMS40LTIzLjYtNDZ6bTcxIDI2LjQgMy4zLTU3LjcgMTUuMi00MS4xaC02Ny41bDE1IDQxLjEgMy41IDU3LjcgMS4yIDE4LjIuMSA0NC44aDI3LjdsLjItNDQuOHoiIGNsYXNzPSJzdDYiLz4KPC9zdmc+",v3={metamask:{displayName:"MetaMask",logoUrl:S3,description:"The most popular Ethereum wallet extension",website:"https://metamask.io/",isInstalled(){return typeof window<"u"&&typeof window.ethereum<"u"&&window.ethereum.isMetaMask},isInstallable(){try{return this.getInstallUrl(),!0}catch{return!1}},getInstallUrl(t){let{browser:e,platform:r}=Qb(),n=t||e;switch(r){case"android":return"https://play.google.com/store/apps/details?id=io.metamask";case"ios":return"https://apps.apple.com/us/app/metamask-crypto-wallet/id1438144202";case"browsers":switch(n){case"chromium":case"brave":return"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn";case"firefox":return"https://addons.mozilla.org/en-US/firefox/addon/ether-metamask/";case"opera":return"https://addons.opera.com/en/extensions/details/metamask/";case"edge":return"https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm";default:throw new Error(`Browser ${n} is not supported for installation of MetaMask extension.`)}default:throw new Error(`Platform ${r} is not supported for MetaMask.`)}}},private_key:{displayName:"Private Key",logoUrl:"",description:"Direct embedded wallet using a raw private key",website:"",isInstalled(){return!0},isInstallable(){return!1},getInstallUrl(){return""}}};var Xb={};vt(Xb,{BATCH_AUTHORIZATION_MAX_AGE_MS:()=>Yv,BATCH_AUTHORIZATION_MAX_CLOCK_SKEW_MS:()=>Xv,DELETION_CONSENT_PURPOSE:()=>rA,DELETION_CONSENT_TTL_SECONDS:()=>T3,buildConfirmDeleteLink:()=>D3,createBatchSigningMessage:()=>tA,decodeDeletionConsentToken:()=>k3,deletionConsentMessageHash:()=>Yb,encodeDeletionConsentToken:()=>L3,hashBatchEmails:()=>eA,normalizeBatchEmails:()=>sg,parseAuthorizedAdmins:()=>P3,signDeletionConsent:()=>C3,verifyBatchAuthorization:()=>E3,verifyDeletionConsent:()=>R3});var Yv=600*1e3,Xv=120*1e3,A3=/^[A-Za-z0-9_.:-]{1,128}$/;function sg(t){return[...new Set(t.map(e=>String(e).trim().toLowerCase()))].sort()}function eA(t){return ie(Ft(JSON.stringify(sg(t))))}function tA(t){let e=sg(t.emails);return`Authorize bulk account creation
|
|
45
45
|
|
|
46
46
|
Environment: ${t.environment}
|
|
47
47
|
Batch ID: ${t.batchId}
|
|
@@ -52,7 +52,7 @@ Issued at: ${t.issuedAt}
|
|
|
52
52
|
|
|
53
53
|
By signing this message, you authorize the creation of these user accounts.
|
|
54
54
|
|
|
55
|
-
Do not sign this if you do not recognize this request.`}function P3(t){return(t??"").split(",").map(e=>e.trim()).filter(e=>Z(e,{strict:!1})).map(e=>Re(e))}async function E3(t){let{payload:e,signature:r,claimedSigner:n}=t,o=t.now??Date.now();if(typeof e.batchId!="string"||!A3.test(e.batchId))return{ok:!1,reason:"invalid_batch_id"};if(!Array.isArray(e.emails)||e.emails.length===0)return{ok:!1,reason:"invalid_emails"};let i=typeof e.issuedAt=="string"?Date.parse(e.issuedAt):NaN;if(Number.isNaN(i))return{ok:!1,reason:"invalid_issued_at"};if(i>o+Xv)return{ok:!1,reason:"issued_in_future"};if(o-i>Yv)return{ok:!1,reason:"expired"};if(typeof r!="string"||!/^0x[0-9a-fA-F]{130}$/.test(r))return{ok:!1,reason:"malformed_signature"};let s;try{s=await ud({message:tA(e),signature:r})}catch{return{ok:!1,reason:"malformed_signature"}}return n!=null&&n!==""&&(typeof n!="string"||!Z(n,{strict:!1})||Re(n)!==s)?{ok:!1,reason:"signer_mismatch"}:t.authorizedAdmins.filter(c=>Z(c,{strict:!1})).map(c=>Re(c)).includes(s)?{ok:!0,signer:s,emails:sg(e.emails)}:{ok:!1,reason:"unauthorized_signer"}}var rA="EmailConsent",T3=1440*60;function Yb(t){return ie(R0(["string","address","uint256","address","uint256"],[rA,Re(t.account),BigInt(t.chainId),Re(t.accountManager),BigInt(t.expiry)]))}async function C3(t,e){let r=await e({message:{raw:Yb(t)}});return{...t,signature:r}}async function R3(t,e){let r=e.now??Math.floor(Date.now()/1e3);if(t.chainId!==e.chainId)return{ok:!1,reason:"wrong_chain"};if(!Z(e.accountManager)||Re(t.accountManager)!==Re(e.accountManager))return{ok:!1,reason:"wrong_account_manager"};if(t.expiry<r)return{ok:!1,reason:"expired"};let n;try{n=await ud({message:{raw:Yb(t)},signature:t.signature})}catch{return{ok:!1,reason:"malformed"}}return!Z(e.oracleSigner)||Re(n)!==Re(e.oracleSigner)?{ok:!1,reason:"signer_mismatch"}:{ok:!0,consent:t}}var N3=t=>(typeof btoa=="function"?btoa(t):Buffer.from(t,"binary").toString("base64")).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),B3=t=>{let e=t.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?atob(e):Buffer.from(e,"base64").toString("binary")};function L3(t){let{account:e,chainId:r,accountManager:n,expiry:o,signature:i}=t;return N3(JSON.stringify({account:e,chainId:r,accountManager:n,expiry:o,signature:i}))}function k3(t){try{let e=JSON.parse(B3(t));return!Z(e.account)||!Z(e.accountManager)||!Number.isSafeInteger(e.chainId)||!Number.isSafeInteger(e.expiry)||!he(e.signature)||e.signature.length!==132?null:{account:Re(e.account),chainId:e.chainId,accountManager:Re(e.accountManager),expiry:e.expiry,signature:e.signature}}catch{return null}}function
|
|
55
|
+
Do not sign this if you do not recognize this request.`}function P3(t){return(t??"").split(",").map(e=>e.trim()).filter(e=>Z(e,{strict:!1})).map(e=>Re(e))}async function E3(t){let{payload:e,signature:r,claimedSigner:n}=t,o=t.now??Date.now();if(typeof e.batchId!="string"||!A3.test(e.batchId))return{ok:!1,reason:"invalid_batch_id"};if(!Array.isArray(e.emails)||e.emails.length===0)return{ok:!1,reason:"invalid_emails"};let i=typeof e.issuedAt=="string"?Date.parse(e.issuedAt):NaN;if(Number.isNaN(i))return{ok:!1,reason:"invalid_issued_at"};if(i>o+Xv)return{ok:!1,reason:"issued_in_future"};if(o-i>Yv)return{ok:!1,reason:"expired"};if(typeof r!="string"||!/^0x[0-9a-fA-F]{130}$/.test(r))return{ok:!1,reason:"malformed_signature"};let s;try{s=await ud({message:tA(e),signature:r})}catch{return{ok:!1,reason:"malformed_signature"}}return n!=null&&n!==""&&(typeof n!="string"||!Z(n,{strict:!1})||Re(n)!==s)?{ok:!1,reason:"signer_mismatch"}:t.authorizedAdmins.filter(c=>Z(c,{strict:!1})).map(c=>Re(c)).includes(s)?{ok:!0,signer:s,emails:sg(e.emails)}:{ok:!1,reason:"unauthorized_signer"}}var rA="EmailConsent",T3=1440*60;function Yb(t){return ie(R0(["string","address","uint256","address","uint256"],[rA,Re(t.account),BigInt(t.chainId),Re(t.accountManager),BigInt(t.expiry)]))}async function C3(t,e){let r=await e({message:{raw:Yb(t)}});return{...t,signature:r}}async function R3(t,e){let r=e.now??Math.floor(Date.now()/1e3);if(t.chainId!==e.chainId)return{ok:!1,reason:"wrong_chain"};if(!Z(e.accountManager)||Re(t.accountManager)!==Re(e.accountManager))return{ok:!1,reason:"wrong_account_manager"};if(t.expiry<r)return{ok:!1,reason:"expired"};let n;try{n=await ud({message:{raw:Yb(t)},signature:t.signature})}catch{return{ok:!1,reason:"malformed"}}return!Z(e.oracleSigner)||Re(n)!==Re(e.oracleSigner)?{ok:!1,reason:"signer_mismatch"}:{ok:!0,consent:t}}var N3=t=>(typeof btoa=="function"?btoa(t):Buffer.from(t,"binary").toString("base64")).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),B3=t=>{let e=t.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?atob(e):Buffer.from(e,"base64").toString("binary")};function L3(t){let{account:e,chainId:r,accountManager:n,expiry:o,signature:i}=t;return N3(JSON.stringify({account:e,chainId:r,accountManager:n,expiry:o,signature:i}))}function k3(t){try{let e=JSON.parse(B3(t));return!Z(e.account)||!Z(e.accountManager)||!Number.isSafeInteger(e.chainId)||!Number.isSafeInteger(e.expiry)||!he(e.signature)||e.signature.length!==132?null:{account:Re(e.account),chainId:e.chainId,accountManager:Re(e.accountManager),expiry:e.expiry,signature:e.signature}}catch{return null}}function D3(t,e){return`${e}/#/confirmDelete?token=${t}`}var nx={};vt(nx,{BootstrapResultKey:()=>dA,bootstrapMutationHandlers:()=>O3,bootstrapWebSDK:()=>W3,mutationBus:()=>M3,registerHandler:()=>cg,useBootstrap:()=>G3,useChain:()=>q3,useLoadProjects:()=>K3,useSubscriptionSync:()=>Q3,useWeb3Session:()=>V3});var oi=wo(Un(),1),oA=new Map;function cg(t,e){oA.set(t,e)}var Td=(0,oi.reactive)([]),Cd=(0,oi.reactive)([]),ag=(0,oi.reactive)([]),ex=0,nA="Transaction failed",M3={pending:(0,oi.readonly)(Td),errors:(0,oi.readonly)(Cd),successes:(0,oi.readonly)(ag),clearError(t){let e=Cd.findIndex(r=>r.id===t);e!==-1&&Cd.splice(e,1)},reportError(t,e="failed",r){Cd.push({id:`mut_${++ex}`,label:t,reason:e,detail:r})},clearSuccess(t){let e=ag.findIndex(r=>r.id===t);e!==-1&&ag.splice(e,1)},reportSuccess(t,e){ag.push({id:`mut_${++ex}`,label:t,detail:e})},async dispatch(t,e,r){let n=`mut_${++ex}`,o=t.wallet==="private_key"?"broadcasting":"awaiting_signature";Td.push({id:n,label:r,status:o});let i=oA.get(t.type),s=null;try{if(i&&(s=i.applyOptimistic(t)),await e(()=>{let u=Td.find(d=>d.id===n);u&&(u.status="broadcasting")})===!1)throw new Error(nA);return!0}catch(a){if(i&&s)try{i.rollback(s)}catch(d){console.error("Rollback failed:",d)}let c=a.code===4001||a.code==="ACTION_REJECTED"||a.message&&(a.message.toLowerCase().includes("user rejected")||a.message.toLowerCase().includes("cancelled")),u=a?.shortMessage||a?.message||"";return Cd.push({id:n,label:r,reason:c?"rejected":"failed",detail:!c&&u&&u!==nA?u.slice(0,160):void 0}),!1}finally{let a=Td.findIndex(c=>c.id===n);a!==-1&&Td.splice(a,1)}}};var iA={applyOptimistic:t=>{let e=X.getState().known.find(i=>i.account.toLowerCase()===t.account.toLowerCase()&&i.chainId===t.chainId);if(!e)return null;let r={chainId:t.chainId,account:t.account,donationsPerProject:e.donationsPerProject?[...e.donationsPerProject]:void 0,projectBalance:e.projectBalance?{...e.projectBalance}:void 0},n=e.donationsPerProject?[...e.donationsPerProject]:[];n[t.projectId-1]=(n[t.projectId-1]||0)+t.amount;let o={donationsPerProject:n};return e.projectBalance&&(o.projectBalance={...e.projectBalance,allocated:e.projectBalance.allocated+t.amount,remaining:e.projectBalance.remaining-t.amount}),X.updateAccount(t.account,t.chainId,o),r},rollback:t=>{t&&X.updateAccount(t.account,t.chainId,{donationsPerProject:t.donationsPerProject,projectBalance:t.projectBalance})}};var sA={applyOptimistic:t=>{let e=X.getState().known.find(n=>n.account.toLowerCase()===t.account.toLowerCase()&&n.chainId===t.chainId);if(!e)return null;let r={chainId:t.chainId,account:t.account,hasAccount:e.hasAccount};return X.updateAccount(t.account,t.chainId,{hasAccount:!1}),r},rollback:t=>{t&&X.updateAccount(t.account,t.chainId,{hasAccount:t.hasAccount})}};function O3(){cg("vote",iA),cg("retire",sA)}var Rd=new Map,aA=!1,cA=!1,F3=5e3;function j3(t,e,r){return new Promise((n,o)=>{let i=setTimeout(()=>n(r),e);t.then(s=>{clearTimeout(i),n(s)},s=>{clearTimeout(i),o(s)})})}function U3(){try{let t=globalThis.__THE_LIBRARY_PUBLIC_IMPORT_META__?.env;return Sb(t?.MODE,t?.VITE_APP_ENV)}catch(t){return console.error("cannot detect environment - ",t),"staging"}}function _3(){return aA||(ng(new vc),ng(new Sc),aA=!0),Fb()}function z3(t){if(t?.chainFilter?.length)return t.chainFilter;let e=t?.withTest??!0;return Object.values(yd).filter(r=>e||r.main).map(r=>r.chainId)}async function $3(t,e,r){if(Rd.has(t))return;let n=yd[t];if(!n)return;let o=r.filter(s=>s.isAvailable()),i=(async()=>{for(let s of o)try{let a=await j3(s.getAccounts(),F3,null);if(a===null){console.warn(`[bootstrapWebSDK] account discovery timed out for ${s.type} on chain ${t} \u2014 continuing without it`);continue}for(let c of a)await ri(c,t,s.type,e)}catch(a){console.warn(`[bootstrapWebSDK] account discovery failed for ${s.type} on chain ${t}`,a)}})();Rd.set(t,{chain:n,connectors:o,ready:i}),await i}function H3(){let t=[],e={},r=new Set,n=new Set;for(let[i,s]of Rd.entries()){t.push(s.chain);let a=s.connectors.filter(u=>u.isAvailable()),c=s.connectors.filter(u=>!u.isAvailable());e[i]={chain:s.chain,installed:a,installable:c},a.forEach(u=>r.add(u)),c.forEach(u=>n.add(u))}return{primaryAccount:X.getState().known.find(i=>i.hasAccount)??null,chains:t,connectorsByChain:e,installedConnectors:Array.from(r),installableConnectors:Array.from(n),ready:Promise.all(Array.from(Rd.values()).map(i=>i.ready)).then(()=>{})}}async function W3(t){let e=t?.environment??U3(),r=yc(e);Pb(r);let n=_3();xe.loadManifest(r).catch(s=>console.warn(`[bootstrapWebSDK] registry manifest warm-up failed for ${r}:`,s)),cA||(X.load(),cA=!0);let i=z3(t).filter(s=>!Rd.has(s));return await Promise.all(i.map(s=>$3(s,r,n))),H3()}var uA=wo(Un(),1),dA=Symbol("web3-sdk:bootstrap-result");function G3(){let t=(0,uA.inject)(dA);if(!t)throw new Error("[useBootstrap] BootstrapResult not provided \u2014 call app.provide(BootstrapResultKey, await bootstrapWebSDK()) at the app root before using useBootstrap()");return t}var bo=wo(Un(),1);var rx=(0,bo.ref)(0);X.subscribe(()=>{rx.value++});var tx=(0,bo.ref)(!1);function V3(){let t=(0,bo.computed)(()=>(rx.value,X.getState().known.map(d=>({...d})))),e=(0,bo.computed)(()=>t.value.filter(d=>d.hasAccount)),r=(0,bo.computed)(()=>{rx.value;let d=X.getState().active;return d?{...d}:null});async function n(d,l){tx.value=!0;try{let p=await d.getChainId(),f=await d.getAccounts(),g=[];for(let m of f){let h=await ri(m,p,d.type,St(),l?.forceRefresh);h.hasAccount&&g.push(h)}return g}finally{tx.value=!1}}async function o(d,l,p,f=!1){return ri(d,l,p,St(),f)}function i(d){X.setActive(d)}function s(d){return(0,bo.computed)(()=>t.value.filter(l=>l.chainId===d))}function a(d){return(0,bo.computed)(()=>e.value.filter(l=>l.chainId===d))}function c(d,l,p){X.setLastSavedPatchIndex(d,l,p)}function u(d,l,p){X.setLastRestorationIndex(d,l,p)}return{accounts:t,registeredAccounts:e,activeAccount:r,isConnecting:tx,discoverAccounts:n,syncAccount:o,setActive:i,accountsForChain:s,registeredAccountsForChain:a,lastSyncCounters:(d,l)=>X.lastSyncCounters(d,l),setLastSavedPatchIndex:c,setLastDownloadedSaveIndex:u}}var ii=wo(Un(),1);function q3(t){let e=(0,ii.unref)(t),r=dr(e),n=vr(e),o=(0,ii.ref)(null),i=(0,ii.ref)(!1);async function s(){i.value=!0;try{o.value=await n.getUsdPrice()}finally{i.value=!1}}let a=(0,ii.computed)(()=>r.main),c=(0,ii.computed)(()=>!!r.deployed);function u(d){return{chainId:e,...d}}return{chain:r,client:n,usdPrice:o,isPriceLoading:i,refreshPrice:s,isMainnet:a,isDeployed:c,chainRouteQuery:u}}var Cs=wo(Un(),1);function K3(t,e){let r=(0,Cs.ref)([]),n=(0,Cs.ref)(!1),o=(0,Cs.ref)(null);async function i(){n.value=!0,o.value=null;try{r.value=await Gb((0,Cs.unref)(t),(0,Cs.unref)(e))}catch(s){o.value=s instanceof Error?s:new Error(String(s))}finally{n.value=!1}}return i(),{projects:r,isLoading:n,error:o,reload:i}}var Ac=wo(Un(),1);function Q3(t,e,r){let n=(0,Ac.ref)(null),o=(0,Ac.ref)(0),i=(0,Ac.ref)(!1),s=wd(r,e,t);async function a(){i.value=!0;try{n.value=await Ic.get(s)??null}finally{i.value=!1}}a();let c=lr.onSubscriptionPatchesSynced(u=>{u.rootUserId!==t||u.chainId!==e||(o.value=u.appliedCount,a())});return(0,Ac.onScopeDispose)(c),{cursor:n,appliedCount:o,isLoading:i,refresh:a}}return hA(Z3);})();
|
|
56
56
|
/*! Bundled license information:
|
|
57
57
|
|
|
58
58
|
@noble/hashes/esm/utils.js:
|