@memfork/cli 0.1.61 → 0.1.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CM76R9T3.js","sources":["../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/react/jsx-runtime.js","../../node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/scheduler/index.js","../../node_modules/react-dom/cjs/react-dom.production.min.js","../../node_modules/react-dom/index.js","../../node_modules/react-dom/client.js","../../node_modules/zustand/esm/vanilla.mjs","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/use-sync-external-store/shim/index.js","../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../node_modules/use-sync-external-store/shim/with-selector.js","../../node_modules/zustand/esm/index.mjs","../../src/state/dagStore.ts","../../src/state/uiStore.ts","../../src/layout/TopBar.tsx","../../node_modules/@mysten/sui/dist/jsonRpc/errors.mjs","../../node_modules/@mysten/sui/dist/version.mjs","../../node_modules/@mysten/sui/dist/jsonRpc/http-transport.mjs","../../node_modules/@mysten/sui/dist/utils/suins.mjs","../../node_modules/@mysten/bcs/dist/uleb.mjs","../../node_modules/@mysten/bcs/dist/reader.mjs","../../node_modules/@scure/base/index.js","../../node_modules/@mysten/utils/dist/b58.mjs","../../node_modules/@mysten/utils/dist/b64.mjs","../../node_modules/@mysten/utils/dist/hex.mjs","../../node_modules/@mysten/utils/dist/chunk.mjs","../../node_modules/@mysten/utils/dist/dataloader.mjs","../../node_modules/@mysten/bcs/dist/utils.mjs","../../node_modules/@mysten/bcs/dist/writer.mjs","../../node_modules/@mysten/bcs/dist/bcs-type.mjs","../../node_modules/@mysten/bcs/dist/bcs.mjs","../../node_modules/@mysten/sui/dist/utils/sui-types.mjs","../../node_modules/@mysten/sui/dist/utils/move-registry.mjs","../../node_modules/@mysten/sui/dist/client/cache.mjs","../../node_modules/@mysten/sui/dist/client/client.mjs","../../node_modules/@mysten/sui/dist/client/mvr.mjs","../../node_modules/@mysten/sui/dist/bcs/type-tag-serializer.mjs","../../node_modules/@mysten/sui/dist/bcs/bcs.mjs","../../node_modules/@mysten/sui/dist/bcs/effects.mjs","../../node_modules/@mysten/sui/dist/bcs/pure.mjs","../../node_modules/@mysten/sui/dist/bcs/index.mjs","../../node_modules/@noble/hashes/utils.js","../../node_modules/@noble/hashes/_blake.js","../../node_modules/@noble/hashes/_u64.js","../../node_modules/@noble/hashes/blake2.js","../../node_modules/@mysten/sui/dist/utils/dynamic-fields.mjs","../../node_modules/valibot/dist/index.mjs","../../node_modules/@mysten/sui/dist/transactions/data/internal.mjs","../../node_modules/@mysten/sui/dist/utils/coin-reservation.mjs","../../node_modules/@mysten/sui/dist/transactions/data/v1.mjs","../../node_modules/@mysten/sui/dist/transactions/utils.mjs","../../node_modules/@mysten/sui/dist/transactions/hash.mjs","../../node_modules/@mysten/sui/dist/transactions/TransactionData.mjs","../../node_modules/@mysten/sui/dist/transactions/Commands.mjs","../../node_modules/@mysten/sui/dist/transactions/data/v2.mjs","../../node_modules/@mysten/sui/dist/transactions/Inputs.mjs","../../node_modules/@mysten/sui/dist/client/errors.mjs","../../node_modules/@mysten/sui/dist/utils/constants.mjs","../../node_modules/@mysten/sui/dist/transactions/serializer.mjs","../../node_modules/@mysten/sui/dist/client/core-resolver.mjs","../../node_modules/@mysten/sui/dist/transactions/resolve.mjs","../../node_modules/@mysten/sui/dist/transactions/object.mjs","../../node_modules/@mysten/sui/dist/transactions/pure.mjs","../../node_modules/@mysten/sui/dist/transactions/plugins/NamedPackagesPlugin.mjs","../../node_modules/@mysten/sui/dist/transactions/intents/CoinWithBalance.mjs","../../node_modules/@mysten/sui/dist/transactions/Transaction.mjs","../../node_modules/@mysten/sui/dist/client/core.mjs","../../node_modules/@mysten/sui/dist/client/utils.mjs","../../node_modules/@mysten/sui/dist/jsonRpc/core.mjs","../../node_modules/@mysten/sui/dist/jsonRpc/client.mjs","../../src/sui/client.ts","../../src/ui/branch.ts","../../src/drawers/CommitInspector.tsx","../../src/sui/types.ts","../../src/drawers/ProposalInspector.tsx","../../src/drawers/OffChainCommitInspector.tsx","../../src/layout/RightDrawer.tsx","../../src/views/dag/dagLayout.ts","../../src/views/dag/DagCanvas.tsx","../../src/state/memoryStore.ts","../../src/components/TimeScrubber.tsx","../../src/views/memory/MemoryView.tsx","../../src/views/history/HistoryView.tsx","../../src/views/merges/MergesView.tsx","../../src/seed/demo.ts","../../src/App.tsx","../../src/main.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"\n );\n }\n listeners.clear();\n };\n const api = { setState, getState, getInitialState, subscribe, destroy };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\nvar vanilla = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use import { createStore } from 'zustand/vanilla'.\"\n );\n }\n return createStore(createState);\n};\n\nexport { createStore, vanilla as default };\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { createStore } from 'zustand/vanilla';\nexport * from 'zustand/vanilla';\nimport ReactExports from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\n\nconst { useDebugValue } = ReactExports;\nconst { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;\nlet didWarnAboutEqualityFn = false;\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity, equalityFn) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && equalityFn && !didWarnAboutEqualityFn) {\n console.warn(\n \"[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937\"\n );\n didWarnAboutEqualityFn = true;\n }\n const slice = useSyncExternalStoreWithSelector(\n api.subscribe,\n api.getState,\n api.getServerState || api.getInitialState,\n selector,\n equalityFn\n );\n useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && typeof createState !== \"function\") {\n console.warn(\n \"[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.\"\n );\n }\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\nvar react = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`.\"\n );\n }\n return create(createState);\n};\n\nexport { create, react as default, useStore };\n","/**\n * Global DAG state — MemoryBranches and MergeProposals derived from on-chain events.\n *\n * Model A: commits are off-chain Walrus blobs; no CommitCreated events are emitted.\n * The DAG is reconstructed via BranchCreated and MergeFinalized events.\n * Branch heads are Walrus blob IDs (empty = at genesis).\n */\n\nimport { create } from \"zustand\";\nimport type {\n MergeAnchor,\n MemoryBranch,\n MergeProposal,\n AttestationRecord,\n OffChainCommit,\n BranchCreatedEvent,\n MergeProposedEvent,\n AttestationSubmittedEvent,\n MergeFinalizedEvent,\n MergeAbortedEvent,\n} from \"../sui/types.js\";\n\nfunction shortId(id: string): string {\n return id.replace(/^0x/, \"\").slice(0, 7);\n}\n\ninterface DagState {\n mergeAnchors: Map<string, MergeAnchor>;\n branches: Map<string, MemoryBranch>;\n proposals: Map<string, MergeProposal>;\n\n /** Off-chain commits fetched from /api/history, keyed by blob_id. */\n offChainCommits: Map<string, OffChainCommit>;\n\n /** Ordered merge anchors by ts_ms for timeline display. */\n orderedAnchors: MergeAnchor[];\n /** All off-chain commits, sorted oldest-first. */\n orderedCommits: OffChainCommit[];\n /** All branches, sorted oldest-first — for fork rows in the timeline. */\n orderedBranches: MemoryBranch[];\n\n isLive: boolean;\n lastEvent: number;\n\n treeId: string | null;\n setTreeId: (id: string) => void;\n\n /** Anchor IDs that just arrived live — cleared after 2 s for pop-in CSS. */\n newAnchorIds: Set<string>;\n clearNewAnchor: (id: string) => void;\n\n /** Branch names that just arrived live — cleared after 2 s for pop-in CSS. */\n newBranchIds: Set<string>;\n clearNewBranch: (name: string) => void;\n\n applyBranch: (e: BranchCreatedEvent) => void;\n applyProposal: (e: MergeProposedEvent) => void;\n applyAttestation: (e: AttestationSubmittedEvent) => void;\n applyFinalized: (e: MergeFinalizedEvent) => void;\n applyAborted: (e: MergeAbortedEvent) => void;\n /** Load off-chain commit history from /api/history for a branch. Merges by blob_id. */\n applyOffChainCommits: (commits: OffChainCommit[]) => void;\n /** Patch display-only fields onto a proposal (resolver_label, jury config). */\n enrichProposal: (id: string, patch: Partial<Pick<MergeProposal, \"resolver_label\" | \"jury_threshold\" | \"jury_judges\">>) => void;\n /** Mark a branch as rejected/graveyard with an optional rationale. */\n markGraveyard: (name: string, rationale?: string) => void;\n setLive: (v: boolean) => void;\n reset: () => void;\n}\n\nfunction sortedAnchors(anchors: Map<string, MergeAnchor>): MergeAnchor[] {\n return Array.from(anchors.values()).sort((a, b) => a.ts_ms - b.ts_ms);\n}\n\nfunction sortedCommits(commits: Map<string, OffChainCommit>): OffChainCommit[] {\n return Array.from(commits.values()).sort((a, b) => a.ts_ms - b.ts_ms);\n}\n\nfunction sortedBranches(branches: Map<string, MemoryBranch>): MemoryBranch[] {\n return Array.from(branches.values()).sort((a, b) => a.ts_ms - b.ts_ms);\n}\n\nexport const useDagStore = create<DagState>((set, get) => ({\n mergeAnchors: new Map(),\n branches: new Map(),\n proposals: new Map(),\n offChainCommits: new Map(),\n orderedAnchors: [],\n orderedCommits: [],\n orderedBranches: [],\n isLive: false,\n lastEvent: 0,\n treeId: null,\n newAnchorIds: new Set(),\n newBranchIds: new Set(),\n\n setTreeId(id) { set({ treeId: id }); },\n\n clearNewAnchor(id) {\n set((s) => {\n const next = new Set(s.newAnchorIds);\n next.delete(id);\n return { newAnchorIds: next };\n });\n },\n\n clearNewBranch(name) {\n set((s) => {\n const next = new Set(s.newBranchIds);\n next.delete(name);\n return { newBranchIds: next };\n });\n },\n\n applyBranch(e) {\n const branches = new Map(get().branches);\n const existing = branches.get(e.branch);\n branches.set(e.branch, {\n name: e.branch,\n from_branch: e.from_branch,\n memwal_namespace: e.memwal_namespace,\n // Preserve existing head if BranchCreated arrives out-of-order after a merge.\n head_blob_id: existing?.head_blob_id ?? \"\",\n ts_ms: e.ts_ms,\n tx_digest: e.tx_digest,\n });\n\n const newIds = new Set(get().newBranchIds);\n newIds.add(e.branch);\n\n set({ branches, orderedBranches: sortedBranches(branches), lastEvent: e.ts_ms, newBranchIds: newIds });\n setTimeout(() => get().clearNewBranch(e.branch), 2_000);\n },\n\n applyProposal(e) {\n const proposals = new Map(get().proposals);\n proposals.set(e.proposal_id, {\n id: e.proposal_id,\n tree_id: e.tree_id,\n from_branch: e.from_branch,\n into_branch: e.into_branch,\n from_head_blob_id: e.from_head_blob_id,\n into_head_blob_id: e.into_head_blob_id,\n resolver_id: e.resolver_id,\n proposer: \"\",\n status: \"pending\",\n attestations: [],\n merge_commit_id: null,\n resolved_blob_id: null,\n expires_at_ms: e.expires_at_ms,\n ts_ms: e.ts_ms,\n tx_digest: e.tx_digest,\n });\n set({ proposals, lastEvent: e.ts_ms });\n },\n\n applyAttestation(e) {\n const proposals = new Map(get().proposals);\n const proposal = proposals.get(e.proposal_id);\n if (!proposal) return;\n\n // GAP-4: auto-generate sequential judge labels if not provided by the\n // event or prior enrichment. Labels are positional within this proposal.\n const existingSigners = proposal.attestations.map((a) => a.signer);\n const judgeIndex = existingSigners.indexOf(e.signer) >= 0\n ? existingSigners.indexOf(e.signer)\n : existingSigners.length;\n const autoLabel = e.label ?? `judge-${judgeIndex + 1}`;\n\n const attestation: AttestationRecord = {\n signer: e.signer,\n kind: e.kind,\n tx_digest: e.tx_digest,\n ts_ms: e.ts_ms,\n label: autoLabel,\n model: e.model,\n vote: e.vote,\n sig_verified: e.sig_verified,\n };\n\n // If this signer already has an attestation on this proposal (duplicate\n // submission guard), skip.\n if (existingSigners.includes(e.signer)) {\n proposals.set(e.proposal_id, {\n ...proposal,\n attestations: proposal.attestations.map((a) =>\n a.signer === e.signer ? { ...a, ...attestation } : a,\n ),\n });\n } else {\n proposals.set(e.proposal_id, {\n ...proposal,\n attestations: [...proposal.attestations, attestation],\n });\n }\n set({ proposals, lastEvent: e.ts_ms });\n },\n\n applyFinalized(e) {\n // Update proposal status.\n const proposals = new Map(get().proposals);\n const proposal = proposals.get(e.proposal_id);\n if (proposal) {\n proposals.set(e.proposal_id, {\n ...proposal,\n status: \"finalized\",\n merge_commit_id: e.merge_commit_id,\n resolved_blob_id: e.resolved_blob_id,\n });\n }\n\n // Advance the into_branch head.\n const branches = new Map(get().branches);\n if (proposal?.into_branch) {\n const branch = branches.get(proposal.into_branch);\n if (branch) {\n branches.set(proposal.into_branch, {\n ...branch,\n head_blob_id: e.resolved_blob_id,\n });\n }\n }\n\n // Record a merge anchor for timeline / DAG display.\n const anchors = new Map(get().mergeAnchors);\n const anchor: MergeAnchor = {\n id: e.merge_commit_id,\n tree_id: e.tree_id,\n branch: proposal?.into_branch ?? \"\",\n parents: [proposal?.from_head_blob_id ?? \"\", proposal?.into_head_blob_id ?? \"\"],\n memwal_namespace: \"\",\n resolved_blob_id: e.resolved_blob_id,\n author: \"\",\n proposal_id: e.proposal_id,\n ts_ms: e.ts_ms,\n tx_digest: e.tx_digest,\n };\n anchors.set(e.merge_commit_id, anchor);\n\n const newIds = new Set(get().newAnchorIds);\n newIds.add(e.merge_commit_id);\n\n set({\n proposals,\n branches,\n mergeAnchors: anchors,\n orderedAnchors: sortedAnchors(anchors),\n lastEvent: e.ts_ms,\n newAnchorIds: newIds,\n });\n\n setTimeout(() => get().clearNewAnchor(e.merge_commit_id), 2_000);\n },\n\n applyAborted(e) {\n const proposals = new Map(get().proposals);\n const proposal = proposals.get(e.proposal_id);\n if (!proposal) return;\n proposals.set(e.proposal_id, { ...proposal, status: \"aborted\" });\n\n // Mark the losing branch (from_branch) as graveyard.\n const branches = new Map(get().branches);\n const loser = branches.get(proposal.from_branch);\n if (loser) {\n branches.set(proposal.from_branch, {\n ...loser,\n is_graveyard: true,\n rejection_rationale: loser.rejection_rationale ?? undefined,\n });\n }\n\n set({ proposals, branches, orderedBranches: sortedBranches(branches), lastEvent: e.ts_ms });\n },\n\n applyOffChainCommits(commits) {\n const map = new Map(get().offChainCommits);\n for (const c of commits) map.set(c.blob_id, c);\n set({ offChainCommits: map, orderedCommits: sortedCommits(map) });\n },\n\n enrichProposal(id, patch) {\n const proposals = new Map(get().proposals);\n const existing = proposals.get(id);\n if (!existing) return;\n proposals.set(id, { ...existing, ...patch });\n set({ proposals });\n },\n\n markGraveyard(name, rationale) {\n const branches = new Map(get().branches);\n const branch = branches.get(name);\n if (!branch) return;\n branches.set(name, { ...branch, is_graveyard: true, rejection_rationale: rationale });\n set({ branches, orderedBranches: sortedBranches(branches) });\n },\n\n setLive(v) { set({ isLive: v }); },\n\n reset() {\n set({\n mergeAnchors: new Map(),\n branches: new Map(),\n proposals: new Map(),\n offChainCommits: new Map(),\n orderedAnchors: [],\n orderedCommits: [],\n orderedBranches: [],\n isLive: false,\n lastEvent: 0,\n newAnchorIds: new Set(),\n newBranchIds: new Set(),\n });\n },\n}));\n\n// ─── Re-export shortId for use in views ──────────────────────────────────────\nexport { shortId };\n","/**\n * UI state — selected nodes, active drawer panel, branch filter, replay mode.\n *\n * Model A: the \"commit\" inspector now opens a MergeAnchor (on-chain merge anchor),\n * not a regular commit. Regular commits are off-chain blobs visible via MemWal.\n */\n\nimport { create } from \"zustand\";\nimport type { MergeAnchor, MergeProposal, OffChainCommit } from \"../sui/types.js\";\n\nexport type ActiveView = \"memory\" | \"history\" | \"merges\" | \"graph\";\n\nexport type DrawerPanel =\n | { kind: \"anchor\"; anchor: MergeAnchor }\n | { kind: \"proposal\"; proposal: MergeProposal }\n | { kind: \"commit\"; commit: OffChainCommit }\n | null;\n\ninterface UiState {\n activeView: ActiveView;\n setActiveView: (v: ActiveView) => void;\n\n panel: DrawerPanel;\n openAnchor: (c: MergeAnchor) => void;\n openProposal: (p: MergeProposal) => void;\n openCommit: (c: OffChainCommit) => void;\n closeDrawer: () => void;\n\n activeBranch: string | null;\n setActiveBranch: (name: string | null) => void;\n\n hoveredId: string | null;\n setHovered: (id: string | null) => void;\n\n replayActive: boolean;\n replayIndex: number;\n startReplay: () => void;\n stepReplay: () => void;\n stopReplay: () => void;\n\n zoomToAnchor: ((id: string) => void) | null;\n registerZoom: (fn: (id: string) => void) => void;\n\n /** Rate-limit state surfaced by the server. */\n rateLimited: boolean;\n retryInSeconds: number;\n setRateLimit: (limited: boolean, retryInSeconds: number) => void;\n\n /** Injected by App.tsx so TopBar can trigger a full refresh. */\n refreshAll: (() => void) | null;\n setRefreshAll: (fn: () => void) => void;\n\n /**\n * Time-travel scrubber index. null = live (tip). 0..N-1 = index into\n * the ordered commit list for the active branch. Shared by HistoryView\n * and MemoryView so both views scrub in sync.\n */\n timeTravelIdx: number | null;\n setTimeTravel: (idx: number | null) => void;\n}\n\nexport const useUiStore = create<UiState>((set, get) => ({\n activeView: \"memory\",\n panel: null,\n activeBranch: null,\n hoveredId: null,\n replayActive: false,\n replayIndex: 0,\n zoomToAnchor: null,\n rateLimited: false,\n retryInSeconds: 0,\n refreshAll: null,\n\n setActiveView(v) { set({ activeView: v }); },\n\n openAnchor(c) {\n set({ panel: { kind: \"anchor\", anchor: c } });\n get().zoomToAnchor?.(c.id);\n },\n\n openProposal(p) {\n set({ panel: { kind: \"proposal\", proposal: p } });\n },\n\n openCommit(c) {\n set({ panel: { kind: \"commit\", commit: c } });\n },\n\n closeDrawer() { set({ panel: null }); },\n\n // Reset time-travel when switching branches — the scrubber index is\n // branch-relative and would mis-cut a different branch's history.\n setActiveBranch(name) { set({ activeBranch: name, timeTravelIdx: null }); },\n\n setHovered(id) { set({ hoveredId: id }); },\n\n startReplay() { set({ replayActive: true, replayIndex: 0 }); },\n stepReplay() { set((s) => ({ replayIndex: s.replayIndex + 1 })); },\n stopReplay() { set({ replayActive: false, replayIndex: 0 }); },\n\n registerZoom(fn) { set({ zoomToAnchor: fn }); },\n\n setRateLimit(limited, retryInSeconds) { set({ rateLimited: limited, retryInSeconds }); },\n setRefreshAll(fn) { set({ refreshAll: fn }); },\n\n timeTravelIdx: null,\n setTimeTravel(idx) { set({ timeTravelIdx: idx }); },\n}));\n","import { useEffect, useRef } from \"react\";\nimport { useDagStore } from \"../state/dagStore.js\";\nimport { useUiStore } from \"../state/uiStore.js\";\nimport type { ActiveView } from \"../state/uiStore.js\";\nimport \"./TopBar.css\";\n\nconst VIEWS: { id: ActiveView; label: string }[] = [\n { id: \"memory\", label: \"Memory\" },\n { id: \"history\", label: \"History\" },\n { id: \"merges\", label: \"Merges\" },\n { id: \"graph\", label: \"Map\" },\n];\n\nexport default function TopBar() {\n const branches = useDagStore((s) => s.branches);\n const orderedAnchors = useDagStore((s) => s.orderedAnchors);\n const proposals = useDagStore((s) => s.proposals);\n const isLive = useDagStore((s) => s.isLive);\n const treeId = useDagStore((s) => s.treeId);\n\n const activeBranch = useUiStore((s) => s.activeBranch);\n const setActiveBranch = useUiStore((s) => s.setActiveBranch);\n const activeView = useUiStore((s) => s.activeView);\n const setActiveView = useUiStore((s) => s.setActiveView);\n const replayActive = useUiStore((s) => s.replayActive);\n const replayIndex = useUiStore((s) => s.replayIndex);\n const startReplay = useUiStore((s) => s.startReplay);\n const stepReplay = useUiStore((s) => s.stepReplay);\n const stopReplay = useUiStore((s) => s.stopReplay);\n const refreshAll = useUiStore((s) => s.refreshAll);\n const rateLimited = useUiStore((s) => s.rateLimited);\n\n const replayTimer = useRef<ReturnType<typeof setInterval> | null>(null);\n\n // Drive the replay interval from this component.\n useEffect(() => {\n if (!replayActive) {\n if (replayTimer.current) {\n clearInterval(replayTimer.current);\n replayTimer.current = null;\n }\n return;\n }\n\n replayTimer.current = setInterval(() => {\n const total = useDagStore.getState().orderedAnchors.length;\n const idx = useUiStore.getState().replayIndex;\n if (idx >= total) {\n stopReplay();\n } else {\n stepReplay();\n }\n }, 600);\n\n return () => {\n if (replayTimer.current) clearInterval(replayTimer.current);\n };\n }, [replayActive, stepReplay, stopReplay]);\n\n const handleReplay = () => {\n if (replayActive) {\n stopReplay();\n } else {\n startReplay();\n // Switch to graph view so the user sees nodes appearing.\n setActiveView(\"graph\");\n }\n };\n\n const branchNames = Array.from(branches.keys()).sort((a, b) => {\n if (a === \"main\") return -1;\n if (b === \"main\") return 1;\n return a.localeCompare(b);\n });\n\n const pendingCount = Array.from(proposals.values()).filter(\n (p) => p.status === \"pending\",\n ).length;\n\n const shortTree = treeId\n ? treeId.slice(0, 6) + \"…\" + treeId.slice(-4)\n : \"no tree\";\n\n const replayLabel = replayActive\n ? `■ ${replayIndex}/${orderedAnchors.length}`\n : \"▶ Replay\";\n\n return (\n <header className=\"topbar\">\n {/* Left — tree identity */}\n <div className=\"topbar-left\">\n <span className=\"topbar-logo\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--accent)\" strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <circle cx=\"12\" cy=\"4\" r=\"2\" />\n <circle cx=\"20\" cy=\"16\" r=\"2\" />\n <circle cx=\"4\" cy=\"16\" r=\"2\" />\n <line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"9\" />\n <line x1=\"18.5\" y1=\"14.5\" x2=\"14.5\" y2=\"12.5\" />\n <line x1=\"5.5\" y1=\"14.5\" x2=\"9.5\" y2=\"12.5\" />\n </svg>\n MemForks\n </span>\n\n <code className=\"topbar-tree-id\" title={treeId ?? \"\"}>\n {shortTree}\n </code>\n\n <span className={`topbar-live-badge ${isLive ? \"live\" : \"offline\"}`}>\n <span className=\"topbar-live-dot\" />\n {isLive ? \"Live\" : \"Demo\"}\n </span>\n </div>\n\n {/* Centre-left — view tabs */}\n <nav className=\"topbar-views\" aria-label=\"View switcher\">\n {VIEWS.map((v) => (\n <button\n key={v.id}\n className={`topbar-view-btn ${activeView === v.id ? \"active\" : \"\"}`}\n onClick={() => setActiveView(v.id)}\n >\n {v.label}\n </button>\n ))}\n </nav>\n\n {/* Flexible gap */}\n <div className=\"topbar-spacer\" />\n\n {/* Right — branch picker, proposals, replay */}\n <div className=\"topbar-right\">\n <select\n className=\"topbar-branch-select\"\n value={activeBranch ?? \"\"}\n onChange={(e) => setActiveBranch(e.target.value || null)}\n aria-label=\"Branch filter\"\n >\n <option value=\"\">All branches</option>\n {branchNames.map((name) => (\n <option key={name} value={name}>{name}</option>\n ))}\n </select>\n {pendingCount > 0 && (\n <button\n className=\"chip orange\"\n style={{ cursor: \"pointer\" }}\n onClick={() => setActiveView(\"merges\")}\n title=\"View open proposals\"\n >\n ⚖ {pendingCount}\n </button>\n )}\n {orderedAnchors.length > 0 && (\n <button\n className={`topbar-replay-btn ${replayActive ? \"active\" : \"\"}`}\n onClick={handleReplay}\n title={replayActive ? \"Stop replay\" : \"Replay merge history\"}\n >\n {replayLabel}\n </button>\n )}\n <button\n className=\"topbar-refresh-btn\"\n onClick={() => refreshAll?.()}\n title={rateLimited ? \"Rate limited — refresh will use cache\" : \"Reload all branches from MemWal\"}\n disabled={!refreshAll}\n style={{ opacity: rateLimited ? 0.5 : 1 }}\n >\n ↻\n </button>\n </div>\n </header>\n );\n}\n","//#region src/jsonRpc/errors.ts\nconst CODE_TO_ERROR_TYPE = {\n\t\"-32700\": \"ParseError\",\n\t\"-32701\": \"OversizedRequest\",\n\t\"-32702\": \"OversizedResponse\",\n\t\"-32600\": \"InvalidRequest\",\n\t\"-32601\": \"MethodNotFound\",\n\t\"-32602\": \"InvalidParams\",\n\t\"-32603\": \"InternalError\",\n\t\"-32604\": \"ServerBusy\",\n\t\"-32000\": \"CallExecutionFailed\",\n\t\"-32001\": \"UnknownError\",\n\t\"-32003\": \"SubscriptionClosed\",\n\t\"-32004\": \"SubscriptionClosedWithError\",\n\t\"-32005\": \"BatchesNotSupported\",\n\t\"-32006\": \"TooManySubscriptions\",\n\t\"-32050\": \"TransientError\",\n\t\"-32002\": \"TransactionExecutionClientError\"\n};\nvar SuiHTTPTransportError = class extends Error {};\nvar JsonRpcError = class extends SuiHTTPTransportError {\n\tconstructor(message, code) {\n\t\tsuper(message);\n\t\tthis.code = code;\n\t\tthis.type = CODE_TO_ERROR_TYPE[code] ?? \"ServerError\";\n\t}\n};\nvar SuiHTTPStatusError = class extends SuiHTTPTransportError {\n\tconstructor(message, status, statusText) {\n\t\tsuper(message);\n\t\tthis.status = status;\n\t\tthis.statusText = statusText;\n\t}\n};\n\n//#endregion\nexport { JsonRpcError, SuiHTTPStatusError, SuiHTTPTransportError };\n//# sourceMappingURL=errors.mjs.map","//#region src/version.ts\nconst PACKAGE_VERSION = \"2.17.0\";\n\n//#endregion\nexport { PACKAGE_VERSION };\n//# sourceMappingURL=version.mjs.map","import { PACKAGE_VERSION } from \"../version.mjs\";\nimport { JsonRpcError, SuiHTTPStatusError } from \"./errors.mjs\";\n\n//#region src/jsonRpc/http-transport.ts\nvar JsonRpcHTTPTransport = class {\n\t#requestId = 0;\n\t#options;\n\tconstructor(options) {\n\t\tthis.#options = options;\n\t}\n\tfetch(input, init) {\n\t\tconst fetchFn = this.#options.fetch ?? fetch;\n\t\tif (!fetchFn) throw new Error(\"The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.\");\n\t\treturn fetchFn(input, init);\n\t}\n\tasync request(input) {\n\t\tthis.#requestId += 1;\n\t\tconst res = await this.fetch(this.#options.rpc?.url ?? this.#options.url, {\n\t\t\tmethod: \"POST\",\n\t\t\tsignal: input.signal,\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t\"Client-Sdk-Type\": \"typescript\",\n\t\t\t\t\"Client-Sdk-Version\": PACKAGE_VERSION,\n\t\t\t\t\"Client-Request-Method\": input.method,\n\t\t\t\t...this.#options.rpc?.headers\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\tid: this.#requestId,\n\t\t\t\tmethod: input.method,\n\t\t\t\tparams: input.params\n\t\t\t})\n\t\t});\n\t\tif (!res.ok) throw new SuiHTTPStatusError(`Unexpected status code: ${res.status}`, res.status, res.statusText);\n\t\tconst data = await res.json();\n\t\tif (\"error\" in data && data.error != null) throw new JsonRpcError(data.error.message, data.error.code);\n\t\treturn data.result;\n\t}\n};\n\n//#endregion\nexport { JsonRpcHTTPTransport };\n//# sourceMappingURL=http-transport.mjs.map","//#region src/utils/suins.ts\nconst SUI_NS_NAME_REGEX = /^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i;\nconst SUI_NS_DOMAIN_REGEX = /^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\\.)+sui$/i;\nconst MAX_SUI_NS_NAME_LENGTH = 235;\nfunction isValidSuiNSName(name) {\n\tif (name.length > MAX_SUI_NS_NAME_LENGTH) return false;\n\tif (name.includes(\"@\")) return SUI_NS_NAME_REGEX.test(name);\n\treturn SUI_NS_DOMAIN_REGEX.test(name);\n}\nfunction normalizeSuiNSName(name, format = \"at\") {\n\tconst lowerCase = name.toLowerCase();\n\tlet parts;\n\tif (lowerCase.includes(\"@\")) {\n\t\tif (!SUI_NS_NAME_REGEX.test(lowerCase)) throw new Error(`Invalid SuiNS name ${name}`);\n\t\tconst [labels, domain] = lowerCase.split(\"@\");\n\t\tparts = [...labels ? labels.split(\".\") : [], domain];\n\t} else {\n\t\tif (!SUI_NS_DOMAIN_REGEX.test(lowerCase)) throw new Error(`Invalid SuiNS name ${name}`);\n\t\tparts = lowerCase.split(\".\").slice(0, -1);\n\t}\n\tif (format === \"dot\") return `${parts.join(\".\")}.sui`;\n\treturn `${parts.slice(0, -1).join(\".\")}@${parts[parts.length - 1]}`;\n}\n\n//#endregion\nexport { isValidSuiNSName, normalizeSuiNSName };\n//# sourceMappingURL=suins.mjs.map","//#region src/uleb.ts\nfunction ulebEncode(num) {\n\tlet bigNum = BigInt(num);\n\tconst arr = [];\n\tlet len = 0;\n\tif (bigNum === 0n) return [0];\n\twhile (bigNum > 0) {\n\t\tarr[len] = Number(bigNum & 127n);\n\t\tbigNum >>= 7n;\n\t\tif (bigNum > 0n) arr[len] |= 128;\n\t\tlen += 1;\n\t}\n\treturn arr;\n}\nfunction ulebDecode(arr) {\n\tlet total = 0n;\n\tlet shift = 0n;\n\tlet len = 0;\n\twhile (true) {\n\t\tif (len >= arr.length) throw new Error(\"ULEB decode error: buffer overflow\");\n\t\tconst byte = arr[len];\n\t\tlen += 1;\n\t\ttotal += BigInt(byte & 127) << shift;\n\t\tif ((byte & 128) === 0) break;\n\t\tshift += 7n;\n\t}\n\tif (total > BigInt(Number.MAX_SAFE_INTEGER)) throw new Error(\"ULEB decode error: value exceeds MAX_SAFE_INTEGER\");\n\treturn {\n\t\tvalue: Number(total),\n\t\tlength: len\n\t};\n}\n\n//#endregion\nexport { ulebDecode, ulebEncode };\n//# sourceMappingURL=uleb.mjs.map","import { ulebDecode } from \"./uleb.mjs\";\n\n//#region src/reader.ts\n/**\n* Class used for reading BCS data chunk by chunk. Meant to be used\n* by some wrapper, which will make sure that data is valid and is\n* matching the desired format.\n*\n* @example\n* // data for this example is:\n* // { a: u8, b: u32, c: bool, d: u64 }\n*\n* let reader = new BcsReader(\"647f1a060001ffffe7890423c78a050102030405\");\n* let field1 = reader.read8();\n* let field2 = reader.read32();\n* let field3 = reader.read8() === '1'; // bool\n* let field4 = reader.read64();\n* // ....\n*\n* Reading vectors is another deal in bcs. To read a vector, you first need to read\n* its length using {@link readULEB}. Here's an example:\n* @example\n* // data encoded: { field: [1, 2, 3, 4, 5] }\n* let reader = new BcsReader(\"050102030405\");\n* let vec_length = reader.readULEB();\n* let elements = [];\n* for (let i = 0; i < vec_length; i++) {\n* elements.push(reader.read8());\n* }\n* console.log(elements); // [1,2,3,4,5]\n*\n* @param {String} data HEX-encoded data (serialized BCS)\n*/\nvar BcsReader = class {\n\t/**\n\t* @param {Uint8Array} data Data to use as a buffer.\n\t*/\n\tconstructor(data) {\n\t\tthis.bytePosition = 0;\n\t\tthis.dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\t}\n\t/**\n\t* Shift current cursor position by `bytes`.\n\t*\n\t* @param {Number} bytes Number of bytes to\n\t* @returns {this} Self for possible chaining.\n\t*/\n\tshift(bytes) {\n\t\tthis.bytePosition += bytes;\n\t\treturn this;\n\t}\n\t/**\n\t* Read U8 value from the buffer and shift cursor by 1.\n\t* @returns\n\t*/\n\tread8() {\n\t\tconst value = this.dataView.getUint8(this.bytePosition);\n\t\tthis.shift(1);\n\t\treturn value;\n\t}\n\t/**\n\t* Read U16 value from the buffer and shift cursor by 2.\n\t* @returns\n\t*/\n\tread16() {\n\t\tconst value = this.dataView.getUint16(this.bytePosition, true);\n\t\tthis.shift(2);\n\t\treturn value;\n\t}\n\t/**\n\t* Read U32 value from the buffer and shift cursor by 4.\n\t* @returns\n\t*/\n\tread32() {\n\t\tconst value = this.dataView.getUint32(this.bytePosition, true);\n\t\tthis.shift(4);\n\t\treturn value;\n\t}\n\t/**\n\t* Read U64 value from the buffer and shift cursor by 8.\n\t* @returns\n\t*/\n\tread64() {\n\t\tconst value1 = this.read32();\n\t\tconst result = this.read32().toString(16) + value1.toString(16).padStart(8, \"0\");\n\t\treturn BigInt(\"0x\" + result).toString(10);\n\t}\n\t/**\n\t* Read U128 value from the buffer and shift cursor by 16.\n\t*/\n\tread128() {\n\t\tconst value1 = BigInt(this.read64());\n\t\tconst result = BigInt(this.read64()).toString(16) + value1.toString(16).padStart(16, \"0\");\n\t\treturn BigInt(\"0x\" + result).toString(10);\n\t}\n\t/**\n\t* Read U128 value from the buffer and shift cursor by 32.\n\t* @returns\n\t*/\n\tread256() {\n\t\tconst value1 = BigInt(this.read128());\n\t\tconst result = BigInt(this.read128()).toString(16) + value1.toString(16).padStart(32, \"0\");\n\t\treturn BigInt(\"0x\" + result).toString(10);\n\t}\n\t/**\n\t* Read `num` number of bytes from the buffer and shift cursor by `num`.\n\t* @param num Number of bytes to read.\n\t*/\n\treadBytes(num) {\n\t\tconst start = this.bytePosition + this.dataView.byteOffset;\n\t\tconst value = new Uint8Array(this.dataView.buffer, start, num);\n\t\tthis.shift(num);\n\t\treturn value;\n\t}\n\t/**\n\t* Read ULEB value - an integer of varying size. Used for enum indexes and\n\t* vector lengths.\n\t* @returns {Number} The ULEB value.\n\t*/\n\treadULEB() {\n\t\tconst start = this.bytePosition + this.dataView.byteOffset;\n\t\tconst { value, length } = ulebDecode(new Uint8Array(this.dataView.buffer, start));\n\t\tthis.shift(length);\n\t\treturn value;\n\t}\n\t/**\n\t* Read a BCS vector: read a length and then apply function `cb` X times\n\t* where X is the length of the vector, defined as ULEB in BCS bytes.\n\t* @param cb Callback to process elements of vector.\n\t* @returns {Array<Any>} Array of the resulting values, returned by callback.\n\t*/\n\treadVec(cb) {\n\t\tconst length = this.readULEB();\n\t\tconst result = [];\n\t\tfor (let i = 0; i < length; i++) result.push(cb(this, i, length));\n\t\treturn result;\n\t}\n};\n\n//#endregion\nexport { BcsReader };\n//# sourceMappingURL=reader.mjs.map","/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction isBytes(a) {\n // Plain `instanceof Uint8Array` is too strict for some Buffer / proxy / cross-realm cases. The\n // fallback still requires a real ArrayBuffer view, so plain JSON-deserialized\n // `{ constructor: ... }` spoofing is rejected. `BYTES_PER_ELEMENT === 1` keeps the\n // fallback on byte-oriented views.\n return (a instanceof Uint8Array ||\n (ArrayBuffer.isView(a) &&\n a.constructor.name === 'Uint8Array' &&\n 'BYTES_PER_ELEMENT' in a &&\n a.BYTES_PER_ELEMENT === 1));\n}\n/** Asserts something is Uint8Array. */\nfunction abytes(b) {\n if (!isBytes(b))\n throw new TypeError('Uint8Array expected');\n}\nfunction isArrayOf(isString, arr) {\n if (!Array.isArray(arr))\n return false;\n if (arr.length === 0)\n return true;\n if (isString) {\n return arr.every((item) => typeof item === 'string');\n }\n else {\n return arr.every((item) => Number.isSafeInteger(item));\n }\n}\nfunction afn(input) {\n if (typeof input !== 'function')\n throw new TypeError('function expected');\n return true;\n}\nfunction astr(label, input) {\n if (typeof input !== 'string')\n throw new TypeError(`${label}: string expected`);\n return true;\n}\nfunction anumber(n) {\n if (typeof n !== 'number')\n throw new TypeError(`number expected, got ${typeof n}`);\n if (!Number.isSafeInteger(n))\n throw new RangeError(`invalid integer: ${n}`);\n}\nfunction aArr(input) {\n if (!Array.isArray(input))\n throw new TypeError('array expected');\n}\nfunction astrArr(label, input) {\n if (!isArrayOf(true, input))\n throw new TypeError(`${label}: array of strings expected`);\n}\nfunction anumArr(label, input) {\n if (!isArrayOf(false, input))\n throw new TypeError(`${label}: array of numbers expected`);\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction chain(...args) {\n const id = (a) => a;\n // Wrap call in closure so JIT can inline calls\n const wrap = (a, b) => (c) => a(b(c));\n // Construct chain of args[-1].encode(args[-2].encode([...]))\n const encode = args.map((x) => x.encode).reduceRight(wrap, id);\n // Construct chain of args[0].decode(args[1].decode(...))\n const decode = args.map((x) => x.decode).reduce(wrap, id);\n return { encode, decode };\n}\n/**\n * Encodes integer radix representation to array of strings using alphabet and back.\n * Could also be array of strings.\n * @__NO_SIDE_EFFECTS__\n */\nfunction alphabet(letters) {\n // mapping 1 to \"b\"\n const lettersA = typeof letters === 'string' ? letters.split('') : letters;\n const len = lettersA.length;\n astrArr('alphabet', lettersA);\n // mapping \"b\" to 1\n const indexes = new Map(lettersA.map((l, i) => [l, i]));\n return {\n encode: (digits) => {\n aArr(digits);\n return digits.map((i) => {\n if (!Number.isSafeInteger(i) || i < 0 || i >= len)\n throw new Error(`alphabet.encode: digit index outside alphabet \"${i}\". Allowed: ${letters}`);\n return lettersA[i];\n });\n },\n decode: (input) => {\n aArr(input);\n return input.map((letter) => {\n astr('alphabet.decode', letter);\n const i = indexes.get(letter);\n if (i === undefined)\n throw new Error(`Unknown letter: \"${letter}\". Allowed: ${letters}`);\n return i;\n });\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction join(separator = '') {\n astr('join', separator);\n // join('') is only lossless when each chunk is already unambiguous, such as single-symbol alphabets.\n // Multi-character tokens need a separator that cannot appear inside the chunks.\n return {\n encode: (from) => {\n astrArr('join.decode', from);\n return from.join(separator);\n },\n decode: (to) => {\n astr('join.decode', to);\n return to.split(separator);\n },\n };\n}\n/**\n * Pad strings array so it has integer number of bits\n * @__NO_SIDE_EFFECTS__\n */\nfunction padding(bits, chr = '=') {\n anumber(bits);\n astr('padding', chr);\n return {\n encode(data) {\n astrArr('padding.encode', data);\n // Mutates the intermediate token array in place while appending pad chars.\n // utils.padding callers that need to preserve their input should pass a copy.\n while ((data.length * bits) % 8)\n data.push(chr);\n return data;\n },\n decode(input) {\n astrArr('padding.decode', input);\n let end = input.length;\n if ((end * bits) % 8)\n throw new Error('padding: invalid, string should have whole number of bytes');\n for (; end > 0 && input[end - 1] === chr; end--) {\n const last = end - 1;\n const byte = last * bits;\n if (byte % 8 === 0)\n throw new Error('padding: invalid, string has too much padding');\n }\n return input.slice(0, end);\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction normalize(fn) {\n afn(fn);\n return { encode: (from) => from, decode: (to) => fn(to) };\n}\n/**\n * Slow: O(n^2) time complexity\n */\nfunction convertRadix(data, from, to) {\n // base 1 is impossible\n if (from < 2)\n throw new RangeError(`convertRadix: invalid from=${from}, base cannot be less than 2`);\n if (to < 2)\n throw new RangeError(`convertRadix: invalid to=${to}, base cannot be less than 2`);\n aArr(data);\n if (!data.length)\n return [];\n let pos = 0;\n const res = [];\n const digits = Array.from(data, (d) => {\n anumber(d);\n if (d < 0 || d >= from)\n throw new Error(`invalid integer: ${d}`);\n return d;\n });\n const dlen = digits.length;\n while (true) {\n let carry = 0;\n let done = true;\n for (let i = pos; i < dlen; i++) {\n const digit = digits[i];\n const fromCarry = from * carry;\n const digitBase = fromCarry + digit;\n if (!Number.isSafeInteger(digitBase) ||\n fromCarry / from !== carry ||\n digitBase - digit !== fromCarry) {\n throw new Error('convertRadix: carry overflow');\n }\n const div = digitBase / to;\n carry = digitBase % to;\n const rounded = Math.floor(div);\n digits[i] = rounded;\n if (!Number.isSafeInteger(rounded) || rounded * to + carry !== digitBase)\n throw new Error('convertRadix: carry overflow');\n if (!done)\n continue;\n else if (!rounded)\n pos = i;\n else\n done = false;\n }\n res.push(carry);\n if (done)\n break;\n }\n // Preserve explicit leading zero digits so callers like base58 keep zero-prefix semantics.\n for (let i = 0; i < data.length - 1 && data[i] === 0; i++)\n res.push(0);\n return res.reverse();\n}\nconst gcd = (a, b) => (b === 0 ? a : gcd(b, a % b));\n// Maximum carry width before the `pos` cycle repeats.\n// Residues advance in gcd(from, to) steps, so the largest pre-drain width is from + (to - gcd).\nconst radix2carry = /* @__NO_SIDE_EFFECTS__ */ (from, to) => from + (to - gcd(from, to));\nconst powers = /* @__PURE__ */ (() => {\n let res = [];\n for (let i = 0; i < 40; i++)\n res.push(2 ** i);\n return res;\n})();\n/**\n * Implemented with numbers, because BigInt is 5x slower\n */\nfunction convertRadix2(data, from, to, padding) {\n aArr(data);\n if (from <= 0 || from > 32)\n throw new RangeError(`convertRadix2: wrong from=${from}`);\n if (to <= 0 || to > 32)\n throw new RangeError(`convertRadix2: wrong to=${to}`);\n if (radix2carry(from, to) > 32) {\n throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`);\n }\n let carry = 0;\n let pos = 0; // bitwise position in current element\n const max = powers[from];\n const mask = powers[to] - 1;\n const res = [];\n for (const n of data) {\n anumber(n);\n if (n >= max)\n throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);\n carry = (carry << from) | n;\n if (pos + from > 32)\n throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);\n pos += from;\n for (; pos >= to; pos -= to)\n res.push(((carry >> (pos - to)) & mask) >>> 0);\n const pow = powers[pos];\n if (pow === undefined)\n throw new Error('invalid carry');\n carry &= pow - 1; // clean carry, otherwise it will cause overflow\n }\n carry = (carry << (to - pos)) & mask;\n // Canonical decode paths reject leftover whole input words and non-zero pad bits.\n // For Bech32 5->8 regrouping, this is the \"4 bits or less, all zeroes\" tail rule.\n if (!padding && pos >= from)\n throw new Error('Excess padding');\n if (!padding && carry > 0)\n throw new Error(`Non-zero padding: ${carry}`);\n if (padding && pos > 0)\n res.push(carry >>> 0);\n return res;\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix(num) {\n anumber(num);\n const _256 = 2 ** 8;\n // Base-range and carry-overflow checks live in convertRadix so encode/decode reject unsupported bases symmetrically.\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new TypeError('radix.encode input should be Uint8Array');\n return convertRadix(Array.from(bytes), _256, num);\n },\n decode: (digits) => {\n anumArr('radix.decode', digits);\n return Uint8Array.from(convertRadix(digits, num, _256));\n },\n };\n}\n/**\n * If both bases are power of same number (like `2**8 <-> 2**64`),\n * there is a linear algorithm. For now we have implementation for power-of-two bases only.\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix2(bits, revPadding = false) {\n anumber(bits);\n if (bits <= 0 || bits > 32)\n throw new RangeError('radix2: bits should be in (0..32]');\n if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32)\n throw new RangeError('radix2: carry overflow');\n // revPadding flips which direction allows a partial zero tail.\n // Default pads 8->bits and rejects extra bits on bits->8; `true` does the opposite.\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new TypeError('radix2.encode input should be Uint8Array');\n return convertRadix2(Array.from(bytes), 8, bits, !revPadding);\n },\n decode: (digits) => {\n anumArr('radix2.decode', digits);\n return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding));\n },\n };\n}\nfunction unsafeWrapper(fn) {\n afn(fn);\n return function (...args) {\n // Only for *Unsafe APIs that intentionally collapse validation failures to `undefined`.\n // Do not wrap code that needs to preserve exception details.\n try {\n return fn.apply(null, args);\n }\n catch (e) { }\n };\n}\nfunction checksum(len, fn) {\n anumber(len);\n // Reject degenerate zero-byte checksums up front so callers don't accidentally\n // build a no-op checksum stage.\n if (len <= 0)\n throw new RangeError(`checksum length must be positive: ${len}`);\n afn(fn);\n const _fn = fn;\n // Uses the first `len` bytes of fn(data) in both directions.\n // Current call sites rely on `len > 0` and checksum functions that return at least that many bytes.\n return {\n encode(data) {\n if (!isBytes(data))\n throw new TypeError('checksum.encode: input should be Uint8Array');\n const sum = _fn(data).slice(0, len);\n const res = new Uint8Array(data.length + len);\n res.set(data);\n res.set(sum, data.length);\n return res;\n },\n decode(data) {\n if (!isBytes(data))\n throw new TypeError('checksum.decode: input should be Uint8Array');\n const payload = data.slice(0, -len);\n const oldChecksum = data.slice(-len);\n const newChecksum = _fn(payload).slice(0, len);\n for (let i = 0; i < len; i++)\n if (newChecksum[i] !== oldChecksum[i])\n throw new Error('Invalid checksum');\n return payload;\n },\n };\n}\n// prettier-ignore\n/**\n * Low-level building blocks used by the exported codecs.\n * @example\n * Build a radix-32 coder from the low-level helpers.\n * ```ts\n * import { utils } from '@scure/base';\n * utils.radix2(5).encode(Uint8Array.from([1, 2, 3]));\n * ```\n */\nexport const utils = /* @__PURE__ */ Object.freeze({\n alphabet, chain, checksum, convertRadix, convertRadix2, radix, radix2, join, padding,\n});\n// RFC 4648 aka RFC 3548\n// ---------------------\n/**\n * base16 encoding from RFC 4648.\n * This codec uses RFC 4648 Table 5's uppercase alphabet directly.\n * RFC 4648 §8 calls base16 \"case-insensitive hex encoding\", but we intentionally do not case-fold decode input here.\n * Use `hex` for case-insensitive hex decoding.\n * @example\n * ```js\n * base16.encode(Uint8Array.from([0x12, 0xab]));\n * // => '12AB'\n * ```\n */\nexport const base16 = /* @__PURE__ */ Object.freeze(chain(radix2(4), alphabet('0123456789ABCDEF'), join('')));\n/**\n * base32 encoding from RFC 4648. Has padding.\n * RFC 4648 §6 Table 3 uses uppercase letters, and RFC 4648 §3.4 allows applications to choose\n * upper- or lowercase alphabets. We keep the published uppercase table and do not case-fold decode input.\n * Use `base32nopad` for unpadded version.\n * Also check out `base32hex`, `base32hexnopad`, `base32crockford`.\n * @example\n * ```js\n * base32.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'CKVQ===='\n * base32.decode('CKVQ====');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32 = /* @__PURE__ */ Object.freeze(chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), padding(5), join('')));\n/**\n * base32 encoding from RFC 4648. No padding.\n * This variant inherits RFC 4648 base32's uppercase table and intentionally does not case-fold decode input.\n * Use `base32` for padded version.\n * Also check out `base32hex`, `base32hexnopad`, `base32crockford`.\n * @example\n * ```js\n * base32nopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'CKVQ'\n * base32nopad.decode('CKVQ');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32nopad = /* @__PURE__ */ Object.freeze(chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), join('')));\n/**\n * base32 encoding from RFC 4648. Padded. Compared to ordinary `base32`, slightly different alphabet.\n * RFC 4648 §7 Table 4 uses uppercase letters, and we intentionally keep that table without case-folding decode input.\n * Use `base32hexnopad` for unpadded version.\n * @example\n * ```js\n * base32hex.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ALG===='\n * base32hex.decode('2ALG====');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32hex = /* @__PURE__ */ Object.freeze(chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), padding(5), join('')));\n/**\n * base32 encoding from RFC 4648. No padding. Compared to ordinary `base32`, slightly different alphabet.\n * This variant inherits RFC 4648 base32hex's uppercase table and intentionally does not case-fold decode input.\n * Use `base32hex` for padded version.\n * @example\n * ```js\n * base32hexnopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ALG'\n * base32hexnopad.decode('2ALG');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32hexnopad = /* @__PURE__ */ Object.freeze(chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), join('')));\n/**\n * base32 encoding from RFC 4648. Doug Crockford's version.\n * See {@link https://www.crockford.com/base32.html | Douglas Crockford's Base32}.\n * @example\n * ```js\n * base32crockford.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ANG'\n * base32crockford.decode('2ANG');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32crockford = /* @__PURE__ */ Object.freeze(chain(radix2(5), alphabet('0123456789ABCDEFGHJKMNPQRSTVWXYZ'), join(''), normalize((s) => s.toUpperCase().replace(/O/g, '0').replace(/[IL]/g, '1'))));\n// Built-in base64 conversion https://caniuse.com/mdn-javascript_builtins_uint8array_frombase64\n// Require both directions before taking the native fast path, so base64/base64url don't mix native and JS behavior.\n// prettier-ignore\nconst hasBase64Builtin = /* @__PURE__ */ (() => typeof Uint8Array.from([]).toBase64 === 'function' &&\n typeof Uint8Array.fromBase64 === 'function')();\n// Native `Uint8Array.fromBase64()` accepts these ASCII whitespace chars.\n// Reject them first so the native base64 path still follows RFC 4648 §3.3.\n// ASCII whitespace is U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, or U+0020 SPACE\nconst ASCII_WHITESPACE = /[\\t\\n\\f\\r ]/;\nconst decodeBase64Builtin = (s, isUrl) => {\n astr('base64', s);\n const alphabet = isUrl ? 'base64url' : 'base64';\n // Per spec, .fromBase64 already throws on any other non-alphabet symbols except ASCII whitespace\n // And checking just for whitespace makes decoding about 3x faster than a full range check.\n // lastChunkHandling: 'strict' rejects loose tails and non-zero pad bits so native decoding stays canonical.\n if (s.length > 0 && ASCII_WHITESPACE.test(s))\n throw new Error('invalid base64');\n return Uint8Array.fromBase64(s, { alphabet, lastChunkHandling: 'strict' });\n};\n/**\n * base64 from RFC 4648. Padded.\n * Use `base64nopad` for unpadded version.\n * Also check out `base64url`, `base64urlnopad`.\n * Falls back to built-in function, when available.\n * @example\n * ```js\n * base64.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs='\n * base64.decode('Eqs=');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\n// prettier-ignore\nexport const base64 = /* @__PURE__ */ Object.freeze(hasBase64Builtin ? {\n encode(b) { abytes(b); return b.toBase64(); },\n decode(s) { return decodeBase64Builtin(s, false); },\n} : chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), padding(6), join('')));\n/**\n * base64 from RFC 4648. No padding.\n * Use `base64` for padded version.\n * @example\n * ```js\n * base64nopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs'\n * base64nopad.decode('Eqs');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base64nopad = /* @__PURE__ */ Object.freeze(chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), join('')));\n/**\n * base64 from RFC 4648, using URL-safe alphabet. Padded.\n * Use `base64urlnopad` for unpadded version.\n * Falls back to built-in function, when available.\n * @example\n * ```js\n * base64url.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs='\n * base64url.decode('Eqs=');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\n// prettier-ignore\nexport const base64url = /* @__PURE__ */ Object.freeze(hasBase64Builtin ? {\n encode(b) { abytes(b); return b.toBase64({ alphabet: 'base64url' }); },\n decode(s) { return decodeBase64Builtin(s, true); },\n} : chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), padding(6), join('')));\n/**\n * base64 from RFC 4648, using URL-safe alphabet. No padding.\n * Use `base64url` for padded version.\n * @example\n * ```js\n * base64urlnopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs'\n * base64urlnopad.decode('Eqs');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base64urlnopad = /* @__PURE__ */ Object.freeze(chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), join('')));\n// base58 code\n// -----------\nconst genBase58 = /* @__NO_SIDE_EFFECTS__ */ (abc) => chain(radix(58), alphabet(abc), join(''));\n/**\n * base58: base64 without ambigous characters +, /, 0, O, I, l.\n * Quadratic (O(n^2)) - so, can't be used on large inputs.\n * @example\n * ```js\n * const text = base58.encode(Uint8Array.from([0, 1, 2]));\n * base58.decode(text);\n * // => Uint8Array.from([0, 1, 2])\n * ```\n */\nexport const base58 = /* @__PURE__ */ Object.freeze(genBase58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'));\n/**\n * base58: flickr version. Check out `base58`.\n * @example\n * Round-trip bytes with the Flickr alphabet.\n * ```ts\n * const text = base58flickr.encode(Uint8Array.from([0, 1, 2]));\n * base58flickr.decode(text);\n * ```\n */\nexport const base58flickr = /* @__PURE__ */ Object.freeze(genBase58('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'));\n/**\n * base58: XRP version. Check out `base58`.\n * @example\n * Round-trip bytes with the XRP alphabet.\n * ```ts\n * const text = base58xrp.encode(Uint8Array.from([0, 1, 2]));\n * base58xrp.decode(text);\n * ```\n */\nexport const base58xrp = /* @__PURE__ */ Object.freeze(genBase58('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz'));\n// Data len (index) -> encoded block len.\n// Monero pads each 1..8-byte block to this fixed base58 width so decode can recover the tail length.\nconst XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11];\n/**\n * base58: XMR version. Check out `base58`.\n * Done in 8-byte blocks (which equals 11 chars in decoding). Last (non-full) block padded with '1' to size in XMR_BLOCK_LEN.\n * Block encoding significantly reduces quadratic complexity of base58.\n * @example\n * Round-trip bytes with the Monero block codec.\n * ```ts\n * const text = base58xmr.encode(Uint8Array.from([0, 1, 2]));\n * base58xmr.decode(text);\n * ```\n */\nexport const base58xmr = /* @__PURE__ */ Object.freeze({\n encode(data) {\n abytes(data);\n let res = '';\n for (let i = 0; i < data.length; i += 8) {\n const block = data.subarray(i, i + 8);\n res += base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], '1');\n }\n return res;\n },\n decode(str) {\n astr('base58xmr.decode', str);\n let res = [];\n for (let i = 0; i < str.length; i += 11) {\n const slice = str.slice(i, i + 11);\n const blockLen = XMR_BLOCK_LEN.indexOf(slice.length);\n const block = base58.decode(slice);\n for (let j = 0; j < block.length - blockLen; j++) {\n if (block[j] !== 0)\n throw new Error('base58xmr: wrong padding');\n }\n res = res.concat(Array.from(block.slice(block.length - blockLen)));\n }\n return Uint8Array.from(res);\n },\n});\n/**\n * Method, which creates base58check encoder.\n * Requires function, calculating sha256.\n * Callers must include any version bytes in `data`; this helper only applies the\n * 4-byte double-SHA256 checksum used by Bitcoin Base58Check.\n * @param sha256 - Function used to calculate the checksum hash.\n * @returns base58check codec using 4 checksum bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Create a base58check codec from a SHA-256 implementation.\n * ```ts\n * import { createBase58check } from '@scure/base';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const coder = createBase58check(sha256);\n * coder.encode(Uint8Array.from([1, 2, 3]));\n * ```\n */\nexport const createBase58check = (sha256) => {\n // Validate the hash function at construction time so wrong inputs fail before returning a coder.\n afn(sha256);\n const _sha256 = sha256;\n return chain(checksum(4, (data) => _sha256(_sha256(data))), base58);\n};\n/**\n * Use `createBase58check` instead.\n * @deprecated Use {@link createBase58check} instead.\n * Callers must include any version bytes in `data`; this alias keeps the same\n * 4-byte double-SHA256 checksum behavior as `createBase58check`.\n * @param sha256 - Function used to calculate the checksum hash.\n * @returns base58check codec using 4 checksum bytes.\n * @example\n * Create a base58check codec with the deprecated alias.\n * ```ts\n * import { base58check } from '@scure/base';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const coder = base58check(sha256);\n * coder.encode(Uint8Array.from([1, 2, 3]));\n * ```\n */\nexport const base58check = createBase58check;\n// BIP 173 character table: data values 0..31 map to `qpzry9x8gf2tvdw0s3jn54khce6mua7l`.\nconst BECH_ALPHABET = chain(alphabet('qpzry9x8gf2tvdw0s3jn54khce6mua7l'), join(''));\n// BIP 173 `bech32_polymod` GEN coefficients.\nconst POLYMOD_GENERATORS = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];\n// BIP 173 step split: this applies the polymod state transition before callers xor in the next 5-bit value.\nfunction bech32Polymod(pre) {\n const b = pre >> 25;\n let chk = (pre & 0x1ffffff) << 5;\n for (let i = 0; i < POLYMOD_GENERATORS.length; i++) {\n if (((b >> i) & 1) === 1)\n chk ^= POLYMOD_GENERATORS[i];\n }\n return chk;\n}\nfunction bechChecksum(prefix, words, encodingConst = 1) {\n const len = prefix.length;\n let chk = 1;\n for (let i = 0; i < len; i++) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n throw new Error(`Invalid prefix (${prefix})`);\n chk = bech32Polymod(chk) ^ (c >> 5);\n }\n chk = bech32Polymod(chk);\n for (let i = 0; i < len; i++)\n chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 0x1f);\n for (let v of words)\n chk = bech32Polymod(chk) ^ v;\n for (let i = 0; i < 6; i++)\n chk = bech32Polymod(chk);\n // BIP 173/BIP 350: xor the final checksum constant, then emit the 30-bit state as six 5-bit symbols.\n chk ^= encodingConst;\n return BECH_ALPHABET.encode(convertRadix2([chk % powers[30]], 30, 5, false));\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction genBech32(encoding) {\n // BIP 173 uses final xor constant 1; BIP 350 swaps in 0x2bc830a3 for Bech32m.\n const ENCODING_CONST = encoding === 'bech32' ? 1 : 0x2bc830a3;\n const _words = radix2(5);\n const fromWords = _words.decode;\n const toWords = _words.encode;\n const fromWordsUnsafe = unsafeWrapper(fromWords);\n function encode(prefix, words, limit = 90) {\n astr('bech32.encode prefix', prefix);\n if (isBytes(words))\n words = Array.from(words);\n anumArr('bech32.encode', words);\n const plen = prefix.length;\n if (plen === 0)\n throw new TypeError(`Invalid prefix length ${plen}`);\n // Total output is hrp + `1` separator + payload words + 6 checksum chars.\n const actualLength = plen + 7 + words.length;\n if (limit !== false && actualLength > limit)\n throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);\n const lowered = prefix.toLowerCase();\n const sum = bechChecksum(lowered, words, ENCODING_CONST);\n return `${lowered}1${BECH_ALPHABET.encode(words)}${sum}`;\n }\n function decode(str, limit = 90) {\n astr('bech32.decode input', str);\n const slen = str.length;\n // Minimum length is 1-char hrp + `1` separator + 6-char checksum.\n if (slen < 8 || (limit !== false && slen > limit))\n throw new TypeError(`invalid string length: ${slen} (${str}). Expected (8..${limit})`);\n // don't allow mixed case\n const lowered = str.toLowerCase();\n if (str !== lowered && str !== str.toUpperCase())\n throw new Error(`String must be lowercase or uppercase`);\n const sepIndex = lowered.lastIndexOf('1');\n if (sepIndex === 0 || sepIndex === -1)\n throw new Error(`Letter \"1\" must be present between prefix and data only`);\n const prefix = lowered.slice(0, sepIndex);\n const data = lowered.slice(sepIndex + 1);\n if (data.length < 6)\n throw new Error('Data must be at least 6 characters long');\n const words = BECH_ALPHABET.decode(data).slice(0, -6);\n const sum = bechChecksum(prefix, words, ENCODING_CONST);\n if (!data.endsWith(sum))\n throw new Error(`Invalid checksum in ${str}: expected \"${sum}\"`);\n return { prefix, words };\n }\n const decodeUnsafe = unsafeWrapper(decode);\n function decodeToBytes(str) {\n // Keep the byte helper unbounded; callers that need the default BIP 173 length cap should use decode(str).\n const { prefix, words } = decode(str, false);\n return {\n prefix,\n words,\n bytes: fromWords(words),\n };\n }\n function encodeFromBytes(prefix, bytes) {\n // Keep the convenience wrapper on encode()'s default 90-char cap; custom limits should call encode(prefix, toWords(bytes), limit).\n return encode(prefix, toWords(bytes));\n }\n return {\n encode,\n decode,\n encodeFromBytes,\n decodeToBytes,\n decodeUnsafe,\n fromWords,\n fromWordsUnsafe,\n toWords,\n };\n}\n/**\n * bech32 from BIP 173. Operates on words.\n * For high-level helpers, check out {@link https://github.com/paulmillr/scure-btc-signer | scure-btc-signer}.\n * @example\n * Convert bytes to words, encode them, then decode back.\n * ```ts\n * const words = bech32.toWords(Uint8Array.from([1, 2, 3]));\n * const text = bech32.encode('bc', words);\n * bech32.decode(text);\n * ```\n */\nexport const bech32 = /* @__PURE__ */ Object.freeze(genBech32('bech32'));\n/**\n * bech32m from BIP 350. Operates on words.\n * It was to mitigate `bech32` weaknesses.\n * For high-level helpers, check out {@link https://github.com/paulmillr/scure-btc-signer | scure-btc-signer}.\n * @example\n * Convert bytes to words, encode them with bech32m, then decode back.\n * ```ts\n * const words = bech32m.toWords(Uint8Array.from([1, 2, 3]));\n * const text = bech32m.encode('bc', words);\n * bech32m.decode(text);\n * ```\n */\nexport const bech32m = /* @__PURE__ */ Object.freeze(genBech32('bech32m'));\n/**\n * ASCII-to-byte decoder. Rejects non-ASCII text and bytes instead of doing UTF-8 replacement.\n * Method names follow `BytesCoder`, so `encode(bytes)` returns a string and `decode(string)` returns bytes.\n * @example\n * ```js\n * const b = ascii.decode(\"ABC\"); // => new Uint8Array([ 65, 66, 67 ])\n * const str = ascii.encode(b); // \"ABC\"\n * ```\n */\nexport const ascii = /* @__PURE__ */ Object.freeze({\n encode(data) {\n abytes(data);\n let res = '';\n for (let i = 0; i < data.length; i++) {\n const byte = data[i];\n // ASCII is 7-bit; reject bytes outside 0x00..0x7f instead of silently widening to\n // Latin-1/UTF-8.\n if (byte > 127)\n throw new RangeError(`bytes contain non-ASCII byte ${byte} at position ${i}`);\n res += String.fromCharCode(byte);\n }\n return res;\n },\n decode(str) {\n if (typeof str !== 'string')\n throw new TypeError('ascii string expected, got ' + typeof str);\n const res = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n // Indexed access is much faster than Uint8Array.from(str, mapFn) here and keeps\n // exact error positions.\n const charCode = str.charCodeAt(i);\n if (charCode > 127) {\n throw new RangeError(`string contains non-ASCII character \"${str[i]}\" with code ${charCode} at position ${i}`);\n }\n res[i] = charCode;\n }\n return res;\n },\n});\nconst _isWellFormedShim = (str) => {\n // encodeURI rejects malformed UTF-16, giving a compact fallback that matches native\n // isWellFormed on our tests/fuzz corpus.\n try {\n return encodeURI(str) !== null;\n }\n catch {\n return false;\n }\n};\nconst _isWellFormed = /* @__PURE__ */ (() => \n// Pick the native check once so utf8.decode doesn't re-probe String.prototype on every call.\ntypeof ''.isWellFormed === 'function'\n ? (str) => str.isWellFormed()\n : _isWellFormedShim)();\n// This fallback stays small because strict UTF-8 only needs fatal decoding plus well-formed\n// UTF-16 checks, not the replacement, streaming, or legacy-encoding behavior of full platform\n// text codecs.\nconst utf8Fallback = /* @__PURE__ */ Object.freeze({\n encode(data) {\n abytes(data);\n let res = '';\n for (let i = 0; i < data.length;) {\n const a = data[i++];\n if (a < 0b1000_0000) {\n res += String.fromCharCode(a);\n continue;\n }\n if (a < 0b1100_0010 || i >= data.length)\n throw new TypeError(`invalid utf8 at byte ${i - 1}`);\n const b = data[i++];\n if ((b & 0b1100_0000) !== 0b1000_0000)\n throw new TypeError(`invalid utf8 at byte ${i - 1}`);\n let cp = ((a & 0b0001_1111) << 6) | (b & 0b0011_1111);\n if (a >= 0b1110_0000) {\n if (i >= data.length)\n throw new TypeError(`invalid utf8 at byte ${i - 1}`);\n const c = data[i++];\n if ((c & 0b1100_0000) !== 0b1000_0000 ||\n (a === 0b1110_0000 && b < 0b1010_0000) ||\n (a === 0xed && b >= 0b1010_0000))\n throw new TypeError(`invalid utf8 at byte ${i - 1}`);\n cp = ((a & 0b0000_1111) << 12) | ((b & 0b0011_1111) << 6) | (c & 0b0011_1111);\n if (a >= 0b1111_0000) {\n if (i >= data.length)\n throw new TypeError(`invalid utf8 at byte ${i - 1}`);\n const d = data[i++];\n if (a > 0b1111_0100 ||\n (d & 0b1100_0000) !== 0b1000_0000 ||\n (a === 0b1111_0000 && b < 0b1001_0000) ||\n (a === 0b1111_0100 && b >= 0b1001_0000))\n throw new TypeError(`invalid utf8 at byte ${i - 1}`);\n cp =\n ((a & 7) << 18) |\n ((b & 0b0011_1111) << 12) |\n ((c & 0b0011_1111) << 6) |\n (d & 0b0011_1111);\n }\n }\n if (cp < 0x10000)\n res += String.fromCharCode(cp);\n else {\n cp -= 0x10000;\n res += String.fromCharCode((cp >> 10) + 0xd800, (cp & 0x3ff) + 0xdc00);\n }\n }\n return res;\n },\n decode(str) {\n astr('utf8', str);\n if (!_isWellFormed(str))\n throw new TypeError('utf8 expected well-formed string');\n // Direct Uint8Array writes are much faster than number[] + Uint8Array.from on Hermes and\n // large Node inputs.\n const res = new Uint8Array(str.length * 3);\n let pos = 0;\n for (let i = 0; i < str.length; i++) {\n let c = str.charCodeAt(i);\n if (c < 0b1000_0000) {\n res[pos++] = c;\n continue;\n }\n if (c >= 0xd800 && c <= 0xdfff) {\n const d = str.charCodeAt(++i);\n c = 0x10000 + ((c - 0xd800) << 10) + d - 0xdc00;\n }\n if (c >= 0x10000) {\n res[pos++] = (c >> 18) | 0b1111_0000;\n res[pos++] = ((c >> 12) & 0b0011_1111) | 0b1000_0000;\n }\n else if (c >= 0x800)\n res[pos++] = (c >> 12) | 0b1110_0000;\n else\n res[pos++] = (c >> 6) | 0b1100_0000;\n if (c >= 0x800)\n res[pos++] = ((c >> 6) & 0b0011_1111) | 0b1000_0000;\n res[pos++] = (c & 0b0011_1111) | 0b1000_0000;\n }\n return res.subarray(0, pos);\n },\n});\n/**\n * Strict UTF-8-to-byte decoder. Uses built-in TextDecoder / TextEncoder when available.\n * Method names follow `BytesCoder`, so `encode(bytes)` returns a string and\n * `decode(string)` returns bytes.\n * `encode(bytes)` requires Uint8Array input, preserves an explicit leading BOM, and\n * throws on invalid UTF-8 bytes.\n * `decode(string)` requires a primitive string and throws on malformed UTF-16 strings with\n * lone surrogates.\n * @example\n * ```js\n * const b = utf8.decode(\"hey\"); // => new Uint8Array([ 104, 101, 121 ])\n * const str = utf8.encode(b); // \"hey\"\n * ```\n */\nexport const utf8 = /* @__PURE__ */ (() => {\n let _utf8Encoder;\n let _utf8Decoder;\n const utf8Builtin = {\n // ignoreBOM preserves an explicit leading U+FEFF;\n // fatal rejects invalid UTF-8 bytes instead of replacing them.\n encode(data) {\n abytes(data);\n return (_utf8Decoder || (_utf8Decoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }))).decode(data);\n },\n decode(str) {\n astr('utf8', str);\n if (!_isWellFormed(str))\n throw new TypeError('utf8 expected well-formed string');\n return (_utf8Encoder || (_utf8Encoder = new TextEncoder())).encode(str);\n },\n };\n return Object.freeze({\n // Select each direction once at module init, since\n // TextEncoder and TextDecoder can exist independently.\n encode: typeof TextDecoder === 'function' ? utf8Builtin.encode : utf8Fallback.encode,\n decode: typeof TextEncoder === 'function' ? utf8Builtin.decode : utf8Fallback.decode,\n });\n})();\n// Keep fallback parity probes behind a test-only export until runtime fallback behavior is decided.\nexport const __TESTS = /* @__PURE__ */ Object.freeze({\n utf8Fallback: utf8Fallback,\n _isWellFormedShim: _isWellFormedShim,\n});\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\n// prettier-ignore\nconst hasHexBuiltin = /* @__PURE__ */ (() => \n// Require both directions before enabling the native hex path so encode/decode stay symmetric.\ntypeof Uint8Array.from([]).toHex === 'function' &&\n typeof Uint8Array.fromHex === 'function')();\n// prettier-ignore\nconst hexBuiltin = {\n // Keep local type guards so the native path preserves library-level input errors.\n // Native toHex emits lowercase hex, matching the fallback alphabet and Node's hex strings.\n encode(data) { abytes(data); return data.toHex(); },\n // Native fromHex accepts either hex case and rejects odd-length / non-hex syntax.\n decode(s) { astr('hex', s); return Uint8Array.fromHex(s); },\n};\n/**\n * hex string decoder. Uses built-in function, when available.\n * Lowercase codec; unlike `base16`, this variant accepts either hex case and emits lowercase.\n * @example\n * ```js\n * const b = hex.decode(\"0102ff\"); // => new Uint8Array([ 1, 2, 255 ])\n * const str = hex.encode(b); // \"0102ff\"\n * ```\n */\nexport const hex = /* @__PURE__ */ Object.freeze(hasHexBuiltin\n ? hexBuiltin\n : chain(radix2(4), alphabet('0123456789abcdef'), join(''), normalize((s) => {\n if (typeof s !== 'string' || s.length % 2 !== 0)\n throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);\n return s.toLowerCase();\n })));\n// prettier-ignore\n// Keep this registry aligned with CoderType/coderTypeError; only byte<->string codecs belong here.\nconst CODERS = {\n utf8, hex, base16, base32, base64, base64url, base58, base58xmr\n};\nconst coderTypeError = 'Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr';\n/**\n * Encodes bytes with one of the built-in codecs.\n * @deprecated Use the codec directly, for example `hex.encode(bytes)`.\n * @param type - Codec name.\n * @param bytes - Bytes to encode.\n * @returns Encoded string.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * ```ts\n * bytesToString('hex', Uint8Array.from([1, 2, 255]));\n * ```\n */\nexport const bytesToString = (type, bytes) => {\n if (typeof type !== 'string' || !CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (!isBytes(bytes))\n throw new TypeError('bytesToString() expects Uint8Array');\n return CODERS[type].encode(bytes);\n};\n/**\n * Alias for `bytesToString`.\n * @deprecated Use {@link bytesToString} or the codec directly instead.\n * @param type - Codec name.\n * @param bytes - Bytes to encode.\n * @returns Encoded string.\n * @example\n * ```ts\n * str('hex', Uint8Array.from([1, 2, 255]));\n * ```\n */\nexport const str = bytesToString; // as in python, but for bytes only\n/**\n * Decodes a string with one of the built-in codecs.\n * @deprecated Use the codec directly, for example `hex.decode(text)`.\n * @param type - Codec name.\n * @param str - Encoded string.\n * @returns Decoded bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * ```ts\n * stringToBytes('hex', '0102ff');\n * ```\n */\nexport const stringToBytes = (type, str) => {\n // Match bytesToString's selector validation so hostile `toString()` coercions can't leak custom errors.\n if (typeof type !== 'string' || !CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (typeof str !== 'string')\n throw new TypeError('stringToBytes() expects string');\n return CODERS[type].decode(str);\n};\n/**\n * Alias for `stringToBytes`.\n * @deprecated Use {@link stringToBytes} or the codec directly instead.\n * @param type - Codec name.\n * @param str - Encoded string.\n * @returns Decoded bytes.\n * @example\n * ```ts\n * bytes('hex', '0102ff');\n * ```\n */\nexport const bytes = stringToBytes;\n//# sourceMappingURL=index.js.map","import { base58 } from \"@scure/base\";\n\n//#region src/b58.ts\nconst toBase58 = (buffer) => base58.encode(buffer);\nconst fromBase58 = (str) => base58.decode(str);\n\n//#endregion\nexport { fromBase58, toBase58 };\n//# sourceMappingURL=b58.mjs.map","//#region src/b64.ts\nfunction fromBase64(base64String) {\n\treturn Uint8Array.from(atob(base64String), (char) => char.charCodeAt(0));\n}\nconst CHUNK_SIZE = 8192;\nfunction toBase64(bytes) {\n\tif (bytes.length < CHUNK_SIZE) return btoa(String.fromCharCode(...bytes));\n\tlet output = \"\";\n\tfor (var i = 0; i < bytes.length; i += CHUNK_SIZE) {\n\t\tconst chunk = bytes.slice(i, i + CHUNK_SIZE);\n\t\toutput += String.fromCharCode(...chunk);\n\t}\n\treturn btoa(output);\n}\n\n//#endregion\nexport { fromBase64, toBase64 };\n//# sourceMappingURL=b64.mjs.map","//#region src/hex.ts\nfunction fromHex(hexStr) {\n\tconst normalized = hexStr.startsWith(\"0x\") ? hexStr.slice(2) : hexStr;\n\tconst padded = normalized.length % 2 === 0 ? normalized : `0${normalized}`;\n\tconst intArr = padded.match(/[0-9a-fA-F]{2}/g)?.map((byte) => parseInt(byte, 16)) ?? [];\n\tif (intArr.length !== padded.length / 2) throw new Error(`Invalid hex string ${hexStr}`);\n\treturn Uint8Array.from(intArr);\n}\nfunction toHex(bytes) {\n\treturn bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, \"0\"), \"\");\n}\n\n//#endregion\nexport { fromHex, toHex };\n//# sourceMappingURL=hex.mjs.map","//#region src/chunk.ts\nfunction chunk(array, size) {\n\treturn Array.from({ length: Math.ceil(array.length / size) }, (_, i) => {\n\t\treturn array.slice(i * size, (i + 1) * size);\n\t});\n}\n\n//#endregion\nexport { chunk };\n//# sourceMappingURL=chunk.mjs.map","//#region src/dataloader.ts\n/**\n* DataLoader - A generic utility for batching and caching data fetches.\n*\n* Vendored from: https://github.com/graphql/dataloader\n* Commit: a10773043d41a56bde4219c155fcf5633e6c9bcb\n* License: MIT\n* Copyright (c) GraphQL Contributors\n*/\n/**\n* A `DataLoader` creates a public API for loading data from a particular\n* data back-end with unique keys such as the `id` column of a SQL table or\n* document name in a MongoDB database, given a batch loading function.\n*\n* Each `DataLoader` instance contains a unique memoized cache. Use caution when\n* used in long-lived applications or those which serve many users with\n* different access permissions and consider creating a new instance per\n* web request.\n*/\nvar DataLoader = class {\n\tconstructor(batchLoadFn, options) {\n\t\tif (typeof batchLoadFn !== \"function\") throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${batchLoadFn}.`);\n\t\tthis._batchLoadFn = batchLoadFn;\n\t\tthis._maxBatchSize = getValidMaxBatchSize(options);\n\t\tthis._batchScheduleFn = getValidBatchScheduleFn(options);\n\t\tthis._cacheKeyFn = getValidCacheKeyFn(options);\n\t\tthis._cacheMap = getValidCacheMap(options);\n\t\tthis._batch = null;\n\t\tthis.name = getValidName(options);\n\t}\n\t/**\n\t* Loads a key, returning a `Promise` for the value represented by that key.\n\t*/\n\tload(key) {\n\t\tif (key === null || key === void 0) throw new TypeError(`The loader.load() function must be called with a value, but got: ${String(key)}.`);\n\t\tconst batch = getCurrentBatch(this);\n\t\tconst cacheMap = this._cacheMap;\n\t\tlet cacheKey;\n\t\tif (cacheMap) {\n\t\t\tcacheKey = this._cacheKeyFn(key);\n\t\t\tconst cachedPromise = cacheMap.get(cacheKey);\n\t\t\tif (cachedPromise) {\n\t\t\t\tconst cacheHits = batch.cacheHits || (batch.cacheHits = []);\n\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\tcacheHits.push(() => {\n\t\t\t\t\t\tresolve(cachedPromise);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tbatch.keys.push(key);\n\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\tbatch.callbacks.push({\n\t\t\t\tresolve,\n\t\t\t\treject\n\t\t\t});\n\t\t});\n\t\tif (cacheMap) cacheMap.set(cacheKey, promise);\n\t\treturn promise;\n\t}\n\t/**\n\t* Loads multiple keys, promising an array of values:\n\t*\n\t* var [ a, b ] = await myLoader.loadMany([ 'a', 'b' ]);\n\t*\n\t* This is similar to the more verbose:\n\t*\n\t* var [ a, b ] = await Promise.all([\n\t* myLoader.load('a'),\n\t* myLoader.load('b')\n\t* ]);\n\t*\n\t* However it is different in the case where any load fails. Where\n\t* Promise.all() would reject, loadMany() always resolves, however each result\n\t* is either a value or an Error instance.\n\t*\n\t* var [ a, b, c ] = await myLoader.loadMany([ 'a', 'b', 'badkey' ]);\n\t* // c instanceof Error\n\t*\n\t*/\n\tloadMany(keys) {\n\t\tif (!isArrayLike(keys)) throw new TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${keys}.`);\n\t\tconst loadPromises = [];\n\t\tfor (let i = 0; i < keys.length; i++) loadPromises.push(this.load(keys[i]).catch((error) => error));\n\t\treturn Promise.all(loadPromises);\n\t}\n\t/**\n\t* Clears the value at `key` from the cache, if it exists. Returns itself for\n\t* method chaining.\n\t*/\n\tclear(key) {\n\t\tconst cacheMap = this._cacheMap;\n\t\tif (cacheMap) {\n\t\t\tconst cacheKey = this._cacheKeyFn(key);\n\t\t\tcacheMap.delete(cacheKey);\n\t\t}\n\t\treturn this;\n\t}\n\t/**\n\t* Clears the entire cache. To be used when some event results in unknown\n\t* invalidations across this particular `DataLoader`. Returns itself for\n\t* method chaining.\n\t*/\n\tclearAll() {\n\t\tconst cacheMap = this._cacheMap;\n\t\tif (cacheMap) cacheMap.clear();\n\t\treturn this;\n\t}\n\t/**\n\t* Adds the provided key and value to the cache. If the key already\n\t* exists, no change is made. Returns itself for method chaining.\n\t*\n\t* To prime the cache with an error at a key, provide an Error instance.\n\t*/\n\tprime(key, value) {\n\t\tconst cacheMap = this._cacheMap;\n\t\tif (cacheMap) {\n\t\t\tconst cacheKey = this._cacheKeyFn(key);\n\t\t\tif (cacheMap.get(cacheKey) === void 0) {\n\t\t\t\tlet promise;\n\t\t\t\tif (value instanceof Error) {\n\t\t\t\t\tpromise = Promise.reject(value);\n\t\t\t\t\tpromise.catch(() => {});\n\t\t\t\t} else promise = Promise.resolve(value);\n\t\t\t\tcacheMap.set(cacheKey, promise);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n};\nconst enqueuePostPromiseJob = typeof process === \"object\" && typeof process.nextTick === \"function\" ? function(fn) {\n\tif (!resolvedPromise) resolvedPromise = Promise.resolve();\n\tresolvedPromise.then(() => {\n\t\tprocess.nextTick(fn);\n\t});\n} : typeof setImmediate === \"function\" ? function(fn) {\n\tsetImmediate(fn);\n} : function(fn) {\n\tsetTimeout(fn);\n};\nlet resolvedPromise;\nfunction getCurrentBatch(loader) {\n\tconst existingBatch = loader._batch;\n\tif (existingBatch !== null && !existingBatch.hasDispatched && existingBatch.keys.length < loader._maxBatchSize) return existingBatch;\n\tconst newBatch = {\n\t\thasDispatched: false,\n\t\tkeys: [],\n\t\tcallbacks: []\n\t};\n\tloader._batch = newBatch;\n\tloader._batchScheduleFn(() => {\n\t\tdispatchBatch(loader, newBatch);\n\t});\n\treturn newBatch;\n}\nfunction dispatchBatch(loader, batch) {\n\tbatch.hasDispatched = true;\n\tif (batch.keys.length === 0) {\n\t\tresolveCacheHits(batch);\n\t\treturn;\n\t}\n\tlet batchPromise;\n\ttry {\n\t\tbatchPromise = loader._batchLoadFn(batch.keys);\n\t} catch (e) {\n\t\treturn failedDispatch(loader, batch, /* @__PURE__ */ new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(e)}.`));\n\t}\n\tif (!batchPromise || typeof batchPromise.then !== \"function\") return failedDispatch(loader, batch, /* @__PURE__ */ new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(batchPromise)}.`));\n\tPromise.resolve(batchPromise).then((values) => {\n\t\tif (!isArrayLike(values)) throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(values)}.`);\n\t\tif (values.length !== batch.keys.length) throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n${String(batch.keys)}\\n\\nValues:\\n${String(values)}`);\n\t\tresolveCacheHits(batch);\n\t\tfor (let i = 0; i < batch.callbacks.length; i++) {\n\t\t\tconst value = values[i];\n\t\t\tif (value instanceof Error) batch.callbacks[i].reject(value);\n\t\t\telse batch.callbacks[i].resolve(value);\n\t\t}\n\t}).catch((error) => {\n\t\tfailedDispatch(loader, batch, error);\n\t});\n}\nfunction failedDispatch(loader, batch, error) {\n\tresolveCacheHits(batch);\n\tfor (let i = 0; i < batch.keys.length; i++) {\n\t\tloader.clear(batch.keys[i]);\n\t\tbatch.callbacks[i].reject(error);\n\t}\n}\nfunction resolveCacheHits(batch) {\n\tif (batch.cacheHits) for (let i = 0; i < batch.cacheHits.length; i++) batch.cacheHits[i]();\n}\nfunction getValidMaxBatchSize(options) {\n\tif (!(!options || options.batch !== false)) return 1;\n\tconst maxBatchSize = options && options.maxBatchSize;\n\tif (maxBatchSize === void 0) return Infinity;\n\tif (typeof maxBatchSize !== \"number\" || maxBatchSize < 1) throw new TypeError(`maxBatchSize must be a positive number: ${maxBatchSize}`);\n\treturn maxBatchSize;\n}\nfunction getValidBatchScheduleFn(options) {\n\tconst batchScheduleFn = options && options.batchScheduleFn;\n\tif (batchScheduleFn === void 0) return enqueuePostPromiseJob;\n\tif (typeof batchScheduleFn !== \"function\") throw new TypeError(`batchScheduleFn must be a function: ${batchScheduleFn}`);\n\treturn batchScheduleFn;\n}\nfunction getValidCacheKeyFn(options) {\n\tconst cacheKeyFn = options && options.cacheKeyFn;\n\tif (cacheKeyFn === void 0) return (key) => key;\n\tif (typeof cacheKeyFn !== \"function\") throw new TypeError(`cacheKeyFn must be a function: ${cacheKeyFn}`);\n\treturn cacheKeyFn;\n}\nfunction getValidCacheMap(options) {\n\tif (!(!options || options.cache !== false)) return null;\n\tconst cacheMap = options && options.cacheMap;\n\tif (cacheMap === void 0) return /* @__PURE__ */ new Map();\n\tif (cacheMap !== null) {\n\t\tconst missingFunctions = [\n\t\t\t\"get\",\n\t\t\t\"set\",\n\t\t\t\"delete\",\n\t\t\t\"clear\"\n\t\t].filter((fnName) => cacheMap && typeof cacheMap[fnName] !== \"function\");\n\t\tif (missingFunctions.length !== 0) throw new TypeError(\"Custom cacheMap missing methods: \" + missingFunctions.join(\", \"));\n\t}\n\treturn cacheMap;\n}\nfunction getValidName(options) {\n\tif (options && options.name) return options.name;\n\treturn null;\n}\nfunction isArrayLike(x) {\n\treturn typeof x === \"object\" && x !== null && \"length\" in x && typeof x.length === \"number\" && (x.length === 0 || x.length > 0 && Object.prototype.hasOwnProperty.call(x, x.length - 1));\n}\n\n//#endregion\nexport { DataLoader };\n//# sourceMappingURL=dataloader.mjs.map","import { fromBase58, fromBase64, fromHex, toBase58, toBase64, toHex } from \"@mysten/utils\";\n\n//#region src/utils.ts\n/**\n* Encode data with either `hex` or `base64`.\n*\n* @param {Uint8Array} data Data to encode.\n* @param {String} encoding Encoding to use: base64 or hex\n* @returns {String} Encoded value.\n*/\nfunction encodeStr(data, encoding) {\n\tswitch (encoding) {\n\t\tcase \"base58\": return toBase58(data);\n\t\tcase \"base64\": return toBase64(data);\n\t\tcase \"hex\": return toHex(data);\n\t\tdefault: throw new Error(\"Unsupported encoding, supported values are: base64, hex\");\n\t}\n}\n/**\n* Decode either `base64` or `hex` data.\n*\n* @param {String} data Data to encode.\n* @param {String} encoding Encoding to use: base64 or hex\n* @returns {Uint8Array} Encoded value.\n*/\nfunction decodeStr(data, encoding) {\n\tswitch (encoding) {\n\t\tcase \"base58\": return fromBase58(data);\n\t\tcase \"base64\": return fromBase64(data);\n\t\tcase \"hex\": return fromHex(data);\n\t\tdefault: throw new Error(\"Unsupported encoding, supported values are: base64, hex\");\n\t}\n}\nfunction splitGenericParameters(str, genericSeparators = [\"<\", \">\"]) {\n\tconst [left, right] = genericSeparators;\n\tconst tok = [];\n\tlet word = \"\";\n\tlet nestedAngleBrackets = 0;\n\tfor (let i = 0; i < str.length; i++) {\n\t\tconst char = str[i];\n\t\tif (char === left) nestedAngleBrackets++;\n\t\tif (char === right) nestedAngleBrackets--;\n\t\tif (nestedAngleBrackets === 0 && char === \",\") {\n\t\t\ttok.push(word.trim());\n\t\t\tword = \"\";\n\t\t\tcontinue;\n\t\t}\n\t\tword += char;\n\t}\n\ttok.push(word.trim());\n\treturn tok;\n}\n\n//#endregion\nexport { decodeStr, encodeStr, splitGenericParameters };\n//# sourceMappingURL=utils.mjs.map","import { ulebEncode } from \"./uleb.mjs\";\nimport { encodeStr } from \"./utils.mjs\";\n\n//#region src/writer.ts\n/**\n* Class used to write BCS data into a buffer. Initializer requires\n* some size of a buffer to init; default value for this buffer is 1KB.\n*\n* Most methods are chainable, so it is possible to write them in one go.\n*\n* @example\n* let serialized = new BcsWriter()\n* .write8(10)\n* .write32(1000000)\n* .write64(10000001000000)\n* .hex();\n*/\n/**\n* Set of methods that allows data encoding/decoding as standalone\n* BCS value or a part of a composed structure/vector.\n*/\nvar BcsWriter = class {\n\tconstructor({ initialSize = 1024, maxSize = Infinity, allocateSize = 1024 } = {}) {\n\t\tthis.bytePosition = 0;\n\t\tthis.size = initialSize;\n\t\tthis.maxSize = maxSize;\n\t\tthis.allocateSize = allocateSize;\n\t\tthis.dataView = new DataView(new ArrayBuffer(initialSize));\n\t}\n\tensureSizeOrGrow(bytes) {\n\t\tconst requiredSize = this.bytePosition + bytes;\n\t\tif (requiredSize > this.size) {\n\t\t\tconst nextSize = Math.min(this.maxSize, Math.max(this.size + requiredSize, this.size + this.allocateSize));\n\t\t\tif (requiredSize > nextSize) throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${requiredSize}`);\n\t\t\tthis.size = nextSize;\n\t\t\tconst nextBuffer = new ArrayBuffer(this.size);\n\t\t\tnew Uint8Array(nextBuffer).set(new Uint8Array(this.dataView.buffer));\n\t\t\tthis.dataView = new DataView(nextBuffer);\n\t\t}\n\t}\n\t/**\n\t* Shift current cursor position by `bytes`.\n\t*\n\t* @param {Number} bytes Number of bytes to\n\t* @returns {this} Self for possible chaining.\n\t*/\n\tshift(bytes) {\n\t\tthis.bytePosition += bytes;\n\t\treturn this;\n\t}\n\t/**\n\t* Write a U8 value into a buffer and shift cursor position by 1.\n\t* @param {Number} value Value to write.\n\t* @returns {this}\n\t*/\n\twrite8(value) {\n\t\tthis.ensureSizeOrGrow(1);\n\t\tthis.dataView.setUint8(this.bytePosition, Number(value));\n\t\treturn this.shift(1);\n\t}\n\t/**\n\t* Write a U8 value into a buffer and shift cursor position by 1.\n\t* @param {Number} value Value to write.\n\t* @returns {this}\n\t*/\n\twriteBytes(bytes) {\n\t\tthis.ensureSizeOrGrow(bytes.length);\n\t\tfor (let i = 0; i < bytes.length; i++) this.dataView.setUint8(this.bytePosition + i, bytes[i]);\n\t\treturn this.shift(bytes.length);\n\t}\n\t/**\n\t* Write a U16 value into a buffer and shift cursor position by 2.\n\t* @param {Number} value Value to write.\n\t* @returns {this}\n\t*/\n\twrite16(value) {\n\t\tthis.ensureSizeOrGrow(2);\n\t\tthis.dataView.setUint16(this.bytePosition, Number(value), true);\n\t\treturn this.shift(2);\n\t}\n\t/**\n\t* Write a U32 value into a buffer and shift cursor position by 4.\n\t* @param {Number} value Value to write.\n\t* @returns {this}\n\t*/\n\twrite32(value) {\n\t\tthis.ensureSizeOrGrow(4);\n\t\tthis.dataView.setUint32(this.bytePosition, Number(value), true);\n\t\treturn this.shift(4);\n\t}\n\t/**\n\t* Write a U64 value into a buffer and shift cursor position by 8.\n\t* @param {bigint} value Value to write.\n\t* @returns {this}\n\t*/\n\twrite64(value) {\n\t\ttoLittleEndian(BigInt(value), 8).forEach((el) => this.write8(el));\n\t\treturn this;\n\t}\n\t/**\n\t* Write a U128 value into a buffer and shift cursor position by 16.\n\t*\n\t* @param {bigint} value Value to write.\n\t* @returns {this}\n\t*/\n\twrite128(value) {\n\t\ttoLittleEndian(BigInt(value), 16).forEach((el) => this.write8(el));\n\t\treturn this;\n\t}\n\t/**\n\t* Write a U256 value into a buffer and shift cursor position by 16.\n\t*\n\t* @param {bigint} value Value to write.\n\t* @returns {this}\n\t*/\n\twrite256(value) {\n\t\ttoLittleEndian(BigInt(value), 32).forEach((el) => this.write8(el));\n\t\treturn this;\n\t}\n\t/**\n\t* Write a ULEB value into a buffer and shift cursor position by number of bytes\n\t* written.\n\t* @param {Number} value Value to write.\n\t* @returns {this}\n\t*/\n\twriteULEB(value) {\n\t\tulebEncode(value).forEach((el) => this.write8(el));\n\t\treturn this;\n\t}\n\t/**\n\t* Write a vector into a buffer by first writing the vector length and then calling\n\t* a callback on each passed value.\n\t*\n\t* @param {Array<Any>} vector Array of elements to write.\n\t* @param {WriteVecCb} cb Callback to call on each element of the vector.\n\t* @returns {this}\n\t*/\n\twriteVec(vector, cb) {\n\t\tthis.writeULEB(vector.length);\n\t\tArray.from(vector).forEach((el, i) => cb(this, el, i, vector.length));\n\t\treturn this;\n\t}\n\t/**\n\t* Adds support for iterations over the object.\n\t* @returns {Uint8Array}\n\t*/\n\t*[Symbol.iterator]() {\n\t\tfor (let i = 0; i < this.bytePosition; i++) yield this.dataView.getUint8(i);\n\t\treturn this.toBytes();\n\t}\n\t/**\n\t* Get underlying buffer taking only value bytes (in case initial buffer size was bigger).\n\t* @returns {Uint8Array} Resulting bcs.\n\t*/\n\ttoBytes() {\n\t\treturn new Uint8Array(this.dataView.buffer.slice(0, this.bytePosition));\n\t}\n\t/**\n\t* Represent data as 'hex' or 'base64'\n\t* @param encoding Encoding to use: 'base64' or 'hex'\n\t*/\n\ttoString(encoding) {\n\t\treturn encodeStr(this.toBytes(), encoding);\n\t}\n};\nfunction toLittleEndian(bigint, size) {\n\tconst result = new Uint8Array(size);\n\tlet i = 0;\n\twhile (bigint > 0) {\n\t\tresult[i] = Number(bigint % BigInt(256));\n\t\tbigint = bigint / BigInt(256);\n\t\ti += 1;\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { BcsWriter };\n//# sourceMappingURL=writer.mjs.map","import { ulebEncode } from \"./uleb.mjs\";\nimport { BcsReader } from \"./reader.mjs\";\nimport { BcsWriter } from \"./writer.mjs\";\nimport { fromBase58, fromBase64, fromHex, toBase58, toBase64, toHex } from \"@mysten/utils\";\n\n//#region src/bcs-type.ts\nvar BcsType = class BcsType {\n\t#write;\n\t#serialize;\n\tconstructor(options) {\n\t\tthis.name = options.name;\n\t\tthis.read = options.read;\n\t\tthis.serializedSize = options.serializedSize ?? (() => null);\n\t\tthis.#write = options.write;\n\t\tthis.#serialize = options.serialize ?? ((value, options$1) => {\n\t\t\tconst writer = new BcsWriter({\n\t\t\t\tinitialSize: this.serializedSize(value) ?? void 0,\n\t\t\t\t...options$1\n\t\t\t});\n\t\t\tthis.#write(value, writer);\n\t\t\treturn writer.toBytes();\n\t\t});\n\t\tthis.validate = options.validate ?? (() => {});\n\t}\n\twrite(value, writer) {\n\t\tthis.validate(value);\n\t\tthis.#write(value, writer);\n\t}\n\tserialize(value, options) {\n\t\tthis.validate(value);\n\t\treturn new SerializedBcs(this, this.#serialize(value, options));\n\t}\n\tparse(bytes) {\n\t\tconst reader = new BcsReader(bytes);\n\t\treturn this.read(reader);\n\t}\n\tfromHex(hex) {\n\t\treturn this.parse(fromHex(hex));\n\t}\n\tfromBase58(b64) {\n\t\treturn this.parse(fromBase58(b64));\n\t}\n\tfromBase64(b64) {\n\t\treturn this.parse(fromBase64(b64));\n\t}\n\ttransform({ name, input, output, validate }) {\n\t\treturn new BcsType({\n\t\t\tname: name ?? this.name,\n\t\t\tread: (reader) => output ? output(this.read(reader)) : this.read(reader),\n\t\t\twrite: (value, writer) => this.#write(input ? input(value) : value, writer),\n\t\t\tserializedSize: (value) => this.serializedSize(input ? input(value) : value),\n\t\t\tserialize: (value, options) => this.#serialize(input ? input(value) : value, options),\n\t\t\tvalidate: (value) => {\n\t\t\t\tvalidate?.(value);\n\t\t\t\tthis.validate(input ? input(value) : value);\n\t\t\t}\n\t\t});\n\t}\n};\nconst SERIALIZED_BCS_BRAND = Symbol.for(\"@mysten/serialized-bcs\");\nfunction isSerializedBcs(obj) {\n\treturn !!obj && typeof obj === \"object\" && obj[SERIALIZED_BCS_BRAND] === true;\n}\nvar SerializedBcs = class {\n\t#schema;\n\t#bytes;\n\tget [SERIALIZED_BCS_BRAND]() {\n\t\treturn true;\n\t}\n\tconstructor(schema, bytes) {\n\t\tthis.#schema = schema;\n\t\tthis.#bytes = bytes;\n\t}\n\ttoBytes() {\n\t\treturn this.#bytes;\n\t}\n\ttoHex() {\n\t\treturn toHex(this.#bytes);\n\t}\n\ttoBase64() {\n\t\treturn toBase64(this.#bytes);\n\t}\n\ttoBase58() {\n\t\treturn toBase58(this.#bytes);\n\t}\n\tparse() {\n\t\treturn this.#schema.parse(this.#bytes);\n\t}\n};\nfunction fixedSizeBcsType({ size, ...options }) {\n\treturn new BcsType({\n\t\t...options,\n\t\tserializedSize: () => size\n\t});\n}\nfunction uIntBcsType({ readMethod, writeMethod, ...options }) {\n\treturn fixedSizeBcsType({\n\t\t...options,\n\t\tread: (reader) => reader[readMethod](),\n\t\twrite: (value, writer) => writer[writeMethod](value),\n\t\tvalidate: (value) => {\n\t\t\tif (value < 0 || value > options.maxValue) throw new TypeError(`Invalid ${options.name} value: ${value}. Expected value in range 0-${options.maxValue}`);\n\t\t\toptions.validate?.(value);\n\t\t}\n\t});\n}\nfunction bigUIntBcsType({ readMethod, writeMethod, ...options }) {\n\treturn fixedSizeBcsType({\n\t\t...options,\n\t\tread: (reader) => reader[readMethod](),\n\t\twrite: (value, writer) => writer[writeMethod](BigInt(value)),\n\t\tvalidate: (val) => {\n\t\t\tconst value = BigInt(val);\n\t\t\tif (value < 0 || value > options.maxValue) throw new TypeError(`Invalid ${options.name} value: ${value}. Expected value in range 0-${options.maxValue}`);\n\t\t\toptions.validate?.(value);\n\t\t}\n\t});\n}\nfunction dynamicSizeBcsType({ serialize, ...options }) {\n\tconst type = new BcsType({\n\t\t...options,\n\t\tserialize,\n\t\twrite: (value, writer) => {\n\t\t\tfor (const byte of type.serialize(value).toBytes()) writer.write8(byte);\n\t\t}\n\t});\n\treturn type;\n}\nfunction stringLikeBcsType({ toBytes, fromBytes, ...options }) {\n\treturn new BcsType({\n\t\t...options,\n\t\tread: (reader) => {\n\t\t\tconst length = reader.readULEB();\n\t\t\treturn fromBytes(reader.readBytes(length));\n\t\t},\n\t\twrite: (hex, writer) => {\n\t\t\tconst bytes = toBytes(hex);\n\t\t\twriter.writeULEB(bytes.length);\n\t\t\tfor (let i = 0; i < bytes.length; i++) writer.write8(bytes[i]);\n\t\t},\n\t\tserialize: (value) => {\n\t\t\tconst bytes = toBytes(value);\n\t\t\tconst size = ulebEncode(bytes.length);\n\t\t\tconst result = new Uint8Array(size.length + bytes.length);\n\t\t\tresult.set(size, 0);\n\t\t\tresult.set(bytes, size.length);\n\t\t\treturn result;\n\t\t},\n\t\tvalidate: (value) => {\n\t\t\tif (typeof value !== \"string\") throw new TypeError(`Invalid ${options.name} value: ${value}. Expected string`);\n\t\t\toptions.validate?.(value);\n\t\t}\n\t});\n}\nfunction lazyBcsType(cb) {\n\tlet lazyType = null;\n\tfunction getType() {\n\t\tif (!lazyType) lazyType = cb();\n\t\treturn lazyType;\n\t}\n\treturn new BcsType({\n\t\tname: \"lazy\",\n\t\tread: (data) => getType().read(data),\n\t\tserializedSize: (value) => getType().serializedSize(value),\n\t\twrite: (value, writer) => getType().write(value, writer),\n\t\tserialize: (value, options) => getType().serialize(value, options).toBytes()\n\t});\n}\nvar BcsStruct = class extends BcsType {\n\tconstructor({ name, fields, ...options }) {\n\t\tconst canonicalOrder = Object.entries(fields);\n\t\tsuper({\n\t\t\tname,\n\t\t\tserializedSize: (values) => {\n\t\t\t\tlet total = 0;\n\t\t\t\tfor (const [field, type] of canonicalOrder) {\n\t\t\t\t\tconst size = type.serializedSize(values[field]);\n\t\t\t\t\tif (size == null) return null;\n\t\t\t\t\ttotal += size;\n\t\t\t\t}\n\t\t\t\treturn total;\n\t\t\t},\n\t\t\tread: (reader) => {\n\t\t\t\tconst result = {};\n\t\t\t\tfor (const [field, type] of canonicalOrder) result[field] = type.read(reader);\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\twrite: (value, writer) => {\n\t\t\t\tfor (const [field, type] of canonicalOrder) type.write(value[field], writer);\n\t\t\t},\n\t\t\t...options,\n\t\t\tvalidate: (value) => {\n\t\t\t\toptions?.validate?.(value);\n\t\t\t\tif (typeof value !== \"object\" || value == null) throw new TypeError(`Expected object, found ${typeof value}`);\n\t\t\t}\n\t\t});\n\t}\n};\nvar BcsEnum = class extends BcsType {\n\tconstructor({ fields, ...options }) {\n\t\tconst canonicalOrder = Object.entries(fields);\n\t\tsuper({\n\t\t\tread: (reader) => {\n\t\t\t\tconst index = reader.readULEB();\n\t\t\t\tconst enumEntry = canonicalOrder[index];\n\t\t\t\tif (!enumEntry) throw new TypeError(`Unknown value ${index} for enum ${options.name}`);\n\t\t\t\tconst [kind, type] = enumEntry;\n\t\t\t\treturn {\n\t\t\t\t\t[kind]: type?.read(reader) ?? true,\n\t\t\t\t\t$kind: kind\n\t\t\t\t};\n\t\t\t},\n\t\t\twrite: (value, writer) => {\n\t\t\t\tconst [name, val] = Object.entries(value).filter(([name$1]) => Object.hasOwn(fields, name$1))[0];\n\t\t\t\tfor (let i = 0; i < canonicalOrder.length; i++) {\n\t\t\t\t\tconst [optionName, optionType] = canonicalOrder[i];\n\t\t\t\t\tif (optionName === name) {\n\t\t\t\t\t\twriter.writeULEB(i);\n\t\t\t\t\t\toptionType?.write(val, writer);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t...options,\n\t\t\tvalidate: (value) => {\n\t\t\t\toptions?.validate?.(value);\n\t\t\t\tif (typeof value !== \"object\" || value == null) throw new TypeError(`Expected object, found ${typeof value}`);\n\t\t\t\tconst keys = Object.keys(value).filter((k) => value[k] !== void 0 && Object.hasOwn(fields, k));\n\t\t\t\tif (keys.length !== 1) throw new TypeError(`Expected object with one key, but found ${keys.length} for type ${options.name}}`);\n\t\t\t\tconst [variant] = keys;\n\t\t\t\tif (!Object.hasOwn(fields, variant)) throw new TypeError(`Invalid enum variant ${variant}`);\n\t\t\t}\n\t\t});\n\t}\n};\nvar BcsTuple = class extends BcsType {\n\tconstructor({ fields, name, ...options }) {\n\t\tsuper({\n\t\t\tname: name ?? `(${fields.map((t) => t.name).join(\", \")})`,\n\t\t\tserializedSize: (values) => {\n\t\t\t\tlet total = 0;\n\t\t\t\tfor (let i = 0; i < fields.length; i++) {\n\t\t\t\t\tconst size = fields[i].serializedSize(values[i]);\n\t\t\t\t\tif (size == null) return null;\n\t\t\t\t\ttotal += size;\n\t\t\t\t}\n\t\t\t\treturn total;\n\t\t\t},\n\t\t\tread: (reader) => {\n\t\t\t\tconst result = [];\n\t\t\t\tfor (const field of fields) result.push(field.read(reader));\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\twrite: (value, writer) => {\n\t\t\t\tfor (let i = 0; i < fields.length; i++) fields[i].write(value[i], writer);\n\t\t\t},\n\t\t\t...options,\n\t\t\tvalidate: (value) => {\n\t\t\t\toptions?.validate?.(value);\n\t\t\t\tif (!Array.isArray(value)) throw new TypeError(`Expected array, found ${typeof value}`);\n\t\t\t\tif (value.length !== fields.length) throw new TypeError(`Expected array of length ${fields.length}, found ${value.length}`);\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\nexport { BcsEnum, BcsStruct, BcsTuple, BcsType, SerializedBcs, bigUIntBcsType, dynamicSizeBcsType, fixedSizeBcsType, isSerializedBcs, lazyBcsType, stringLikeBcsType, uIntBcsType };\n//# sourceMappingURL=bcs-type.mjs.map","import { ulebEncode } from \"./uleb.mjs\";\nimport { BcsEnum, BcsStruct, BcsTuple, BcsType, bigUIntBcsType, dynamicSizeBcsType, fixedSizeBcsType, lazyBcsType, stringLikeBcsType, uIntBcsType } from \"./bcs-type.mjs\";\n\n//#region src/bcs.ts\nfunction fixedArray(size, type, options) {\n\treturn new BcsType({\n\t\tread: (reader) => {\n\t\t\tconst result = new Array(size);\n\t\t\tfor (let i = 0; i < size; i++) result[i] = type.read(reader);\n\t\t\treturn result;\n\t\t},\n\t\twrite: (value, writer) => {\n\t\t\tfor (const item of value) type.write(item, writer);\n\t\t},\n\t\t...options,\n\t\tname: options?.name ?? `${type.name}[${size}]`,\n\t\tvalidate: (value) => {\n\t\t\toptions?.validate?.(value);\n\t\t\tif (!value || typeof value !== \"object\" || !(\"length\" in value)) throw new TypeError(`Expected array, found ${typeof value}`);\n\t\t\tif (value.length !== size) throw new TypeError(`Expected array of length ${size}, found ${value.length}`);\n\t\t}\n\t});\n}\nfunction option(type) {\n\treturn bcs.enum(`Option<${type.name}>`, {\n\t\tNone: null,\n\t\tSome: type\n\t}).transform({\n\t\tinput: (value) => {\n\t\t\tif (value == null) return { None: true };\n\t\t\treturn { Some: value };\n\t\t},\n\t\toutput: (value) => {\n\t\t\tif (value.$kind === \"Some\") return value.Some;\n\t\t\treturn null;\n\t\t}\n\t});\n}\nfunction vector(type, options) {\n\treturn new BcsType({\n\t\tread: (reader) => {\n\t\t\tconst length = reader.readULEB();\n\t\t\tconst result = new Array(length);\n\t\t\tfor (let i = 0; i < length; i++) result[i] = type.read(reader);\n\t\t\treturn result;\n\t\t},\n\t\twrite: (value, writer) => {\n\t\t\twriter.writeULEB(value.length);\n\t\t\tfor (const item of value) type.write(item, writer);\n\t\t},\n\t\t...options,\n\t\tname: options?.name ?? `vector<${type.name}>`,\n\t\tvalidate: (value) => {\n\t\t\toptions?.validate?.(value);\n\t\t\tif (!value || typeof value !== \"object\" || !(\"length\" in value)) throw new TypeError(`Expected array, found ${typeof value}`);\n\t\t}\n\t});\n}\n/**\n* Compares two byte arrays using lexicographic ordering.\n* This matches Rust's Ord implementation for Vec<u8>/[u8] which is used for BTreeMap key ordering.\n* Comparison is done byte-by-byte first, then by length if all compared bytes are equal.\n*/\nfunction compareBcsBytes(a, b) {\n\tfor (let i = 0; i < Math.min(a.length, b.length); i++) if (a[i] !== b[i]) return a[i] - b[i];\n\treturn a.length - b.length;\n}\nfunction map(keyType, valueType) {\n\treturn new BcsType({\n\t\tname: `Map<${keyType.name}, ${valueType.name}>`,\n\t\tread: (reader) => {\n\t\t\tconst length = reader.readULEB();\n\t\t\tconst result = /* @__PURE__ */ new Map();\n\t\t\tfor (let i = 0; i < length; i++) result.set(keyType.read(reader), valueType.read(reader));\n\t\t\treturn result;\n\t\t},\n\t\twrite: (value, writer) => {\n\t\t\tconst entries = [...value.entries()].map(([key, val]) => [keyType.serialize(key).toBytes(), val]);\n\t\t\tentries.sort(([a], [b]) => compareBcsBytes(a, b));\n\t\t\twriter.writeULEB(entries.length);\n\t\t\tfor (const [keyBytes, val] of entries) {\n\t\t\t\twriter.writeBytes(keyBytes);\n\t\t\t\tvalueType.write(val, writer);\n\t\t\t}\n\t\t}\n\t});\n}\nconst bcs = {\n\tu8(options) {\n\t\treturn uIntBcsType({\n\t\t\treadMethod: \"read8\",\n\t\t\twriteMethod: \"write8\",\n\t\t\tsize: 1,\n\t\t\tmaxValue: 2 ** 8 - 1,\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"u8\"\n\t\t});\n\t},\n\tu16(options) {\n\t\treturn uIntBcsType({\n\t\t\treadMethod: \"read16\",\n\t\t\twriteMethod: \"write16\",\n\t\t\tsize: 2,\n\t\t\tmaxValue: 2 ** 16 - 1,\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"u16\"\n\t\t});\n\t},\n\tu32(options) {\n\t\treturn uIntBcsType({\n\t\t\treadMethod: \"read32\",\n\t\t\twriteMethod: \"write32\",\n\t\t\tsize: 4,\n\t\t\tmaxValue: 2 ** 32 - 1,\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"u32\"\n\t\t});\n\t},\n\tu64(options) {\n\t\treturn bigUIntBcsType({\n\t\t\treadMethod: \"read64\",\n\t\t\twriteMethod: \"write64\",\n\t\t\tsize: 8,\n\t\t\tmaxValue: 2n ** 64n - 1n,\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"u64\"\n\t\t});\n\t},\n\tu128(options) {\n\t\treturn bigUIntBcsType({\n\t\t\treadMethod: \"read128\",\n\t\t\twriteMethod: \"write128\",\n\t\t\tsize: 16,\n\t\t\tmaxValue: 2n ** 128n - 1n,\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"u128\"\n\t\t});\n\t},\n\tu256(options) {\n\t\treturn bigUIntBcsType({\n\t\t\treadMethod: \"read256\",\n\t\t\twriteMethod: \"write256\",\n\t\t\tsize: 32,\n\t\t\tmaxValue: 2n ** 256n - 1n,\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"u256\"\n\t\t});\n\t},\n\tbool(options) {\n\t\treturn fixedSizeBcsType({\n\t\t\tsize: 1,\n\t\t\tread: (reader) => reader.read8() === 1,\n\t\t\twrite: (value, writer) => writer.write8(value ? 1 : 0),\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"bool\",\n\t\t\tvalidate: (value) => {\n\t\t\t\toptions?.validate?.(value);\n\t\t\t\tif (typeof value !== \"boolean\") throw new TypeError(`Expected boolean, found ${typeof value}`);\n\t\t\t}\n\t\t});\n\t},\n\tuleb128(options) {\n\t\treturn dynamicSizeBcsType({\n\t\t\tread: (reader) => reader.readULEB(),\n\t\t\tserialize: (value) => {\n\t\t\t\treturn Uint8Array.from(ulebEncode(value));\n\t\t\t},\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"uleb128\"\n\t\t});\n\t},\n\tbytes(size, options) {\n\t\treturn fixedSizeBcsType({\n\t\t\tsize,\n\t\t\tread: (reader) => reader.readBytes(size),\n\t\t\twrite: (value, writer) => {\n\t\t\t\twriter.writeBytes(new Uint8Array(value));\n\t\t\t},\n\t\t\t...options,\n\t\t\tname: options?.name ?? `bytes[${size}]`,\n\t\t\tvalidate: (value) => {\n\t\t\t\toptions?.validate?.(value);\n\t\t\t\tif (!value || typeof value !== \"object\" || !(\"length\" in value)) throw new TypeError(`Expected array, found ${typeof value}`);\n\t\t\t\tif (value.length !== size) throw new TypeError(`Expected array of length ${size}, found ${value.length}`);\n\t\t\t}\n\t\t});\n\t},\n\tbyteVector(options) {\n\t\treturn new BcsType({\n\t\t\tread: (reader) => {\n\t\t\t\tconst length = reader.readULEB();\n\t\t\t\treturn reader.readBytes(length);\n\t\t\t},\n\t\t\twrite: (value, writer) => {\n\t\t\t\tconst array = new Uint8Array(value);\n\t\t\t\twriter.writeULEB(array.length);\n\t\t\t\twriter.writeBytes(array);\n\t\t\t},\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"vector<u8>\",\n\t\t\tserializedSize: (value) => {\n\t\t\t\tconst length = \"length\" in value ? value.length : null;\n\t\t\t\treturn length == null ? null : ulebEncode(length).length + length;\n\t\t\t},\n\t\t\tvalidate: (value) => {\n\t\t\t\toptions?.validate?.(value);\n\t\t\t\tif (!value || typeof value !== \"object\" || !(\"length\" in value)) throw new TypeError(`Expected array, found ${typeof value}`);\n\t\t\t}\n\t\t});\n\t},\n\tstring(options) {\n\t\treturn stringLikeBcsType({\n\t\t\ttoBytes: (value) => new TextEncoder().encode(value),\n\t\t\tfromBytes: (bytes) => new TextDecoder().decode(bytes),\n\t\t\t...options,\n\t\t\tname: options?.name ?? \"string\"\n\t\t});\n\t},\n\tfixedArray,\n\toption,\n\tvector,\n\ttuple(fields, options) {\n\t\treturn new BcsTuple({\n\t\t\tfields,\n\t\t\t...options\n\t\t});\n\t},\n\tstruct(name, fields, options) {\n\t\treturn new BcsStruct({\n\t\t\tname,\n\t\t\tfields,\n\t\t\t...options\n\t\t});\n\t},\n\tenum(name, fields, options) {\n\t\treturn new BcsEnum({\n\t\t\tname,\n\t\t\tfields,\n\t\t\t...options\n\t\t});\n\t},\n\tmap,\n\tlazy(cb) {\n\t\treturn lazyBcsType(cb);\n\t}\n};\n\n//#endregion\nexport { bcs, compareBcsBytes };\n//# sourceMappingURL=bcs.mjs.map","import { isValidNamedPackage } from \"./move-registry.mjs\";\nimport { fromBase58, splitGenericParameters } from \"@mysten/bcs\";\n\n//#region src/utils/sui-types.ts\nconst TX_DIGEST_LENGTH = 32;\n/** Returns whether the tx digest is valid based on the serialization format */\nfunction isValidTransactionDigest(value) {\n\ttry {\n\t\treturn fromBase58(value).length === TX_DIGEST_LENGTH;\n\t} catch {\n\t\treturn false;\n\t}\n}\nconst SUI_ADDRESS_LENGTH = 32;\nfunction isValidSuiAddress(value) {\n\treturn isHex(value) && getHexByteLength(value) === SUI_ADDRESS_LENGTH;\n}\nfunction isValidSuiObjectId(value) {\n\treturn isValidSuiAddress(value);\n}\nconst MOVE_IDENTIFIER_REGEX = /^[a-zA-Z][a-zA-Z0-9_]*$/;\nfunction isValidMoveIdentifier(name) {\n\treturn MOVE_IDENTIFIER_REGEX.test(name);\n}\nconst PRIMITIVE_TYPE_TAGS = [\n\t\"bool\",\n\t\"u8\",\n\t\"u16\",\n\t\"u32\",\n\t\"u64\",\n\t\"u128\",\n\t\"u256\",\n\t\"address\",\n\t\"signer\"\n];\nconst VECTOR_TYPE_REGEX = /^vector<(.+)>$/;\nfunction isValidTypeTag(type) {\n\tif (PRIMITIVE_TYPE_TAGS.includes(type)) return true;\n\tconst vectorMatch = type.match(VECTOR_TYPE_REGEX);\n\tif (vectorMatch) return isValidTypeTag(vectorMatch[1]);\n\tif (type.includes(\"::\")) return isValidStructTag(type);\n\treturn false;\n}\nfunction isValidParsedStructTag(tag) {\n\tif (!isValidSuiAddress(tag.address) && !isValidNamedPackage(tag.address)) return false;\n\tif (!isValidMoveIdentifier(tag.module) || !isValidMoveIdentifier(tag.name)) return false;\n\treturn tag.typeParams.every((param) => {\n\t\tif (typeof param === \"string\") return isValidTypeTag(param);\n\t\treturn isValidParsedStructTag(param);\n\t});\n}\nfunction isValidStructTag(type) {\n\ttry {\n\t\treturn isValidParsedStructTag(parseStructTag(type));\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction parseTypeTag(type) {\n\tif (type.startsWith(\"vector<\")) {\n\t\tif (!type.endsWith(\">\")) throw new Error(`Invalid type tag: ${type}`);\n\t\tconst inner = type.slice(7, -1);\n\t\tif (!inner) throw new Error(`Invalid type tag: ${type}`);\n\t\tconst parsed = parseTypeTag(inner);\n\t\tif (typeof parsed === \"string\") return `vector<${parsed}>`;\n\t\treturn `vector<${normalizeStructTag(parsed)}>`;\n\t}\n\tif (!type.includes(\"::\")) return type;\n\treturn parseStructTag(type);\n}\nfunction parseStructTag(type) {\n\tconst parts = type.split(\"::\");\n\tif (parts.length < 3) throw new Error(`Invalid struct tag: ${type}`);\n\tconst [address, module] = parts;\n\tif (!address || !module) throw new Error(`Invalid struct tag: ${type}`);\n\tconst isMvrPackage = isValidNamedPackage(address);\n\tconst rest = type.slice(address.length + module.length + 4);\n\tconst name = rest.includes(\"<\") ? rest.slice(0, rest.indexOf(\"<\")) : rest;\n\tif (!name || rest.includes(\"<\") && !rest.endsWith(\">\")) throw new Error(`Invalid struct tag: ${type}`);\n\tconst typeParams = rest.includes(\"<\") ? splitGenericParameters(rest.slice(rest.indexOf(\"<\") + 1, rest.lastIndexOf(\">\"))).map((typeParam) => parseTypeTag(typeParam.trim())) : [];\n\treturn {\n\t\taddress: isMvrPackage ? address : normalizeSuiAddress(address),\n\t\tmodule,\n\t\tname,\n\t\ttypeParams\n\t};\n}\nfunction normalizeStructTag(type) {\n\tif (typeof type === \"string\" && type.startsWith(\"vector<\")) throw new Error(\"normalizeStructTag does not support vector types. Use normalizeTypeTag instead.\");\n\tconst { address, module, name, typeParams } = typeof type === \"string\" ? parseStructTag(type) : type;\n\treturn `${address}::${module}::${name}${typeParams?.length > 0 ? `<${typeParams.map((typeParam) => typeof typeParam === \"string\" ? typeParam : normalizeStructTag(typeParam)).join(\",\")}>` : \"\"}`;\n}\n/**\n* Perform the following operations:\n* 1. Make the address lower case\n* 2. Prepend `0x` if the string does not start with `0x`.\n* 3. Add more zeros if the length of the address(excluding `0x`) is less than `SUI_ADDRESS_LENGTH`\n*\n* WARNING: if the address value itself starts with `0x`, e.g., `0x0x`, the default behavior\n* is to treat the first `0x` not as part of the address. The default behavior can be overridden by\n* setting `forceAdd0x` to true\n*\n*/\nfunction normalizeSuiAddress(value, forceAdd0x = false) {\n\tlet address = value.toLowerCase();\n\tif (!forceAdd0x && address.startsWith(\"0x\")) address = address.slice(2);\n\treturn `0x${address.padStart(SUI_ADDRESS_LENGTH * 2, \"0\")}`;\n}\nfunction normalizeSuiObjectId(value, forceAdd0x = false) {\n\treturn normalizeSuiAddress(value, forceAdd0x);\n}\nfunction isHex(value) {\n\treturn /^(0x|0X)?[a-fA-F0-9]+$/.test(value) && value.length % 2 === 0;\n}\nfunction getHexByteLength(value) {\n\treturn /^(0x|0X)/.test(value) ? (value.length - 2) / 2 : value.length / 2;\n}\n\n//#endregion\nexport { SUI_ADDRESS_LENGTH, isValidStructTag, isValidSuiAddress, isValidSuiObjectId, isValidTransactionDigest, normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId, parseStructTag };\n//# sourceMappingURL=sui-types.mjs.map","import { isValidSuiNSName } from \"./suins.mjs\";\nimport { isValidStructTag } from \"./sui-types.mjs\";\n\n//#region src/utils/move-registry.ts\n/** The pattern to find an optionally versioned name */\nconst NAME_PATTERN = /^([a-z0-9]+(?:-[a-z0-9]+)*)$/;\n/** The pattern for a valid version number */\nconst VERSION_REGEX = /^\\d+$/;\n/** The maximum size for an app */\nconst MAX_APP_SIZE = 64;\n/** The separator for the name */\nconst NAME_SEPARATOR = \"/\";\nconst isValidNamedPackage = (name) => {\n\tconst parts = name.split(NAME_SEPARATOR);\n\tif (parts.length < 2 || parts.length > 3) return false;\n\tconst [org, app, version] = parts;\n\tif (version !== void 0 && !VERSION_REGEX.test(version)) return false;\n\tif (!isValidSuiNSName(org)) return false;\n\treturn NAME_PATTERN.test(app) && app.length < MAX_APP_SIZE;\n};\n/**\n* Checks if a type contains valid named packages and is a valid Move struct tag.\n*/\nconst isValidNamedType = (type) => {\n\tconst splitType = type.split(/::|<|>|,/);\n\tfor (const t of splitType) if (t.includes(NAME_SEPARATOR) && !isValidNamedPackage(t)) return false;\n\treturn isValidStructTag(type);\n};\n\n//#endregion\nexport { isValidNamedPackage, isValidNamedType };\n//# sourceMappingURL=move-registry.mjs.map","//#region src/client/cache.ts\nvar ClientCache = class ClientCache {\n\t#prefix;\n\t#cache;\n\tconstructor({ prefix, cache } = {}) {\n\t\tthis.#prefix = prefix ?? [];\n\t\tthis.#cache = cache ?? /* @__PURE__ */ new Map();\n\t}\n\tread(key, load) {\n\t\tconst cacheKey = [this.#prefix, ...key].join(\":\");\n\t\tif (this.#cache.has(cacheKey)) return this.#cache.get(cacheKey);\n\t\tconst result = load();\n\t\tthis.#cache.set(cacheKey, result);\n\t\tif (typeof result === \"object\" && result !== null && \"then\" in result) return Promise.resolve(result).then((v) => {\n\t\t\tthis.#cache.set(cacheKey, v);\n\t\t\treturn v;\n\t\t}).catch((err) => {\n\t\t\tthis.#cache.delete(cacheKey);\n\t\t\tthrow err;\n\t\t});\n\t\treturn result;\n\t}\n\treadSync(key, load) {\n\t\tconst cacheKey = [this.#prefix, ...key].join(\":\");\n\t\tif (this.#cache.has(cacheKey)) return this.#cache.get(cacheKey);\n\t\tconst result = load();\n\t\tthis.#cache.set(cacheKey, result);\n\t\treturn result;\n\t}\n\tclear(prefix) {\n\t\tconst prefixKey = [...this.#prefix, ...prefix ?? []].join(\":\");\n\t\tif (!prefixKey) {\n\t\t\tthis.#cache.clear();\n\t\t\treturn;\n\t\t}\n\t\tfor (const key of this.#cache.keys()) if (key.startsWith(prefixKey)) this.#cache.delete(key);\n\t}\n\tscope(prefix) {\n\t\treturn new ClientCache({\n\t\t\tprefix: [...this.#prefix, ...Array.isArray(prefix) ? prefix : [prefix]],\n\t\t\tcache: this.#cache\n\t\t});\n\t}\n};\n\n//#endregion\nexport { ClientCache };\n//# sourceMappingURL=cache.mjs.map","import { ClientCache } from \"./cache.mjs\";\n\n//#region src/client/client.ts\nvar BaseClient = class {\n\tconstructor({ network, base, cache = base?.cache ?? new ClientCache() }) {\n\t\tthis.network = network;\n\t\tthis.base = base ?? this;\n\t\tthis.cache = cache;\n\t}\n\t$extend(...registrations) {\n\t\tconst extensions = Object.fromEntries(registrations.map((registration) => {\n\t\t\treturn [registration.name, registration.register(this)];\n\t\t}));\n\t\tconst methodCache = /* @__PURE__ */ new Map();\n\t\treturn new Proxy(this, { get(target, prop, receiver) {\n\t\t\tif (typeof prop === \"string\" && prop in extensions) return extensions[prop];\n\t\t\tconst value = Reflect.get(target, prop, receiver);\n\t\t\tif (typeof value === \"function\") {\n\t\t\t\tif (prop === \"$extend\") return value.bind(receiver);\n\t\t\t\tif (!methodCache.has(prop)) methodCache.set(prop, value.bind(target));\n\t\t\t\treturn methodCache.get(prop);\n\t\t\t}\n\t\t\treturn value;\n\t\t} });\n\t}\n};\n\n//#endregion\nexport { BaseClient };\n//# sourceMappingURL=client.mjs.map","import { isValidNamedPackage, isValidNamedType } from \"../utils/move-registry.mjs\";\nimport { isValidSuiAddress, normalizeStructTag, normalizeSuiAddress, parseStructTag } from \"../utils/sui-types.mjs\";\nimport { PACKAGE_VERSION } from \"../version.mjs\";\nimport { DataLoader, chunk } from \"@mysten/utils\";\n\n//#region src/client/mvr.ts\nconst NAME_SEPARATOR = \"/\";\nconst MVR_API_HEADER = { \"Mvr-Source\": `@mysten/sui@${PACKAGE_VERSION}` };\nvar MvrClient = class {\n\t#cache;\n\t#url;\n\t#pageSize;\n\t#overrides;\n\tconstructor({ cache, url, pageSize = 50, overrides }) {\n\t\tthis.#cache = cache;\n\t\tthis.#url = url;\n\t\tthis.#pageSize = pageSize;\n\t\tthis.#overrides = {\n\t\t\tpackages: overrides?.packages,\n\t\t\ttypes: overrides?.types\n\t\t};\n\t\tvalidateOverrides(this.#overrides);\n\t}\n\tget #mvrPackageDataLoader() {\n\t\treturn this.#cache.readSync([\"#mvrPackageDataLoader\", this.#url ?? \"\"], () => {\n\t\t\tconst loader = new DataLoader(async (packages) => {\n\t\t\t\tif (!this.#url) throw new Error(`MVR Api URL is not set for the current client (resolving ${packages.join(\", \")})`);\n\t\t\t\tconst resolved = await this.#resolvePackages(packages);\n\t\t\t\treturn packages.map((pkg) => resolved[pkg] ?? /* @__PURE__ */ new Error(`Failed to resolve package: ${pkg}`));\n\t\t\t});\n\t\t\tconst overrides = this.#overrides?.packages;\n\t\t\tif (overrides) for (const [pkg, id] of Object.entries(overrides)) loader.prime(pkg, id);\n\t\t\treturn loader;\n\t\t});\n\t}\n\tget #mvrTypeDataLoader() {\n\t\treturn this.#cache.readSync([\"#mvrTypeDataLoader\", this.#url ?? \"\"], () => {\n\t\t\tconst loader = new DataLoader(async (types) => {\n\t\t\t\tif (!this.#url) throw new Error(`MVR Api URL is not set for the current client (resolving ${types.join(\", \")})`);\n\t\t\t\tconst resolved = await this.#resolveTypes(types);\n\t\t\t\treturn types.map((type) => resolved[type] ?? /* @__PURE__ */ new Error(`Failed to resolve type: ${type}`));\n\t\t\t});\n\t\t\tconst overrides = this.#overrides?.types;\n\t\t\tif (overrides) for (const [type, id] of Object.entries(overrides)) loader.prime(type, id);\n\t\t\treturn loader;\n\t\t});\n\t}\n\tasync #resolvePackages(packages) {\n\t\tif (packages.length === 0) return {};\n\t\tconst batches = chunk(packages, this.#pageSize);\n\t\tconst results = {};\n\t\tawait Promise.all(batches.map(async (batch) => {\n\t\t\tconst data = await this.#fetch(\"/v1/resolution/bulk\", { names: batch });\n\t\t\tif (!data?.resolution) return;\n\t\t\tfor (const pkg of Object.keys(data?.resolution)) {\n\t\t\t\tconst pkgData = data.resolution[pkg]?.package_id;\n\t\t\t\tif (!pkgData) continue;\n\t\t\t\tresults[pkg] = pkgData;\n\t\t\t}\n\t\t}));\n\t\treturn results;\n\t}\n\tasync #resolveTypes(types) {\n\t\tif (types.length === 0) return {};\n\t\tconst batches = chunk(types, this.#pageSize);\n\t\tconst results = {};\n\t\tawait Promise.all(batches.map(async (batch) => {\n\t\t\tconst data = await this.#fetch(\"/v1/struct-definition/bulk\", { types: batch });\n\t\t\tif (!data?.resolution) return;\n\t\t\tfor (const type of Object.keys(data?.resolution)) {\n\t\t\t\tconst typeData = data.resolution[type]?.type_tag;\n\t\t\t\tif (!typeData) continue;\n\t\t\t\tresults[type] = typeData;\n\t\t\t}\n\t\t}));\n\t\treturn results;\n\t}\n\tasync #fetch(url, body) {\n\t\tif (!this.#url) throw new Error(\"MVR Api URL is not set for the current client\");\n\t\tconst response = await fetch(`${this.#url}${url}`, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t...MVR_API_HEADER\n\t\t\t},\n\t\t\tbody: JSON.stringify(body)\n\t\t});\n\t\tif (!response.ok) {\n\t\t\tconst errorBody = await response.json().catch(() => ({}));\n\t\t\tthrow new Error(`Failed to resolve types: ${errorBody?.message}`);\n\t\t}\n\t\treturn response.json();\n\t}\n\tasync resolvePackage({ package: name }) {\n\t\tif (!hasMvrName(name)) return { package: name };\n\t\treturn { package: await this.#mvrPackageDataLoader.load(name) };\n\t}\n\tasync resolveType({ type }) {\n\t\tif (!hasMvrName(type)) return { type };\n\t\tconst mvrTypes = [...extractMvrTypes(type)];\n\t\tconst resolvedTypes = await this.#mvrTypeDataLoader.loadMany(mvrTypes);\n\t\tconst typeMap = {};\n\t\tfor (let i = 0; i < mvrTypes.length; i++) {\n\t\t\tconst resolvedType = resolvedTypes[i];\n\t\t\tif (resolvedType instanceof Error) throw resolvedType;\n\t\t\ttypeMap[mvrTypes[i]] = resolvedType;\n\t\t}\n\t\treturn { type: replaceMvrNames(type, typeMap) };\n\t}\n\tasync resolve({ types = [], packages = [] }) {\n\t\tconst mvrTypes = /* @__PURE__ */ new Set();\n\t\tfor (const type of types ?? []) extractMvrTypes(type, mvrTypes);\n\t\tconst typesArray = [...mvrTypes];\n\t\tconst [resolvedTypes, resolvedPackages] = await Promise.all([typesArray.length > 0 ? this.#mvrTypeDataLoader.loadMany(typesArray) : [], packages.length > 0 ? this.#mvrPackageDataLoader.loadMany(packages) : []]);\n\t\tconst typeMap = { ...this.#overrides?.types };\n\t\tfor (const [i, type] of typesArray.entries()) {\n\t\t\tconst resolvedType = resolvedTypes[i];\n\t\t\tif (resolvedType instanceof Error) throw resolvedType;\n\t\t\ttypeMap[type] = resolvedType;\n\t\t}\n\t\tconst replacedTypes = {};\n\t\tfor (const type of types ?? []) replacedTypes[type] = { type: replaceMvrNames(type, typeMap) };\n\t\tconst replacedPackages = {};\n\t\tfor (const [i, pkg] of (packages ?? []).entries()) {\n\t\t\tconst resolvedPkg = this.#overrides?.packages?.[pkg] ?? resolvedPackages[i];\n\t\t\tif (resolvedPkg instanceof Error) throw resolvedPkg;\n\t\t\treplacedPackages[pkg] = { package: resolvedPkg };\n\t\t}\n\t\treturn {\n\t\t\ttypes: replacedTypes,\n\t\t\tpackages: replacedPackages\n\t\t};\n\t}\n};\nfunction validateOverrides(overrides) {\n\tif (overrides?.packages) for (const [pkg, id] of Object.entries(overrides.packages)) {\n\t\tif (!isValidNamedPackage(pkg)) throw new Error(`Invalid package name: ${pkg}`);\n\t\tif (!isValidSuiAddress(normalizeSuiAddress(id))) throw new Error(`Invalid package ID: ${id}`);\n\t}\n\tif (overrides?.types) for (const [type, val] of Object.entries(overrides.types)) {\n\t\tif (parseStructTag(type).typeParams.length > 0) throw new Error(\"Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.\");\n\t\tif (!isValidSuiAddress(parseStructTag(val).address)) throw new Error(`Invalid type: ${val}`);\n\t}\n}\n/**\n* Extracts all named types from a given type.\n*/\nfunction extractMvrTypes(type, types = /* @__PURE__ */ new Set()) {\n\tif (typeof type === \"string\" && !hasMvrName(type)) return types;\n\tif (typeof type === \"string\" && type.startsWith(\"vector<\") && type.endsWith(\">\")) return extractMvrTypes(type.slice(7, -1), types);\n\tconst tag = isStructTag(type) ? type : parseStructTag(type);\n\tif (hasMvrName(tag.address)) types.add(`${tag.address}::${tag.module}::${tag.name}`);\n\tfor (const param of tag.typeParams) extractMvrTypes(param, types);\n\treturn types;\n}\n/**\n* Traverses a type, and replaces any found names with their resolved equivalents,\n* based on the supplied type cache.\n*/\nfunction replaceMvrNames(tag, typeCache) {\n\tif (typeof tag === \"string\" && !tag.includes(\"::\")) return tag;\n\tif (typeof tag === \"string\" && tag.startsWith(\"vector<\") && tag.endsWith(\">\")) return `vector<${replaceMvrNames(tag.slice(7, -1), typeCache)}>`;\n\tconst type = isStructTag(tag) ? tag : parseStructTag(tag);\n\tconst cacheHit = typeCache[`${type.address}::${type.module}::${type.name}`];\n\treturn normalizeStructTag({\n\t\t...type,\n\t\taddress: cacheHit ? cacheHit.split(\"::\")[0] : type.address,\n\t\ttypeParams: type.typeParams.map((param) => replaceMvrNames(param, typeCache))\n\t});\n}\nfunction hasMvrName(nameOrType) {\n\treturn nameOrType.includes(NAME_SEPARATOR) || nameOrType.includes(\"@\") || nameOrType.includes(\".sui\");\n}\nfunction isStructTag(type) {\n\treturn typeof type === \"object\" && \"address\" in type && \"module\" in type && \"name\" in type && \"typeParams\" in type;\n}\n/**\n* Looks up all `.move` names in a transaction block.\n* Returns a list of all the names found.\n*/\nfunction findNamesInTransaction(builder) {\n\tconst packages = /* @__PURE__ */ new Set();\n\tconst types = /* @__PURE__ */ new Set();\n\tfor (const command of builder.commands) switch (command.$kind) {\n\t\tcase \"MakeMoveVec\":\n\t\t\tif (command.MakeMoveVec.type) getNamesFromTypeList([command.MakeMoveVec.type]).forEach((type) => {\n\t\t\t\ttypes.add(type);\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"MoveCall\":\n\t\t\tconst moveCall = command.MoveCall;\n\t\t\tconst pkg = moveCall.package.split(\"::\")[0];\n\t\t\tif (hasMvrName(pkg)) {\n\t\t\t\tif (!isValidNamedPackage(pkg)) throw new Error(`Invalid package name: ${pkg}`);\n\t\t\t\tpackages.add(pkg);\n\t\t\t}\n\t\t\tgetNamesFromTypeList(moveCall.typeArguments ?? []).forEach((type) => {\n\t\t\t\ttypes.add(type);\n\t\t\t});\n\t\t\tbreak;\n\t\tdefault: break;\n\t}\n\treturn {\n\t\tpackages: [...packages],\n\t\ttypes: [...types]\n\t};\n}\n/**\n* Replace all names & types in a transaction block\n* with their resolved names/types.\n*/\nfunction replaceNames(builder, resolved) {\n\tfor (const command of builder.commands) {\n\t\tif (command.MakeMoveVec?.type) {\n\t\t\tif (!hasMvrName(command.MakeMoveVec.type)) continue;\n\t\t\tif (!resolved.types[command.MakeMoveVec.type]) throw new Error(`No resolution found for type: ${command.MakeMoveVec.type}`);\n\t\t\tcommand.MakeMoveVec.type = resolved.types[command.MakeMoveVec.type].type;\n\t\t}\n\t\tconst tx = command.MoveCall;\n\t\tif (!tx) continue;\n\t\tconst nameParts = tx.package.split(\"::\");\n\t\tconst name = nameParts[0];\n\t\tif (hasMvrName(name) && !resolved.packages[name]) throw new Error(`No address found for package: ${name}`);\n\t\tif (hasMvrName(name)) {\n\t\t\tnameParts[0] = resolved.packages[name].package;\n\t\t\ttx.package = nameParts.join(\"::\");\n\t\t}\n\t\tconst types = tx.typeArguments;\n\t\tif (!types) continue;\n\t\tfor (let i = 0; i < types.length; i++) {\n\t\t\tif (!hasMvrName(types[i])) continue;\n\t\t\tif (!resolved.types[types[i]]) throw new Error(`No resolution found for type: ${types[i]}`);\n\t\t\ttypes[i] = resolved.types[types[i]].type;\n\t\t}\n\t\ttx.typeArguments = types;\n\t}\n}\n/**\n* Returns a list of unique types that include a name\n* from the given list. This list is retrieved from the Transaction Data.\n*/\nfunction getNamesFromTypeList(types) {\n\tconst names = /* @__PURE__ */ new Set();\n\tfor (const type of types) if (hasMvrName(type)) {\n\t\tif (!isValidNamedType(type)) throw new Error(`Invalid type with names: ${type}`);\n\t\tnames.add(type);\n\t}\n\treturn names;\n}\n\n//#endregion\nexport { MvrClient, findNamesInTransaction, hasMvrName, replaceNames };\n//# sourceMappingURL=mvr.mjs.map","import { normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { splitGenericParameters } from \"@mysten/bcs\";\n\n//#region src/bcs/type-tag-serializer.ts\nconst VECTOR_REGEX = /^vector<(.+)>$/;\nconst STRUCT_REGEX = /^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;\nvar TypeTagSerializer = class TypeTagSerializer {\n\tstatic parseFromStr(str, normalizeAddress = false) {\n\t\tif (str === \"address\") return { address: null };\n\t\telse if (str === \"bool\") return { bool: null };\n\t\telse if (str === \"u8\") return { u8: null };\n\t\telse if (str === \"u16\") return { u16: null };\n\t\telse if (str === \"u32\") return { u32: null };\n\t\telse if (str === \"u64\") return { u64: null };\n\t\telse if (str === \"u128\") return { u128: null };\n\t\telse if (str === \"u256\") return { u256: null };\n\t\telse if (str === \"signer\") return { signer: null };\n\t\tconst vectorMatch = str.match(VECTOR_REGEX);\n\t\tif (vectorMatch) return { vector: TypeTagSerializer.parseFromStr(vectorMatch[1], normalizeAddress) };\n\t\tconst structMatch = str.match(STRUCT_REGEX);\n\t\tif (structMatch) return { struct: {\n\t\t\taddress: normalizeAddress ? normalizeSuiAddress(structMatch[1]) : structMatch[1],\n\t\t\tmodule: structMatch[2],\n\t\t\tname: structMatch[3],\n\t\t\ttypeParams: structMatch[5] === void 0 ? [] : TypeTagSerializer.parseStructTypeArgs(structMatch[5], normalizeAddress)\n\t\t} };\n\t\tthrow new Error(`Encountered unexpected token when parsing type args for ${str}`);\n\t}\n\tstatic parseStructTypeArgs(str, normalizeAddress = false) {\n\t\treturn splitGenericParameters(str).map((tok) => TypeTagSerializer.parseFromStr(tok, normalizeAddress));\n\t}\n\tstatic tagToString(tag) {\n\t\tif (\"bool\" in tag) return \"bool\";\n\t\tif (\"u8\" in tag) return \"u8\";\n\t\tif (\"u16\" in tag) return \"u16\";\n\t\tif (\"u32\" in tag) return \"u32\";\n\t\tif (\"u64\" in tag) return \"u64\";\n\t\tif (\"u128\" in tag) return \"u128\";\n\t\tif (\"u256\" in tag) return \"u256\";\n\t\tif (\"address\" in tag) return \"address\";\n\t\tif (\"signer\" in tag) return \"signer\";\n\t\tif (\"vector\" in tag) return `vector<${TypeTagSerializer.tagToString(tag.vector)}>`;\n\t\tif (\"struct\" in tag) {\n\t\t\tconst struct = tag.struct;\n\t\t\tconst typeParams = struct.typeParams.map(TypeTagSerializer.tagToString).join(\", \");\n\t\t\treturn `${struct.address}::${struct.module}::${struct.name}${typeParams ? `<${typeParams}>` : \"\"}`;\n\t\t}\n\t\tthrow new Error(\"Invalid TypeTag\");\n\t}\n};\nfunction normalizeTypeTag(type) {\n\treturn TypeTagSerializer.tagToString(TypeTagSerializer.parseFromStr(type));\n}\n\n//#endregion\nexport { TypeTagSerializer, normalizeTypeTag };\n//# sourceMappingURL=type-tag-serializer.mjs.map","import { SUI_ADDRESS_LENGTH, isValidSuiAddress, normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { TypeTagSerializer } from \"./type-tag-serializer.mjs\";\nimport { bcs, fromBase58, fromBase64, fromHex, toBase58, toBase64, toHex } from \"@mysten/bcs\";\n\n//#region src/bcs/bcs.ts\nfunction unsafe_u64(options) {\n\treturn bcs.u64({\n\t\tname: \"unsafe_u64\",\n\t\t...options\n\t}).transform({\n\t\tinput: (val) => val,\n\t\toutput: (val) => Number(val)\n\t});\n}\nfunction optionEnum(type) {\n\treturn bcs.enum(\"Option\", {\n\t\tNone: null,\n\t\tSome: type\n\t});\n}\nconst Address = bcs.bytes(SUI_ADDRESS_LENGTH).transform({\n\tvalidate: (val) => {\n\t\tconst address = typeof val === \"string\" ? val : toHex(val);\n\t\tif (!address || !isValidSuiAddress(normalizeSuiAddress(address))) throw new Error(`Invalid Sui address ${address}`);\n\t},\n\tinput: (val) => typeof val === \"string\" ? fromHex(normalizeSuiAddress(val)) : val,\n\toutput: (val) => normalizeSuiAddress(toHex(val))\n});\nconst ObjectDigest = bcs.byteVector().transform({\n\tname: \"ObjectDigest\",\n\tinput: (value) => fromBase58(value),\n\toutput: (value) => toBase58(new Uint8Array(value)),\n\tvalidate: (value) => {\n\t\tif (fromBase58(value).length !== 32) throw new Error(\"ObjectDigest must be 32 bytes\");\n\t}\n});\nconst SuiObjectRef = bcs.struct(\"SuiObjectRef\", {\n\tobjectId: Address,\n\tversion: bcs.u64(),\n\tdigest: ObjectDigest\n});\nconst SharedObjectRef = bcs.struct(\"SharedObjectRef\", {\n\tobjectId: Address,\n\tinitialSharedVersion: bcs.u64(),\n\tmutable: bcs.bool()\n});\nconst ObjectArg = bcs.enum(\"ObjectArg\", {\n\tImmOrOwnedObject: SuiObjectRef,\n\tSharedObject: SharedObjectRef,\n\tReceiving: SuiObjectRef\n});\nconst Owner = bcs.enum(\"Owner\", {\n\tAddressOwner: Address,\n\tObjectOwner: Address,\n\tShared: bcs.struct(\"Shared\", { initialSharedVersion: bcs.u64() }),\n\tImmutable: null,\n\tConsensusAddressOwner: bcs.struct(\"ConsensusAddressOwner\", {\n\t\tstartVersion: bcs.u64(),\n\t\towner: Address\n\t})\n});\nconst Reservation = bcs.enum(\"Reservation\", { MaxAmountU64: bcs.u64() });\nconst WithdrawalType = bcs.enum(\"WithdrawalType\", { Balance: bcs.lazy(() => TypeTag) });\nconst WithdrawFrom = bcs.enum(\"WithdrawFrom\", {\n\tSender: null,\n\tSponsor: null\n});\nconst FundsWithdrawal = bcs.struct(\"FundsWithdrawal\", {\n\treservation: Reservation,\n\ttypeArg: WithdrawalType,\n\twithdrawFrom: WithdrawFrom\n});\nconst CallArg = bcs.enum(\"CallArg\", {\n\tPure: bcs.struct(\"Pure\", { bytes: bcs.byteVector().transform({\n\t\tinput: (val) => typeof val === \"string\" ? fromBase64(val) : val,\n\t\toutput: (val) => toBase64(new Uint8Array(val))\n\t}) }),\n\tObject: ObjectArg,\n\tFundsWithdrawal\n});\nconst InnerTypeTag = bcs.enum(\"TypeTag\", {\n\tbool: null,\n\tu8: null,\n\tu64: null,\n\tu128: null,\n\taddress: null,\n\tsigner: null,\n\tvector: bcs.lazy(() => InnerTypeTag),\n\tstruct: bcs.lazy(() => StructTag),\n\tu16: null,\n\tu32: null,\n\tu256: null\n});\nconst TypeTag = InnerTypeTag.transform({\n\tinput: (typeTag) => typeof typeTag === \"string\" ? TypeTagSerializer.parseFromStr(typeTag, true) : typeTag,\n\toutput: (typeTag) => TypeTagSerializer.tagToString(typeTag)\n});\nconst Argument = bcs.enum(\"Argument\", {\n\tGasCoin: null,\n\tInput: bcs.u16(),\n\tResult: bcs.u16(),\n\tNestedResult: bcs.tuple([bcs.u16(), bcs.u16()])\n});\nconst ProgrammableMoveCall = bcs.struct(\"ProgrammableMoveCall\", {\n\tpackage: Address,\n\tmodule: bcs.string(),\n\tfunction: bcs.string(),\n\ttypeArguments: bcs.vector(TypeTag),\n\targuments: bcs.vector(Argument)\n});\nconst Command = bcs.enum(\"Command\", {\n\tMoveCall: ProgrammableMoveCall,\n\tTransferObjects: bcs.struct(\"TransferObjects\", {\n\t\tobjects: bcs.vector(Argument),\n\t\taddress: Argument\n\t}),\n\tSplitCoins: bcs.struct(\"SplitCoins\", {\n\t\tcoin: Argument,\n\t\tamounts: bcs.vector(Argument)\n\t}),\n\tMergeCoins: bcs.struct(\"MergeCoins\", {\n\t\tdestination: Argument,\n\t\tsources: bcs.vector(Argument)\n\t}),\n\tPublish: bcs.struct(\"Publish\", {\n\t\tmodules: bcs.vector(bcs.byteVector().transform({\n\t\t\tinput: (val) => typeof val === \"string\" ? fromBase64(val) : val,\n\t\t\toutput: (val) => toBase64(new Uint8Array(val))\n\t\t})),\n\t\tdependencies: bcs.vector(Address)\n\t}),\n\tMakeMoveVec: bcs.struct(\"MakeMoveVec\", {\n\t\ttype: optionEnum(TypeTag).transform({\n\t\t\tinput: (val) => val === null ? { None: true } : { Some: val },\n\t\t\toutput: (val) => val.Some ?? null\n\t\t}),\n\t\telements: bcs.vector(Argument)\n\t}),\n\tUpgrade: bcs.struct(\"Upgrade\", {\n\t\tmodules: bcs.vector(bcs.byteVector().transform({\n\t\t\tinput: (val) => typeof val === \"string\" ? fromBase64(val) : val,\n\t\t\toutput: (val) => toBase64(new Uint8Array(val))\n\t\t})),\n\t\tdependencies: bcs.vector(Address),\n\t\tpackage: Address,\n\t\tticket: Argument\n\t})\n});\nconst ProgrammableTransaction = bcs.struct(\"ProgrammableTransaction\", {\n\tinputs: bcs.vector(CallArg),\n\tcommands: bcs.vector(Command)\n});\nconst TransactionKind = bcs.enum(\"TransactionKind\", {\n\tProgrammableTransaction,\n\tChangeEpoch: null,\n\tGenesis: null,\n\tConsensusCommitPrologue: null\n});\nconst ValidDuring = bcs.struct(\"ValidDuring\", {\n\tminEpoch: bcs.option(bcs.u64()),\n\tmaxEpoch: bcs.option(bcs.u64()),\n\tminTimestamp: bcs.option(bcs.u64()),\n\tmaxTimestamp: bcs.option(bcs.u64()),\n\tchain: ObjectDigest,\n\tnonce: bcs.u32()\n});\nconst TransactionExpiration = bcs.enum(\"TransactionExpiration\", {\n\tNone: null,\n\tEpoch: unsafe_u64(),\n\tValidDuring\n});\nconst StructTag = bcs.struct(\"StructTag\", {\n\taddress: Address,\n\tmodule: bcs.string(),\n\tname: bcs.string(),\n\ttypeParams: bcs.vector(InnerTypeTag)\n});\nconst GasData = bcs.struct(\"GasData\", {\n\tpayment: bcs.vector(SuiObjectRef),\n\towner: Address,\n\tprice: bcs.u64(),\n\tbudget: bcs.u64()\n});\nconst TransactionDataV1 = bcs.struct(\"TransactionDataV1\", {\n\tkind: TransactionKind,\n\tsender: Address,\n\tgasData: GasData,\n\texpiration: TransactionExpiration\n});\nconst TransactionData = bcs.enum(\"TransactionData\", { V1: TransactionDataV1 });\nconst IntentScope = bcs.enum(\"IntentScope\", {\n\tTransactionData: null,\n\tTransactionEffects: null,\n\tCheckpointSummary: null,\n\tPersonalMessage: null\n});\nconst IntentVersion = bcs.enum(\"IntentVersion\", { V0: null });\nconst AppId = bcs.enum(\"AppId\", { Sui: null });\nconst Intent = bcs.struct(\"Intent\", {\n\tscope: IntentScope,\n\tversion: IntentVersion,\n\tappId: AppId\n});\nfunction IntentMessage(T) {\n\treturn bcs.struct(`IntentMessage<${T.name}>`, {\n\t\tintent: Intent,\n\t\tvalue: T\n\t});\n}\nconst CompressedSignature = bcs.enum(\"CompressedSignature\", {\n\tED25519: bcs.bytes(64),\n\tSecp256k1: bcs.bytes(64),\n\tSecp256r1: bcs.bytes(64),\n\tZkLogin: bcs.byteVector(),\n\tPasskey: bcs.byteVector()\n});\nconst PublicKey = bcs.enum(\"PublicKey\", {\n\tED25519: bcs.bytes(32),\n\tSecp256k1: bcs.bytes(33),\n\tSecp256r1: bcs.bytes(33),\n\tZkLogin: bcs.byteVector(),\n\tPasskey: bcs.bytes(33)\n});\nconst MultiSigPkMap = bcs.struct(\"MultiSigPkMap\", {\n\tpubKey: PublicKey,\n\tweight: bcs.u8()\n});\nconst MultiSigPublicKey = bcs.struct(\"MultiSigPublicKey\", {\n\tpk_map: bcs.vector(MultiSigPkMap),\n\tthreshold: bcs.u16()\n});\nconst MultiSig = bcs.struct(\"MultiSig\", {\n\tsigs: bcs.vector(CompressedSignature),\n\tbitmap: bcs.u16(),\n\tmultisig_pk: MultiSigPublicKey\n});\nconst base64String = bcs.byteVector().transform({\n\tinput: (val) => typeof val === \"string\" ? fromBase64(val) : val,\n\toutput: (val) => toBase64(new Uint8Array(val))\n});\nconst SenderSignedTransaction = bcs.struct(\"SenderSignedTransaction\", {\n\tintentMessage: IntentMessage(TransactionData),\n\ttxSignatures: bcs.vector(base64String)\n});\nconst SenderSignedData = bcs.vector(SenderSignedTransaction, { name: \"SenderSignedData\" });\nconst PasskeyAuthenticator = bcs.struct(\"PasskeyAuthenticator\", {\n\tauthenticatorData: bcs.byteVector(),\n\tclientDataJson: bcs.string(),\n\tuserSignature: bcs.byteVector()\n});\nconst MoveObjectType = bcs.enum(\"MoveObjectType\", {\n\tOther: StructTag,\n\tGasCoin: null,\n\tStakedSui: null,\n\tCoin: TypeTag,\n\tAccumulatorBalanceWrapper: null\n});\nconst TypeOrigin = bcs.struct(\"TypeOrigin\", {\n\tmoduleName: bcs.string(),\n\tdatatypeName: bcs.string(),\n\tpackage: Address\n});\nconst UpgradeInfo = bcs.struct(\"UpgradeInfo\", {\n\tupgradedId: Address,\n\tupgradedVersion: bcs.u64()\n});\nconst MovePackage = bcs.struct(\"MovePackage\", {\n\tid: Address,\n\tversion: bcs.u64(),\n\tmoduleMap: bcs.map(bcs.string(), bcs.byteVector()),\n\ttypeOriginTable: bcs.vector(TypeOrigin),\n\tlinkageTable: bcs.map(Address, UpgradeInfo)\n});\nconst MoveObject = bcs.struct(\"MoveObject\", {\n\ttype: MoveObjectType,\n\thasPublicTransfer: bcs.bool(),\n\tversion: bcs.u64(),\n\tcontents: bcs.byteVector()\n});\nconst Data = bcs.enum(\"Data\", {\n\tMove: MoveObject,\n\tPackage: MovePackage\n});\nconst ObjectInner = bcs.struct(\"ObjectInner\", {\n\tdata: Data,\n\towner: Owner,\n\tpreviousTransaction: ObjectDigest,\n\tstorageRebate: bcs.u64()\n});\n\n//#endregion\nexport { Address, AppId, Argument, CallArg, Command, CompressedSignature, Data, GasData, Intent, IntentMessage, IntentScope, IntentVersion, MoveObject, MoveObjectType, MovePackage, MultiSig, MultiSigPkMap, MultiSigPublicKey, ObjectArg, ObjectDigest, ObjectInner, Owner, PasskeyAuthenticator, ProgrammableMoveCall, ProgrammableTransaction, PublicKey, SenderSignedData, SenderSignedTransaction, SharedObjectRef, StructTag, SuiObjectRef, TransactionData, TransactionDataV1, TransactionExpiration, TransactionKind, TypeOrigin, TypeTag, UpgradeInfo };\n//# sourceMappingURL=bcs.mjs.map","import { Address, ObjectDigest, Owner, SuiObjectRef, TypeTag } from \"./bcs.mjs\";\nimport { bcs } from \"@mysten/bcs\";\n\n//#region src/bcs/effects.ts\nconst PackageUpgradeError = bcs.enum(\"PackageUpgradeError\", {\n\tUnableToFetchPackage: bcs.struct(\"UnableToFetchPackage\", { packageId: Address }),\n\tNotAPackage: bcs.struct(\"NotAPackage\", { objectId: Address }),\n\tIncompatibleUpgrade: null,\n\tDigestDoesNotMatch: bcs.struct(\"DigestDoesNotMatch\", { digest: bcs.byteVector() }),\n\tUnknownUpgradePolicy: bcs.struct(\"UnknownUpgradePolicy\", { policy: bcs.u8() }),\n\tPackageIDDoesNotMatch: bcs.struct(\"PackageIDDoesNotMatch\", {\n\t\tpackageId: Address,\n\t\tticketId: Address\n\t})\n});\nconst ModuleId = bcs.struct(\"ModuleId\", {\n\taddress: Address,\n\tname: bcs.string()\n});\nconst MoveLocation = bcs.struct(\"MoveLocation\", {\n\tmodule: ModuleId,\n\tfunction: bcs.u16(),\n\tinstruction: bcs.u16(),\n\tfunctionName: bcs.option(bcs.string())\n});\nconst CommandArgumentError = bcs.enum(\"CommandArgumentError\", {\n\tTypeMismatch: null,\n\tInvalidBCSBytes: null,\n\tInvalidUsageOfPureArg: null,\n\tInvalidArgumentToPrivateEntryFunction: null,\n\tIndexOutOfBounds: bcs.struct(\"IndexOutOfBounds\", { idx: bcs.u16() }),\n\tSecondaryIndexOutOfBounds: bcs.struct(\"SecondaryIndexOutOfBounds\", {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16()\n\t}),\n\tInvalidResultArity: bcs.struct(\"InvalidResultArity\", { resultIdx: bcs.u16() }),\n\tInvalidGasCoinUsage: null,\n\tInvalidValueUsage: null,\n\tInvalidObjectByValue: null,\n\tInvalidObjectByMutRef: null,\n\tSharedObjectOperationNotAllowed: null,\n\tInvalidArgumentArity: null,\n\tInvalidTransferObject: null,\n\tInvalidMakeMoveVecNonObjectArgument: null,\n\tArgumentWithoutValue: null,\n\tCannotMoveBorrowedValue: null,\n\tCannotWriteToExtendedReference: null,\n\tInvalidReferenceArgument: null\n});\nconst TypeArgumentError = bcs.enum(\"TypeArgumentError\", {\n\tTypeNotFound: null,\n\tConstraintNotSatisfied: null\n});\nconst ExecutionFailureStatus = bcs.enum(\"ExecutionFailureStatus\", {\n\tInsufficientGas: null,\n\tInvalidGasObject: null,\n\tInvariantViolation: null,\n\tFeatureNotYetSupported: null,\n\tMoveObjectTooBig: bcs.struct(\"MoveObjectTooBig\", {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64()\n\t}),\n\tMovePackageTooBig: bcs.struct(\"MovePackageTooBig\", {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64()\n\t}),\n\tCircularObjectOwnership: bcs.struct(\"CircularObjectOwnership\", { object: Address }),\n\tInsufficientCoinBalance: null,\n\tCoinBalanceOverflow: null,\n\tPublishErrorNonZeroAddress: null,\n\tSuiMoveVerificationError: null,\n\tMovePrimitiveRuntimeError: bcs.option(MoveLocation),\n\tMoveAbort: bcs.tuple([MoveLocation, bcs.u64()]),\n\tVMVerificationOrDeserializationError: null,\n\tVMInvariantViolation: null,\n\tFunctionNotFound: null,\n\tArityMismatch: null,\n\tTypeArityMismatch: null,\n\tNonEntryFunctionInvoked: null,\n\tCommandArgumentError: bcs.struct(\"CommandArgumentError\", {\n\t\targIdx: bcs.u16(),\n\t\tkind: CommandArgumentError\n\t}),\n\tTypeArgumentError: bcs.struct(\"TypeArgumentError\", {\n\t\targumentIdx: bcs.u16(),\n\t\tkind: TypeArgumentError\n\t}),\n\tUnusedValueWithoutDrop: bcs.struct(\"UnusedValueWithoutDrop\", {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16()\n\t}),\n\tInvalidPublicFunctionReturnType: bcs.struct(\"InvalidPublicFunctionReturnType\", { idx: bcs.u16() }),\n\tInvalidTransferObject: null,\n\tEffectsTooLarge: bcs.struct(\"EffectsTooLarge\", {\n\t\tcurrentSize: bcs.u64(),\n\t\tmaxSize: bcs.u64()\n\t}),\n\tPublishUpgradeMissingDependency: null,\n\tPublishUpgradeDependencyDowngrade: null,\n\tPackageUpgradeError: bcs.struct(\"PackageUpgradeError\", { upgradeError: PackageUpgradeError }),\n\tWrittenObjectsTooLarge: bcs.struct(\"WrittenObjectsTooLarge\", {\n\t\tcurrentSize: bcs.u64(),\n\t\tmaxSize: bcs.u64()\n\t}),\n\tCertificateDenied: null,\n\tSuiMoveVerificationTimedout: null,\n\tSharedObjectOperationNotAllowed: null,\n\tInputObjectDeleted: null,\n\tExecutionCancelledDueToSharedObjectCongestion: bcs.struct(\"ExecutionCancelledDueToSharedObjectCongestion\", { congested_objects: bcs.vector(Address) }),\n\tAddressDeniedForCoin: bcs.struct(\"AddressDeniedForCoin\", {\n\t\taddress: Address,\n\t\tcoinType: bcs.string()\n\t}),\n\tCoinTypeGlobalPause: bcs.struct(\"CoinTypeGlobalPause\", { coinType: bcs.string() }),\n\tExecutionCancelledDueToRandomnessUnavailable: null,\n\tMoveVectorElemTooBig: bcs.struct(\"MoveVectorElemTooBig\", {\n\t\tvalueSize: bcs.u64(),\n\t\tmaxScaledSize: bcs.u64()\n\t}),\n\tMoveRawValueTooBig: bcs.struct(\"MoveRawValueTooBig\", {\n\t\tvalueSize: bcs.u64(),\n\t\tmaxScaledSize: bcs.u64()\n\t}),\n\tInvalidLinkage: null,\n\tInsufficientBalanceForWithdraw: null,\n\tNonExclusiveWriteInputObjectModified: bcs.struct(\"NonExclusiveWriteInputObjectModified\", { id: Address })\n});\nconst ExecutionStatus = bcs.enum(\"ExecutionStatus\", {\n\tSuccess: null,\n\tFailure: bcs.struct(\"Failure\", {\n\t\terror: ExecutionFailureStatus,\n\t\tcommand: bcs.option(bcs.u64())\n\t})\n});\nconst GasCostSummary = bcs.struct(\"GasCostSummary\", {\n\tcomputationCost: bcs.u64(),\n\tstorageCost: bcs.u64(),\n\tstorageRebate: bcs.u64(),\n\tnonRefundableStorageFee: bcs.u64()\n});\nconst TransactionEffectsV1 = bcs.struct(\"TransactionEffectsV1\", {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\tmodifiedAtVersions: bcs.vector(bcs.tuple([Address, bcs.u64()])),\n\tsharedObjects: bcs.vector(SuiObjectRef),\n\ttransactionDigest: ObjectDigest,\n\tcreated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tmutated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tunwrapped: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tdeleted: bcs.vector(SuiObjectRef),\n\tunwrappedThenDeleted: bcs.vector(SuiObjectRef),\n\twrapped: bcs.vector(SuiObjectRef),\n\tgasObject: bcs.tuple([SuiObjectRef, Owner]),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest)\n});\nconst VersionDigest = bcs.tuple([bcs.u64(), ObjectDigest]);\nconst ObjectIn = bcs.enum(\"ObjectIn\", {\n\tNotExist: null,\n\tExist: bcs.tuple([VersionDigest, Owner])\n});\nconst AccumulatorAddress = bcs.struct(\"AccumulatorAddress\", {\n\taddress: Address,\n\tty: TypeTag\n});\nconst AccumulatorOperation = bcs.enum(\"AccumulatorOperation\", {\n\tMerge: null,\n\tSplit: null\n});\nconst AccumulatorValue = bcs.enum(\"AccumulatorValue\", {\n\tInteger: bcs.u64(),\n\tIntegerTuple: bcs.tuple([bcs.u64(), bcs.u64()]),\n\tEventDigest: bcs.vector(bcs.tuple([bcs.u64(), ObjectDigest]))\n});\nconst AccumulatorWriteV1 = bcs.struct(\"AccumulatorWriteV1\", {\n\taddress: AccumulatorAddress,\n\toperation: AccumulatorOperation,\n\tvalue: AccumulatorValue\n});\nconst ObjectOut = bcs.enum(\"ObjectOut\", {\n\tNotExist: null,\n\tObjectWrite: bcs.tuple([ObjectDigest, Owner]),\n\tPackageWrite: VersionDigest,\n\tAccumulatorWriteV1\n});\nconst IDOperation = bcs.enum(\"IDOperation\", {\n\tNone: null,\n\tCreated: null,\n\tDeleted: null\n});\nconst EffectsObjectChange = bcs.struct(\"EffectsObjectChange\", {\n\tinputState: ObjectIn,\n\toutputState: ObjectOut,\n\tidOperation: IDOperation\n});\nconst UnchangedConsensusKind = bcs.enum(\"UnchangedConsensusKind\", {\n\tReadOnlyRoot: VersionDigest,\n\tMutateConsensusStreamEnded: bcs.u64(),\n\tReadConsensusStreamEnded: bcs.u64(),\n\tCancelled: bcs.u64(),\n\tPerEpochConfig: null\n});\nconst TransactionEffectsV2 = bcs.struct(\"TransactionEffectsV2\", {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\ttransactionDigest: ObjectDigest,\n\tgasObjectIndex: bcs.option(bcs.u32()),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n\tlamportVersion: bcs.u64(),\n\tchangedObjects: bcs.vector(bcs.tuple([Address, EffectsObjectChange])),\n\tunchangedConsensusObjects: bcs.vector(bcs.tuple([Address, UnchangedConsensusKind])),\n\tauxDataDigest: bcs.option(ObjectDigest)\n});\nconst TransactionEffects = bcs.enum(\"TransactionEffects\", {\n\tV1: TransactionEffectsV1,\n\tV2: TransactionEffectsV2\n});\n\n//#endregion\nexport { ExecutionStatus, TransactionEffects };\n//# sourceMappingURL=effects.mjs.map","import { Address } from \"./bcs.mjs\";\nimport { bcs } from \"@mysten/bcs\";\n\n//#region src/bcs/pure.ts\nfunction pureBcsSchemaFromTypeName(name) {\n\tswitch (name) {\n\t\tcase \"u8\": return bcs.u8();\n\t\tcase \"u16\": return bcs.u16();\n\t\tcase \"u32\": return bcs.u32();\n\t\tcase \"u64\": return bcs.u64();\n\t\tcase \"u128\": return bcs.u128();\n\t\tcase \"u256\": return bcs.u256();\n\t\tcase \"bool\": return bcs.bool();\n\t\tcase \"string\": return bcs.string();\n\t\tcase \"id\":\n\t\tcase \"address\": return Address;\n\t}\n\tconst generic = name.match(/^(vector|option)<(.+)>$/);\n\tif (generic) {\n\t\tconst [kind, inner] = generic.slice(1);\n\t\tif (kind === \"vector\") return bcs.vector(pureBcsSchemaFromTypeName(inner));\n\t\telse return bcs.option(pureBcsSchemaFromTypeName(inner));\n\t}\n\tthrow new Error(`Invalid Pure type name: ${name}`);\n}\n\n//#endregion\nexport { pureBcsSchemaFromTypeName };\n//# sourceMappingURL=pure.mjs.map","import { TypeTagSerializer } from \"./type-tag-serializer.mjs\";\nimport { Address, AppId, Argument, CallArg, Command, CompressedSignature, Data, GasData, Intent, IntentMessage, IntentScope, IntentVersion, MoveObject, MoveObjectType, MovePackage, MultiSig, MultiSigPkMap, MultiSigPublicKey, ObjectArg, ObjectDigest, ObjectInner, Owner, PasskeyAuthenticator, ProgrammableMoveCall, ProgrammableTransaction, PublicKey, SenderSignedData, SenderSignedTransaction, SharedObjectRef, StructTag, SuiObjectRef, TransactionData, TransactionDataV1, TransactionExpiration, TransactionKind, TypeOrigin, TypeTag, UpgradeInfo } from \"./bcs.mjs\";\nimport { TransactionEffects } from \"./effects.mjs\";\nimport { pureBcsSchemaFromTypeName } from \"./pure.mjs\";\nimport { BcsEnum, BcsStruct, BcsTuple, BcsType, bcs, compareBcsBytes } from \"@mysten/bcs\";\n\n//#region src/bcs/index.ts\nconst suiBcs = {\n\t...bcs,\n\tU8: bcs.u8(),\n\tU16: bcs.u16(),\n\tU32: bcs.u32(),\n\tU64: bcs.u64(),\n\tU128: bcs.u128(),\n\tU256: bcs.u256(),\n\tULEB128: bcs.uleb128(),\n\tBool: bcs.bool(),\n\tString: bcs.string(),\n\tAddress,\n\tAppId,\n\tArgument,\n\tCallArg,\n\tCommand,\n\tCompressedSignature,\n\tData,\n\tGasData,\n\tIntent,\n\tIntentMessage,\n\tIntentScope,\n\tIntentVersion,\n\tMoveObject,\n\tMoveObjectType,\n\tMovePackage,\n\tMultiSig,\n\tMultiSigPkMap,\n\tMultiSigPublicKey,\n\tObject: ObjectInner,\n\tObjectArg,\n\tObjectDigest,\n\tOwner,\n\tPasskeyAuthenticator,\n\tProgrammableMoveCall,\n\tProgrammableTransaction,\n\tPublicKey,\n\tSenderSignedData,\n\tSenderSignedTransaction,\n\tSharedObjectRef,\n\tStructTag,\n\tSuiObjectRef,\n\tTransactionData,\n\tTransactionDataV1,\n\tTransactionEffects,\n\tTransactionExpiration,\n\tTransactionKind,\n\tTypeOrigin,\n\tTypeTag,\n\tUpgradeInfo\n};\n\n//#endregion\nexport { BcsEnum, BcsStruct, BcsTuple, BcsType, TypeTagSerializer, suiBcs as bcs, compareBcsBytes, pureBcsSchemaFromTypeName };\n//# sourceMappingURL=index.mjs.map","/**\n * Checks if something is Uint8Array. Be careful: nodejs Buffer will return true.\n * @param a - value to test\n * @returns `true` when the value is a Uint8Array-compatible view.\n * @example\n * Check whether a value is a Uint8Array-compatible view.\n * ```ts\n * isBytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function isBytes(a) {\n // Plain `instanceof Uint8Array` is too strict for some Buffer / proxy / cross-realm cases.\n // The fallback still requires a real ArrayBuffer view, so plain\n // JSON-deserialized `{ constructor: ... }` spoofing is rejected, and\n // `BYTES_PER_ELEMENT === 1` keeps the fallback on byte-oriented views.\n return (a instanceof Uint8Array ||\n (ArrayBuffer.isView(a) &&\n a.constructor.name === 'Uint8Array' &&\n 'BYTES_PER_ELEMENT' in a &&\n a.BYTES_PER_ELEMENT === 1));\n}\n/**\n * Asserts something is a non-negative integer.\n * @param n - number to validate\n * @param title - label included in thrown errors\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate a non-negative integer option.\n * ```ts\n * anumber(32, 'length');\n * ```\n */\nexport function anumber(n, title = '') {\n if (typeof n !== 'number') {\n const prefix = title && `\"${title}\" `;\n throw new TypeError(`${prefix}expected number, got ${typeof n}`);\n }\n if (!Number.isSafeInteger(n) || n < 0) {\n const prefix = title && `\"${title}\" `;\n throw new RangeError(`${prefix}expected integer >= 0, got ${n}`);\n }\n}\n/**\n * Asserts something is Uint8Array.\n * @param value - value to validate\n * @param length - optional exact length constraint\n * @param title - label included in thrown errors\n * @returns The validated byte array.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate that a value is a byte array.\n * ```ts\n * abytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function abytes(value, length, title = '') {\n const bytes = isBytes(value);\n const len = value?.length;\n const needsLen = length !== undefined;\n if (!bytes || (needsLen && len !== length)) {\n const prefix = title && `\"${title}\" `;\n const ofLen = needsLen ? ` of length ${length}` : '';\n const got = bytes ? `length=${len}` : `type=${typeof value}`;\n const message = prefix + 'expected Uint8Array' + ofLen + ', got ' + got;\n if (!bytes)\n throw new TypeError(message);\n throw new RangeError(message);\n }\n return value;\n}\n/**\n * Copies bytes into a fresh Uint8Array.\n * Buffer-style slices can alias the same backing store, so callers that need ownership should copy.\n * @param bytes - source bytes to clone\n * @returns Freshly allocated copy of `bytes`.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Clone a byte array before mutating it.\n * ```ts\n * const copy = copyBytes(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function copyBytes(bytes) {\n // `Uint8Array.from(...)` would also accept arrays / other typed arrays. Keep this helper strict\n // because callers use it at byte-validation boundaries before mutating the detached copy.\n return Uint8Array.from(abytes(bytes));\n}\n/**\n * Asserts something is a wrapped hash constructor.\n * @param h - hash constructor to validate\n * @throws On wrong argument types or invalid hash wrapper shape. {@link TypeError}\n * @throws On invalid hash metadata ranges or values. {@link RangeError}\n * @throws If the hash metadata allows empty outputs or block sizes. {@link Error}\n * @example\n * Validate a callable hash wrapper.\n * ```ts\n * import { ahash } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * ahash(sha256);\n * ```\n */\nexport function ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new TypeError('Hash must wrapped by utils.createHasher');\n anumber(h.outputLen);\n anumber(h.blockLen);\n // HMAC and KDF callers treat these as real byte lengths; allowing zero lets fake wrappers pass\n // validation and can produce empty outputs instead of failing fast.\n if (h.outputLen < 1)\n throw new Error('\"outputLen\" must be >= 1');\n if (h.blockLen < 1)\n throw new Error('\"blockLen\" must be >= 1');\n}\n/**\n * Asserts a hash instance has not been destroyed or finished.\n * @param instance - hash instance to validate\n * @param checkFinished - whether to reject finalized instances\n * @throws If the hash instance has already been destroyed or finalized. {@link Error}\n * @example\n * Validate that a hash instance is still usable.\n * ```ts\n * import { aexists } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const hash = sha256.create();\n * aexists(hash);\n * ```\n */\nexport function aexists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\n/**\n * Asserts output is a sufficiently-sized byte array.\n * @param out - destination buffer\n * @param instance - hash instance providing output length\n * Oversized buffers are allowed; downstream code only promises to fill the first `outputLen` bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Validate a caller-provided digest buffer.\n * ```ts\n * import { aoutput } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const hash = sha256.create();\n * aoutput(new Uint8Array(hash.outputLen), hash);\n * ```\n */\nexport function aoutput(out, instance) {\n abytes(out, undefined, 'digestInto() output');\n const min = instance.outputLen;\n if (out.length < min) {\n throw new RangeError('\"digestInto() output\" expected to be of length >=' + min);\n }\n}\n/**\n * Casts a typed array view to Uint8Array.\n * @param arr - source typed array\n * @returns Uint8Array view over the same buffer.\n * @example\n * Reinterpret a typed array as bytes.\n * ```ts\n * u8(new Uint32Array([1, 2]));\n * ```\n */\nexport function u8(arr) {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/**\n * Casts a typed array view to Uint32Array.\n * `arr.byteOffset` must already be 4-byte aligned or the platform\n * Uint32Array constructor will throw.\n * @param arr - source typed array\n * @returns Uint32Array view over the same buffer.\n * @example\n * Reinterpret a byte array as 32-bit words.\n * ```ts\n * u32(new Uint8Array(8));\n * ```\n */\nexport function u32(arr) {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n/**\n * Zeroizes typed arrays in place. Warning: JS provides no guarantees.\n * @param arrays - arrays to overwrite with zeros\n * @example\n * Zeroize sensitive buffers in place.\n * ```ts\n * clean(new Uint8Array([1, 2, 3]));\n * ```\n */\nexport function clean(...arrays) {\n for (let i = 0; i < arrays.length; i++) {\n arrays[i].fill(0);\n }\n}\n/**\n * Creates a DataView for byte-level manipulation.\n * @param arr - source typed array\n * @returns DataView over the same buffer region.\n * @example\n * Create a DataView over an existing buffer.\n * ```ts\n * createView(new Uint8Array(4));\n * ```\n */\nexport function createView(arr) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/**\n * Rotate-right operation for uint32 values.\n * @param word - source word\n * @param shift - shift amount in bits\n * @returns Rotated word.\n * @example\n * Rotate a 32-bit word to the right.\n * ```ts\n * rotr(0x12345678, 8);\n * ```\n */\nexport function rotr(word, shift) {\n return (word << (32 - shift)) | (word >>> shift);\n}\n/**\n * Rotate-left operation for uint32 values.\n * @param word - source word\n * @param shift - shift amount in bits\n * @returns Rotated word.\n * @example\n * Rotate a 32-bit word to the left.\n * ```ts\n * rotl(0x12345678, 8);\n * ```\n */\nexport function rotl(word, shift) {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Whether the current platform is little-endian. */\nexport const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n/**\n * Byte-swap operation for uint32 values.\n * @param word - source word\n * @returns Word with reversed byte order.\n * @example\n * Reverse the byte order of a 32-bit word.\n * ```ts\n * byteSwap(0x11223344);\n * ```\n */\nexport function byteSwap(word) {\n return (((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff));\n}\n/**\n * Conditionally byte-swaps one 32-bit word on big-endian platforms.\n * @param n - source word\n * @returns Original or byte-swapped word depending on platform endianness.\n * @example\n * Normalize a 32-bit word for host endianness.\n * ```ts\n * swap8IfBE(0x11223344);\n * ```\n */\nexport const swap8IfBE = isLE\n ? (n) => n\n : (n) => byteSwap(n) >>> 0;\n/**\n * Byte-swaps every word of a Uint32Array in place.\n * @param arr - array to mutate\n * @returns The same array after mutation; callers pass live state arrays here.\n * @example\n * Reverse the byte order of every word in place.\n * ```ts\n * byteSwap32(new Uint32Array([0x11223344]));\n * ```\n */\nexport function byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n return arr;\n}\n/**\n * Conditionally byte-swaps a Uint32Array on big-endian platforms.\n * @param u - array to normalize for host endianness\n * @returns Original or byte-swapped array depending on platform endianness.\n * On big-endian runtimes this mutates `u` in place via `byteSwap32(...)`.\n * @example\n * Normalize a word array for host endianness.\n * ```ts\n * swap32IfBE(new Uint32Array([0x11223344]));\n * ```\n */\nexport const swap32IfBE = isLE\n ? (u) => u\n : byteSwap32;\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin = /* @__PURE__ */ (() => \n// @ts-ignore\ntypeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')();\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string.\n * Uses the built-in function when available and assumes it matches the tested\n * fallback semantics.\n * @param bytes - bytes to encode\n * @returns Lowercase hexadecimal string.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Convert bytes to lowercase hexadecimal.\n * ```ts\n * bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])); // 'cafe0123'\n * ```\n */\nexport function bytesToHex(bytes) {\n abytes(bytes);\n // @ts-ignore\n if (hasHexBuiltin)\n return bytes.toHex();\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n if (ch >= asciis._0 && ch <= asciis._9)\n return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F)\n return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f)\n return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @param hex - hexadecimal string to decode\n * @returns Decoded bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @example\n * Decode lowercase hexadecimal into bytes.\n * ```ts\n * hexToBytes('cafe0123'); // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n * ```\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new TypeError('hex string expected, got ' + typeof hex);\n if (hasHexBuiltin) {\n try {\n return Uint8Array.fromHex(hex);\n }\n catch (error) {\n if (error instanceof SyntaxError)\n throw new RangeError(error.message);\n throw error;\n }\n }\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new RangeError('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new RangeError('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * This yields to the Promise/microtask scheduler queue, not to timers or the\n * full macrotask event loop.\n * @example\n * Yield to the next scheduler tick.\n * ```ts\n * await nextTick();\n * ```\n */\nexport const nextTick = async () => { };\n/**\n * Returns control to the Promise/microtask scheduler every `tick`\n * milliseconds to avoid blocking long loops.\n * @param iters - number of loop iterations to run\n * @param tick - maximum time slice in milliseconds\n * @param cb - callback executed on each iteration\n * @example\n * Run a loop that periodically yields back to the event loop.\n * ```ts\n * await asyncLoop(2, 0, () => {});\n * ```\n */\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * Converts string to bytes using UTF8 encoding.\n * Built-in doesn't validate input to be string: we do the check.\n * Non-ASCII details are delegated to the platform `TextEncoder`.\n * @param str - string to encode\n * @returns UTF-8 encoded bytes.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Encode a string as UTF-8 bytes.\n * ```ts\n * utf8ToBytes('abc'); // Uint8Array.from([97, 98, 99])\n * ```\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new TypeError('string expected');\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Helper for KDFs: consumes Uint8Array or string.\n * String inputs are UTF-8 encoded; byte-array inputs stay aliased to the caller buffer.\n * @param data - user-provided KDF input\n * @param errorTitle - label included in thrown errors\n * @returns Byte representation of the input.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Normalize KDF input to bytes.\n * ```ts\n * kdfInputToBytes('password');\n * ```\n */\nexport function kdfInputToBytes(data, errorTitle = '') {\n if (typeof data === 'string')\n return utf8ToBytes(data);\n return abytes(data, undefined, errorTitle);\n}\n/**\n * Copies several Uint8Arrays into one.\n * @param arrays - arrays to concatenate\n * @returns Concatenated byte array.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Concatenate multiple byte arrays.\n * ```ts\n * concatBytes(new Uint8Array([1]), new Uint8Array([2]));\n * ```\n */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n/**\n * Merges default options and passed options.\n * @param defaults - base option object\n * @param opts - user overrides\n * @returns Merged option object. The merge mutates `defaults` in place.\n * @throws On wrong argument types. {@link TypeError}\n * @example\n * Merge user overrides onto default options.\n * ```ts\n * checkOpts({ dkLen: 32 }, { asyncTick: 10 });\n * ```\n */\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n throw new TypeError('options must be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\n/**\n * Creates a callable hash function from a stateful class constructor.\n * @param hashCons - hash constructor or factory\n * @param info - optional metadata such as DER OID\n * @returns Frozen callable hash wrapper with `.create()`.\n * Wrapper construction eagerly calls `hashCons(undefined)` once to read\n * `outputLen` / `blockLen`, so constructor side effects happen at module\n * init time.\n * @example\n * Wrap a stateful hash constructor into a callable helper.\n * ```ts\n * import { createHasher } from '@noble/hashes/utils.js';\n * import { sha256 } from '@noble/hashes/sha2.js';\n * const wrapped = createHasher(sha256.create, { oid: sha256.oid });\n * wrapped(new Uint8Array([1]));\n * ```\n */\nexport function createHasher(hashCons, info = {}) {\n const hashC = (msg, opts) => hashCons(opts)\n .update(msg)\n .digest();\n const tmp = hashCons(undefined);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.canXOF = tmp.canXOF;\n hashC.create = (opts) => hashCons(opts);\n Object.assign(hashC, info);\n return Object.freeze(hashC);\n}\n/**\n * Cryptographically secure PRNG backed by `crypto.getRandomValues`.\n * @param bytesLength - number of random bytes to generate\n * @returns Random bytes.\n * The platform `getRandomValues()` implementation still defines any\n * single-call length cap, and this helper rejects oversize requests\n * with a stable library `RangeError` instead of host-specific errors.\n * @throws On wrong argument types. {@link TypeError}\n * @throws On wrong argument ranges or values. {@link RangeError}\n * @throws If the current runtime does not provide `crypto.getRandomValues`. {@link Error}\n * @example\n * Generate a fresh random key or nonce.\n * ```ts\n * const key = randomBytes(16);\n * ```\n */\nexport function randomBytes(bytesLength = 32) {\n // Match the repo's other length-taking helpers instead of relying on Uint8Array coercion.\n anumber(bytesLength, 'bytesLength');\n const cr = typeof globalThis === 'object' ? globalThis.crypto : null;\n if (typeof cr?.getRandomValues !== 'function')\n throw new Error('crypto.getRandomValues must be defined');\n // Web Cryptography API Level 2 §10.1.1:\n // if `byteLength > 65536`, throw `QuotaExceededError`.\n // Keep the guard explicit so callers can see the quota in code\n // instead of discovering it by reading the spec or host errors.\n // This wrapper surfaces the same quota as a stable library RangeError.\n if (bytesLength > 65536)\n throw new RangeError(`\"bytesLength\" expected <= 65536, got ${bytesLength}`);\n return cr.getRandomValues(new Uint8Array(bytesLength));\n}\n/**\n * Creates OID metadata for NIST hashes with prefix `06 09 60 86 48 01 65 03 04 02`.\n * @param suffix - final OID byte for the selected hash.\n * The helper accepts any byte even though only the documented NIST hash\n * suffixes are meaningful downstream.\n * @returns Object containing the DER-encoded OID.\n * @example\n * Build OID metadata for a NIST hash.\n * ```ts\n * oidNist(0x01);\n * ```\n */\nexport const oidNist = (suffix) => ({\n // Current NIST hashAlgs suffixes used here fit in one DER subidentifier octet.\n // Larger suffix values would need base-128 OID encoding and a different length byte.\n oid: Uint8Array.from([0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, suffix]),\n});\n//# sourceMappingURL=utils.js.map","/**\n * Internal helpers for blake hash.\n * @module\n */\nimport { rotr } from \"./utils.js\";\n/**\n * Internal blake permutation table.\n * Rows `0..9` serve BLAKE2s, rows `0..11` serve BLAKE2b with `10..11 = 0..1`, and Blake1 also\n * reuses the later rows shown below. Blake1 expands rounds `10..15` as `SIGMA[i % 10]`, so rows\n * `10..15` intentionally repeat rows `0..5` for the 14-round (256) and 16-round (512) variants.\n */\n// prettier-ignore\nexport const BSIGMA = /* @__PURE__ */ Uint8Array.from([\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,\n 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,\n 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,\n 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,\n 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,\n 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,\n 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,\n 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,\n 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,\n // Blake1, unused in others\n 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,\n 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,\n 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,\n 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,\n]);\n// 32-bit / BLAKE2s first half of G, with the fixed `(16, 12)` rotation pair.\n// Parameter `x` is the RFC 7693 first-half message word, or Blake1's pre-mixed\n// `m[sigma[r][2i]] ^ u[sigma[r][2i+1]]` addend in the 32-bit path.\nexport function G1s(a, b, c, d, x) {\n a = (a + b + x) | 0;\n d = rotr(d ^ a, 16);\n c = (c + d) | 0;\n b = rotr(b ^ c, 12);\n return { a, b, c, d };\n}\n// 32-bit / BLAKE2s second half of G.\n// Parameter `x` is the RFC 7693 second-half (`y`) message word, or Blake1's pre-mixed\n// `m[sigma[r][2i + 1]] ^ u[sigma[r][2i]]` addend in the 32-bit path.\nexport function G2s(a, b, c, d, x) {\n a = (a + b + x) | 0;\n d = rotr(d ^ a, 8);\n c = (c + d) | 0;\n b = rotr(b ^ c, 7);\n return { a, b, c, d };\n}\n//# sourceMappingURL=_blake.js.map","const U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// Split bigint into two 32-bit halves. With `le=true`, returned fields become `{ h: low, l: high\n// }` to match little-endian word order rather than the property names.\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\n// Split bigint list into `[highWords, lowWords]` when `le=false`; with `le=true`, the first array\n// holds the low halves because `fromBig(...)` swaps the semantic meaning of `h` and `l`.\nfunction split(lst, le = false) {\n const len = lst.length;\n let Ah = new Uint32Array(len);\n let Al = new Uint32Array(len);\n for (let i = 0; i < len; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\n// Combine explicit `(high, low)` 32-bit halves into a bigint; `>>> 0` normalizes signed JS\n// bitwise results back to uint32 first, and little-endian callers must swap.\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// High 32-bit half of a 64-bit logical right shift for `s` in `0..31`.\nconst shrSH = (h, _l, s) => h >>> s;\n// Low 32-bit half of a 64-bit logical right shift, valid for `s` in `1..31`.\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// High 32-bit half of a 64-bit right rotate, valid for `s` in `1..31`.\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\n// Low 32-bit half of a 64-bit right rotate, valid for `s` in `1..31`.\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// High 32-bit half of a 64-bit right rotate, valid for `s` in `33..63`; `32` uses `rotr32*`.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\n// Low 32-bit half of a 64-bit right rotate, valid for `s` in `33..63`; `32` uses `rotr32*`.\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// High 32-bit half of a 64-bit right rotate for `s === 32`; this is just the swapped low half.\nconst rotr32H = (_h, l) => l;\n// Low 32-bit half of a 64-bit right rotate for `s === 32`; this is just the swapped high half.\nconst rotr32L = (h, _l) => h;\n// High 32-bit half of a 64-bit left rotate, valid for `s` in `1..31`.\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\n// Low 32-bit half of a 64-bit left rotate, valid for `s` in `1..31`.\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// High 32-bit half of a 64-bit left rotate, valid for `s` in `33..63`; `32` uses `rotr32*`.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\n// Low 32-bit half of a 64-bit left rotate, valid for `s` in `33..63`; `32` uses `rotr32*`.\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// Add two split 64-bit words and return the split `{ h, l }` sum.\n// JS uses 32-bit signed integers for bitwise operations, so we cannot simply shift the carry out\n// of the low sum and instead use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\n// Unmasked low-word accumulator for 3-way addition; pass the raw result into `add3H(...)`.\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\n// High-word finalize step for 3-way addition; `low` must be the untruncated output of `add3L(...)`.\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\n// Unmasked low-word accumulator for 4-way addition; pass the raw result into `add4H(...)`.\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\n// High-word finalize step for 4-way addition; `low` must be the untruncated output of `add4L(...)`.\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\n// Unmasked low-word accumulator for 5-way addition; pass the raw result into `add5H(...)`.\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\n// High-word finalize step for 5-way addition; `low` must be the untruncated output of `add5L(...)`.\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig };\n// Canonical grouped namespace for callers that prefer one object.\n// Named exports stay for direct imports.\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\n// Default export mirrors named `u64` for compatibility with object-style imports.\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/**\n * blake2b (64-bit) & blake2s (8 to 32-bit) hash functions.\n * b could have been faster, but there is no fast u64 in js, so s is 1.5x faster.\n * @module\n */\nimport { BSIGMA, G1s, G2s } from \"./_blake.js\";\nimport { SHA256_IV } from \"./_md.js\";\nimport * as u64 from \"./_u64.js\";\n// prettier-ignore\nimport { abytes, aexists, anumber, aoutput, clean, createHasher, swap32IfBE, swap8IfBE, u32 } from \"./utils.js\";\n// Same IV words as `SHA512_IV`, but endian-swapped into LE u32 low/high halves\n// for the BLAKE2b u64 helpers below.\nconst B2B_IV = /* @__PURE__ */ Uint32Array.from([\n 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372, 0x5f1d36f1, 0xa54ff53a,\n 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c, 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19,\n]);\n// Shared synchronous BLAKE2b work vector as LE u32 low/high halves.\nconst BBUF = /* @__PURE__ */ new Uint32Array(32);\n// BLAKE2b G mix split into two half-rounds over LE u32 low/high limbs.\nfunction G1b(a, b, c, d, msg, x) {\n // NOTE: V is LE here\n const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore\n let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore\n let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore\n let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore\n let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore\n // v[a] = (v[a] + v[b] + x) | 0;\n let ll = u64.add3L(Al, Bl, Xl);\n Ah = u64.add3H(ll, Ah, Bh, Xh);\n Al = ll | 0;\n // v[d] = rotr(v[d] ^ v[a], 32)\n ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al });\n ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) });\n // v[c] = (v[c] + v[d]) | 0;\n ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl));\n // v[b] = rotr(v[b] ^ v[c], 24)\n ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl });\n ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 24), Bl: u64.rotrSL(Bh, Bl, 24) });\n ((BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah));\n ((BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh));\n ((BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch));\n ((BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh));\n}\n// Second half-round of the same LE-limb BLAKE2b G mix; `x` is the message word offset.\nfunction G2b(a, b, c, d, msg, x) {\n // NOTE: V is LE here\n const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore\n let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore\n let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore\n let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore\n let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore\n // v[a] = (v[a] + v[b] + x) | 0;\n let ll = u64.add3L(Al, Bl, Xl);\n Ah = u64.add3H(ll, Ah, Bh, Xh);\n Al = ll | 0;\n // v[d] = rotr(v[d] ^ v[a], 16)\n ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al });\n ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) });\n // v[c] = (v[c] + v[d]) | 0;\n ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl));\n // v[b] = rotr(v[b] ^ v[c], 63)\n ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl });\n ({ Bh, Bl } = { Bh: u64.rotrBH(Bh, Bl, 63), Bl: u64.rotrBL(Bh, Bl, 63) });\n ((BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah));\n ((BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh));\n ((BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch));\n ((BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh));\n}\nfunction checkBlake2Opts(outputLen, opts = {}, keyLen, saltLen, persLen) {\n anumber(keyLen);\n // RFC 7693 §2.1 requires digest length nn in 1..keyLen.\n if (outputLen <= 0 || outputLen > keyLen)\n throw new Error('outputLen bigger than keyLen');\n const { key, salt, personalization } = opts;\n // This API uses `undefined` for the RFC 7693 `kk = 0` case, so a provided key must be non-empty.\n if (key !== undefined && (key.length < 1 || key.length > keyLen))\n throw new Error('\"key\" expected to be undefined or of length=1..' + keyLen);\n if (salt !== undefined)\n abytes(salt, saltLen, 'salt');\n if (personalization !== undefined)\n abytes(personalization, persLen, 'personalization');\n}\n/** Internal base class for BLAKE2. */\nexport class _BLAKE2 {\n buffer;\n buffer32;\n finished = false;\n destroyed = false;\n length = 0;\n pos = 0;\n blockLen;\n outputLen;\n canXOF = false;\n constructor(blockLen, outputLen) {\n anumber(blockLen);\n anumber(outputLen);\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.buffer = new Uint8Array(blockLen);\n this.buffer32 = u32(this.buffer);\n }\n update(data) {\n aexists(this);\n abytes(data);\n // Main difference with other hashes: there is flag for last block,\n // so we cannot process current block before we know that there\n // is the next one. This significantly complicates logic and reduces ability\n // to do zero-copy processing\n const { blockLen, buffer, buffer32 } = this;\n const len = data.length;\n const offset = data.byteOffset;\n const buf = data.buffer;\n for (let pos = 0; pos < len;) {\n // If buffer is full and we still have input (don't process last block, same as blake2s)\n if (this.pos === blockLen) {\n swap32IfBE(buffer32);\n this.compress(buffer32, 0, false);\n swap32IfBE(buffer32);\n this.pos = 0;\n }\n const take = Math.min(blockLen - this.pos, len - pos);\n const dataOffset = offset + pos;\n // Zero-copy only for full, 4-byte-aligned, non-final blocks.\n if (take === blockLen && !(dataOffset % 4) && pos + take < len) {\n const data32 = new Uint32Array(buf, dataOffset, Math.floor((len - pos) / 4));\n swap32IfBE(data32);\n for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {\n this.length += blockLen;\n this.compress(data32, pos32, false);\n }\n swap32IfBE(data32);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n this.length += take;\n pos += take;\n }\n return this;\n }\n digestInto(out) {\n aexists(this);\n aoutput(out, this);\n const { pos, buffer32 } = this;\n this.finished = true;\n // Padding\n clean(this.buffer.subarray(pos));\n swap32IfBE(buffer32);\n this.compress(buffer32, 0, true);\n swap32IfBE(buffer32);\n // Reject unaligned views explicitly instead of hiding them behind a full scratch copy.\n if (out.byteOffset & 3)\n throw new RangeError('\"digestInto() output\" expected 4-byte aligned byteOffset, got ' + out.byteOffset);\n const state = this.get();\n const out32 = u32(out);\n const full = Math.floor(this.outputLen / 4);\n for (let i = 0; i < full; i++)\n out32[i] = swap8IfBE(state[i]);\n const tail = this.outputLen % 4;\n if (!tail)\n return;\n const off = full * 4;\n const word = state[full];\n for (let i = 0; i < tail; i++)\n out[off + i] = word >>> (8 * i);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n // Return a copy so callers do not alias the instance scratch buffer used during finalization.\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n const { buffer, length, finished, destroyed, outputLen, pos } = this;\n // Recreate only `dkLen`; key/salt/personalization are already absorbed into the copied state.\n to ||= new this.constructor({ dkLen: outputLen });\n to.set(...this.get());\n to.buffer.set(buffer);\n to.destroyed = destroyed;\n to.finished = finished;\n to.length = length;\n to.pos = pos;\n // @ts-ignore\n to.outputLen = outputLen;\n return to;\n }\n clone() {\n return this._cloneInto();\n }\n}\n/** Internal blake2b hash class with state stored as LE u32 low/high halves. */\nexport class _BLAKE2b extends _BLAKE2 {\n // Same IV words as SHA-512 / BLAKE2b, encoded as LE u32 low/high halves.\n v0l = B2B_IV[0] | 0;\n v0h = B2B_IV[1] | 0;\n v1l = B2B_IV[2] | 0;\n v1h = B2B_IV[3] | 0;\n v2l = B2B_IV[4] | 0;\n v2h = B2B_IV[5] | 0;\n v3l = B2B_IV[6] | 0;\n v3h = B2B_IV[7] | 0;\n v4l = B2B_IV[8] | 0;\n v4h = B2B_IV[9] | 0;\n v5l = B2B_IV[10] | 0;\n v5h = B2B_IV[11] | 0;\n v6l = B2B_IV[12] | 0;\n v6h = B2B_IV[13] | 0;\n v7l = B2B_IV[14] | 0;\n v7h = B2B_IV[15] | 0;\n constructor(opts = {}) {\n const olen = opts.dkLen === undefined ? 64 : opts.dkLen;\n super(128, olen);\n checkBlake2Opts(olen, opts, 64, 16, 16);\n let { key, personalization, salt } = opts;\n let keyLength = 0;\n if (key !== undefined) {\n abytes(key, undefined, 'key');\n keyLength = key.length;\n }\n // RFC 7693 §2.5: xor `p[0] = 0x0101kknn` into the low 32 bits of `h[0]`;\n // the high 32 bits stay at `IV[0]`.\n this.v0l ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);\n if (salt !== undefined) {\n abytes(salt, undefined, 'salt');\n const slt = u32(salt);\n this.v4l ^= swap8IfBE(slt[0]);\n this.v4h ^= swap8IfBE(slt[1]);\n this.v5l ^= swap8IfBE(slt[2]);\n this.v5h ^= swap8IfBE(slt[3]);\n }\n if (personalization !== undefined) {\n abytes(personalization, undefined, 'personalization');\n const pers = u32(personalization);\n this.v6l ^= swap8IfBE(pers[0]);\n this.v6h ^= swap8IfBE(pers[1]);\n this.v7l ^= swap8IfBE(pers[2]);\n this.v7h ^= swap8IfBE(pers[3]);\n }\n if (key !== undefined) {\n // Pad to blockLen and update\n const tmp = new Uint8Array(this.blockLen);\n tmp.set(key);\n this.update(tmp);\n }\n }\n // prettier-ignore\n get() {\n let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this;\n return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h];\n }\n // prettier-ignore\n set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) {\n this.v0l = v0l | 0;\n this.v0h = v0h | 0;\n this.v1l = v1l | 0;\n this.v1h = v1h | 0;\n this.v2l = v2l | 0;\n this.v2h = v2h | 0;\n this.v3l = v3l | 0;\n this.v3h = v3h | 0;\n this.v4l = v4l | 0;\n this.v4h = v4h | 0;\n this.v5l = v5l | 0;\n this.v5h = v5h | 0;\n this.v6l = v6l | 0;\n this.v6h = v6h | 0;\n this.v7l = v7l | 0;\n this.v7h = v7h | 0;\n }\n compress(msg, offset, isLast) {\n this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state.\n BBUF.set(B2B_IV, 16); // Second half from IV.\n let { h, l } = u64.fromBig(BigInt(this.length));\n BBUF[24] = B2B_IV[8] ^ l; // Low word of the offset.\n BBUF[25] = B2B_IV[9] ^ h; // High word.\n // Invert all bits for last block\n if (isLast) {\n BBUF[28] = ~BBUF[28];\n BBUF[29] = ~BBUF[29];\n }\n let j = 0;\n const s = BSIGMA;\n // SIGMA selects 64-bit message words; multiply by 2 because `msg` stores\n // each word as [low32, high32].\n for (let i = 0; i < 12; i++) {\n G1b(0, 4, 8, 12, msg, offset + 2 * s[j++]);\n G2b(0, 4, 8, 12, msg, offset + 2 * s[j++]);\n G1b(1, 5, 9, 13, msg, offset + 2 * s[j++]);\n G2b(1, 5, 9, 13, msg, offset + 2 * s[j++]);\n G1b(2, 6, 10, 14, msg, offset + 2 * s[j++]);\n G2b(2, 6, 10, 14, msg, offset + 2 * s[j++]);\n G1b(3, 7, 11, 15, msg, offset + 2 * s[j++]);\n G2b(3, 7, 11, 15, msg, offset + 2 * s[j++]);\n G1b(0, 5, 10, 15, msg, offset + 2 * s[j++]);\n G2b(0, 5, 10, 15, msg, offset + 2 * s[j++]);\n G1b(1, 6, 11, 12, msg, offset + 2 * s[j++]);\n G2b(1, 6, 11, 12, msg, offset + 2 * s[j++]);\n G1b(2, 7, 8, 13, msg, offset + 2 * s[j++]);\n G2b(2, 7, 8, 13, msg, offset + 2 * s[j++]);\n G1b(3, 4, 9, 14, msg, offset + 2 * s[j++]);\n G2b(3, 4, 9, 14, msg, offset + 2 * s[j++]);\n }\n this.v0l ^= BBUF[0] ^ BBUF[16];\n this.v0h ^= BBUF[1] ^ BBUF[17];\n this.v1l ^= BBUF[2] ^ BBUF[18];\n this.v1h ^= BBUF[3] ^ BBUF[19];\n this.v2l ^= BBUF[4] ^ BBUF[20];\n this.v2h ^= BBUF[5] ^ BBUF[21];\n this.v3l ^= BBUF[6] ^ BBUF[22];\n this.v3h ^= BBUF[7] ^ BBUF[23];\n this.v4l ^= BBUF[8] ^ BBUF[24];\n this.v4h ^= BBUF[9] ^ BBUF[25];\n this.v5l ^= BBUF[10] ^ BBUF[26];\n this.v5h ^= BBUF[11] ^ BBUF[27];\n this.v6l ^= BBUF[12] ^ BBUF[28];\n this.v6h ^= BBUF[13] ^ BBUF[29];\n this.v7l ^= BBUF[14] ^ BBUF[30];\n this.v7h ^= BBUF[15] ^ BBUF[31];\n clean(BBUF);\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer32);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\n/**\n * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS.\n * @param msg - message that would be hashed\n * @param opts - Optional output, MAC, salt, and personalization settings.\n * `dkLen` must be 1..64 bytes; `salt` and `personalization`, if present,\n * must be 16 bytes each. See {@link Blake2Opts}.\n * @returns Digest bytes.\n * @example\n * Hash a message with Blake2b.\n * ```ts\n * blake2b(new Uint8Array([97, 98, 99]));\n * ```\n */\nexport const blake2b = /* @__PURE__ */ createHasher((opts) => new _BLAKE2b(opts));\n/**\n * BLAKE2-compress core method.\n * Runs only the round function over a caller-supplied local vector; callers initialize `v0..v15`\n * and apply the final `h[i] ^= v[i] ^ v[i + 8]` fold themselves.\n * @param s - flattened sigma schedule bytes\n * @param offset - starting word offset inside `msg`, not a byte offset\n * @param msg - message words\n * @param rounds - round count to execute\n * @param v0 - state word 0\n * @param v1 - state word 1\n * @param v2 - state word 2\n * @param v3 - state word 3\n * @param v4 - state word 4\n * @param v5 - state word 5\n * @param v6 - state word 6\n * @param v7 - state word 7\n * @param v8 - state word 8\n * @param v9 - state word 9\n * @param v10 - state word 10\n * @param v11 - state word 11\n * @param v12 - state word 12\n * @param v13 - state word 13\n * @param v14 - state word 14\n * @param v15 - state word 15\n * @returns Updated compression state words.\n * @example\n * Run the BLAKE2 compression core on zeroed state and message words.\n * ```ts\n * import { compress } from '@noble/hashes/blake2.js';\n * const state = compress(\n * new Uint8Array(16),\n * 0,\n * new Uint32Array(16),\n * 1,\n * 0, 0, 0, 0, 0, 0, 0, 0,\n * 0, 0, 0, 0, 0, 0, 0, 0\n * );\n * state.v0;\n * ```\n */\n// prettier-ignore\nexport function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {\n let j = 0;\n for (let i = 0; i < rounds; i++) {\n ({ a: v0, b: v4, c: v8, d: v12 } = G1s(v0, v4, v8, v12, msg[offset + s[j++]]));\n ({ a: v0, b: v4, c: v8, d: v12 } = G2s(v0, v4, v8, v12, msg[offset + s[j++]]));\n ({ a: v1, b: v5, c: v9, d: v13 } = G1s(v1, v5, v9, v13, msg[offset + s[j++]]));\n ({ a: v1, b: v5, c: v9, d: v13 } = G2s(v1, v5, v9, v13, msg[offset + s[j++]]));\n ({ a: v2, b: v6, c: v10, d: v14 } = G1s(v2, v6, v10, v14, msg[offset + s[j++]]));\n ({ a: v2, b: v6, c: v10, d: v14 } = G2s(v2, v6, v10, v14, msg[offset + s[j++]]));\n ({ a: v3, b: v7, c: v11, d: v15 } = G1s(v3, v7, v11, v15, msg[offset + s[j++]]));\n ({ a: v3, b: v7, c: v11, d: v15 } = G2s(v3, v7, v11, v15, msg[offset + s[j++]]));\n ({ a: v0, b: v5, c: v10, d: v15 } = G1s(v0, v5, v10, v15, msg[offset + s[j++]]));\n ({ a: v0, b: v5, c: v10, d: v15 } = G2s(v0, v5, v10, v15, msg[offset + s[j++]]));\n ({ a: v1, b: v6, c: v11, d: v12 } = G1s(v1, v6, v11, v12, msg[offset + s[j++]]));\n ({ a: v1, b: v6, c: v11, d: v12 } = G2s(v1, v6, v11, v12, msg[offset + s[j++]]));\n ({ a: v2, b: v7, c: v8, d: v13 } = G1s(v2, v7, v8, v13, msg[offset + s[j++]]));\n ({ a: v2, b: v7, c: v8, d: v13 } = G2s(v2, v7, v8, v13, msg[offset + s[j++]]));\n ({ a: v3, b: v4, c: v9, d: v14 } = G1s(v3, v4, v9, v14, msg[offset + s[j++]]));\n ({ a: v3, b: v4, c: v9, d: v14 } = G2s(v3, v4, v9, v14, msg[offset + s[j++]]));\n }\n return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };\n}\n// Blake2s reuses the SHA-256 IV words as-is.\nconst B2S_IV = /* @__PURE__ */ SHA256_IV.slice();\n/** Internal blake2s hash class. */\nexport class _BLAKE2s extends _BLAKE2 {\n // Internal state, same as SHA-256\n v0 = B2S_IV[0] | 0;\n v1 = B2S_IV[1] | 0;\n v2 = B2S_IV[2] | 0;\n v3 = B2S_IV[3] | 0;\n v4 = B2S_IV[4] | 0;\n v5 = B2S_IV[5] | 0;\n v6 = B2S_IV[6] | 0;\n v7 = B2S_IV[7] | 0;\n constructor(opts = {}) {\n const olen = opts.dkLen === undefined ? 32 : opts.dkLen;\n super(64, olen);\n checkBlake2Opts(olen, opts, 32, 8, 8);\n let { key, personalization, salt } = opts;\n let keyLength = 0;\n if (key !== undefined) {\n abytes(key, undefined, 'key');\n keyLength = key.length;\n }\n // RFC 7693 §2.5: xor `p[0] = 0x0101kknn` directly into `h[0]`, since\n // BLAKE2s stores each state word as one `u32`.\n this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);\n if (salt !== undefined) {\n abytes(salt, undefined, 'salt');\n const slt = u32(salt);\n this.v4 ^= swap8IfBE(slt[0]);\n this.v5 ^= swap8IfBE(slt[1]);\n }\n if (personalization !== undefined) {\n abytes(personalization, undefined, 'personalization');\n const pers = u32(personalization);\n this.v6 ^= swap8IfBE(pers[0]);\n this.v7 ^= swap8IfBE(pers[1]);\n }\n if (key !== undefined) {\n // Pad to blockLen and update\n const tmp = new Uint8Array(this.blockLen);\n tmp.set(key);\n this.update(tmp);\n }\n }\n get() {\n const { v0, v1, v2, v3, v4, v5, v6, v7 } = this;\n return [v0, v1, v2, v3, v4, v5, v6, v7];\n }\n // prettier-ignore\n set(v0, v1, v2, v3, v4, v5, v6, v7) {\n this.v0 = v0 | 0;\n this.v1 = v1 | 0;\n this.v2 = v2 | 0;\n this.v3 = v3 | 0;\n this.v4 = v4 | 0;\n this.v5 = v5 | 0;\n this.v6 = v6 | 0;\n this.v7 = v7 | 0;\n }\n compress(msg, offset, isLast) {\n const { h, l } = u64.fromBig(BigInt(this.length));\n // Seed v8..v15 from the IV, xor the low/high 32-bit byte counter into\n // v12/v13, and invert v14 on the final block.\n // prettier-ignore\n const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(BSIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, B2S_IV[0], B2S_IV[1], B2S_IV[2], B2S_IV[3], l ^ B2S_IV[4], h ^ B2S_IV[5], isLast ? ~B2S_IV[6] : B2S_IV[6], B2S_IV[7]);\n this.v0 ^= v0 ^ v8;\n this.v1 ^= v1 ^ v9;\n this.v2 ^= v2 ^ v10;\n this.v3 ^= v3 ^ v11;\n this.v4 ^= v4 ^ v12;\n this.v5 ^= v5 ^ v13;\n this.v6 ^= v6 ^ v14;\n this.v7 ^= v7 ^ v15;\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer32);\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\n/**\n * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS.\n * @param msg - message that would be hashed\n * @param opts - Optional output, MAC, salt, and personalization settings.\n * `dkLen` must be 1..32 bytes; `salt` and `personalization`, if present,\n * must be 8 bytes each. See {@link Blake2Opts}.\n * @returns Digest bytes.\n * @example\n * Hash a message with Blake2s.\n * ```ts\n * blake2s(new Uint8Array([97, 98, 99]));\n * ```\n */\nexport const blake2s = /* @__PURE__ */ createHasher((opts) => new _BLAKE2s(opts));\n//# sourceMappingURL=blake2.js.map","import { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { toHex } from \"@mysten/bcs\";\nimport { blake2b } from \"@noble/hashes/blake2.js\";\n\n//#region src/utils/dynamic-fields.ts\nfunction deriveDynamicFieldID(parentId, typeTag, key) {\n\tconst address = suiBcs.Address.serialize(parentId).toBytes();\n\tconst tag = suiBcs.TypeTag.serialize(typeTag).toBytes();\n\tconst keyLength = suiBcs.u64().serialize(key.length).toBytes();\n\tconst hash = blake2b.create({ dkLen: 32 });\n\thash.update(new Uint8Array([240]));\n\thash.update(address);\n\thash.update(keyLength);\n\thash.update(key);\n\thash.update(tag);\n\treturn `0x${toHex(hash.digest().slice(0, 32))}`;\n}\n\n//#endregion\nexport { deriveDynamicFieldID };\n//# sourceMappingURL=dynamic-fields.mjs.map","//#region src/storages/globalConfig/globalConfig.ts\nlet store$4;\nconst DEFAULT_CONFIG = {\n\tlang: void 0,\n\tmessage: void 0,\n\tabortEarly: void 0,\n\tabortPipeEarly: void 0\n};\n/**\n* Sets the global configuration.\n*\n* @param config The configuration.\n*/\nfunction setGlobalConfig(config$1) {\n\tstore$4 = {\n\t\t...store$4,\n\t\t...config$1\n\t};\n}\n/**\n* Returns the global configuration.\n*\n* @param config The config to merge.\n*\n* @returns The configuration.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getGlobalConfig(config$1) {\n\tif (!config$1 && !store$4) return DEFAULT_CONFIG;\n\treturn {\n\t\tlang: config$1?.lang ?? store$4?.lang,\n\t\tmessage: config$1?.message,\n\t\tabortEarly: config$1?.abortEarly ?? store$4?.abortEarly,\n\t\tabortPipeEarly: config$1?.abortPipeEarly ?? store$4?.abortPipeEarly\n\t};\n}\n/**\n* Deletes the global configuration.\n*/\nfunction deleteGlobalConfig() {\n\tstore$4 = void 0;\n}\n\n//#endregion\n//#region src/storages/globalMessage/globalMessage.ts\nlet store$3;\n/**\n* Sets a global error message.\n*\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setGlobalMessage(message$1, lang) {\n\tif (!store$3) store$3 = /* @__PURE__ */ new Map();\n\tstore$3.set(lang, message$1);\n}\n/**\n* Returns a global error message.\n*\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getGlobalMessage(lang) {\n\treturn store$3?.get(lang);\n}\n/**\n* Deletes a global error message.\n*\n* @param lang The language of the message.\n*/\nfunction deleteGlobalMessage(lang) {\n\tstore$3?.delete(lang);\n}\n\n//#endregion\n//#region src/storages/schemaMessage/schemaMessage.ts\nlet store$2;\n/**\n* Sets a schema error message.\n*\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setSchemaMessage(message$1, lang) {\n\tif (!store$2) store$2 = /* @__PURE__ */ new Map();\n\tstore$2.set(lang, message$1);\n}\n/**\n* Returns a schema error message.\n*\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getSchemaMessage(lang) {\n\treturn store$2?.get(lang);\n}\n/**\n* Deletes a schema error message.\n*\n* @param lang The language of the message.\n*/\nfunction deleteSchemaMessage(lang) {\n\tstore$2?.delete(lang);\n}\n\n//#endregion\n//#region src/storages/specificMessage/specificMessage.ts\nlet store$1;\n/**\n* Sets a specific error message.\n*\n* @param reference The identifier reference.\n* @param message The error message.\n* @param lang The language of the message.\n*/\nfunction setSpecificMessage(reference, message$1, lang) {\n\tif (!store$1) store$1 = /* @__PURE__ */ new Map();\n\tif (!store$1.get(reference)) store$1.set(reference, /* @__PURE__ */ new Map());\n\tstore$1.get(reference).set(lang, message$1);\n}\n/**\n* Returns a specific error message.\n*\n* @param reference The identifier reference.\n* @param lang The language of the message.\n*\n* @returns The error message.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getSpecificMessage(reference, lang) {\n\treturn store$1?.get(reference)?.get(lang);\n}\n/**\n* Deletes a specific error message.\n*\n* @param reference The identifier reference.\n* @param lang The language of the message.\n*/\nfunction deleteSpecificMessage(reference, lang) {\n\tstore$1?.get(reference)?.delete(lang);\n}\n\n//#endregion\n//#region src/utils/_stringify/_stringify.ts\n/**\n* Stringifies an unknown input to a literal or type string.\n*\n* @param input The unknown input.\n*\n* @returns A literal or type string.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _stringify(input) {\n\tconst type = typeof input;\n\tif (type === \"string\") return `\"${input}\"`;\n\tif (type === \"number\" || type === \"bigint\" || type === \"boolean\") return `${input}`;\n\tif (type === \"object\" || type === \"function\") return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n\treturn type;\n}\n\n//#endregion\n//#region src/utils/_addIssue/_addIssue.ts\n/**\n* Adds an issue to the dataset.\n*\n* @param context The issue context.\n* @param label The issue label.\n* @param dataset The input dataset.\n* @param config The configuration.\n* @param other The optional props.\n*\n* @internal\n*/\nfunction _addIssue(context, label, dataset, config$1, other) {\n\tconst input = other && \"input\" in other ? other.input : dataset.value;\n\tconst expected = other?.expected ?? context.expects ?? null;\n\tconst received = other?.received ?? /* @__PURE__ */ _stringify(input);\n\tconst issue = {\n\t\tkind: context.kind,\n\t\ttype: context.type,\n\t\tinput,\n\t\texpected,\n\t\treceived,\n\t\tmessage: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n\t\trequirement: context.requirement,\n\t\tpath: other?.path,\n\t\tissues: other?.issues,\n\t\tlang: config$1.lang,\n\t\tabortEarly: config$1.abortEarly,\n\t\tabortPipeEarly: config$1.abortPipeEarly\n\t};\n\tconst isSchema = context.kind === \"schema\";\n\tconst message$1 = other?.message ?? context.message ?? /* @__PURE__ */ getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? /* @__PURE__ */ getSchemaMessage(issue.lang) : null) ?? config$1.message ?? /* @__PURE__ */ getGlobalMessage(issue.lang);\n\tif (message$1 !== void 0) issue.message = typeof message$1 === \"function\" ? message$1(issue) : message$1;\n\tif (isSchema) dataset.typed = false;\n\tif (dataset.issues) dataset.issues.push(issue);\n\telse dataset.issues = [issue];\n}\n\n//#endregion\n//#region src/utils/_cloneDataset/_cloneDataset.ts\n/**\n* Creates a shallow copy of a dataset.\n*\n* Hint: The `value` is copied by reference, but the `issues` array is cloned\n* to avoid reusing mutable dataset state across multiple runs. Mutating a\n* returned object or array value can therefore affect later cache hits that\n* reuse the same cached output.\n*\n* @param dataset The output dataset.\n*\n* @returns The copied output dataset.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _cloneDataset(dataset) {\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tvalue: dataset.value,\n\t\tissues: dataset.issues && [...dataset.issues]\n\t};\n}\n\n//#endregion\n//#region src/utils/_formatCase/_formatCase.ts\n/**\n* Splits a string into lowercase words and rejoins them with the given\n* separator and capitalization rules.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries. Whether the first or subsequent words are\n* capitalized is controlled by `capFirst` and `capRest`.\n*\n* Hint: Implemented in a single pass that emits directly to the result\n* string to avoid an intermediate `string[]` allocation. ASCII chars are\n* classified via char codes to skip `.toLowerCase()` and `.toUpperCase()`\n* method calls in the common case.\n*\n* Hint: Digits are treated as a separate character class, so `item2Name`\n* yields `item2` and `name` rather than `item`, `2` and `name`.\n*\n* @param input The input string.\n* @param separator The string inserted between words.\n* @param capFirst Whether to capitalize the first word.\n* @param capRest Whether to capitalize subsequent words.\n*\n* @returns The formatted string.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _formatCase(input, separator, capFirst, capRest) {\n\tlet result = \"\";\n\tlet firstWord = true;\n\tlet start = 0;\n\tlet prev = 0;\n\tlet prevPrev = 0;\n\tconst flush = (end) => {\n\t\tif (end > start) {\n\t\t\tlet word = input.slice(start, end).toLowerCase();\n\t\t\tif (firstWord ? capFirst : capRest) {\n\t\t\t\tconst firstCode = word.charCodeAt(0);\n\t\t\t\tif (firstCode >= 97 && firstCode <= 122) word = String.fromCharCode(firstCode - 32) + word.slice(1);\n\t\t\t\telse {\n\t\t\t\t\tconst charLen = firstCode >= 55296 && firstCode <= 56319 ? 2 : 1;\n\t\t\t\t\tword = word.slice(0, charLen).toUpperCase() + word.slice(charLen);\n\t\t\t\t}\n\t\t\t}\n\t\t\tresult += firstWord ? word : separator + word;\n\t\t\tfirstWord = false;\n\t\t}\n\t};\n\tfor (let index = 0; index < input.length; index++) {\n\t\tconst code = input.charCodeAt(index);\n\t\tlet type;\n\t\tif (code === 32 || code === 9 || code === 10 || code === 11 || code === 12 || code === 13 || code === 45 || code === 95) {\n\t\t\tflush(index);\n\t\t\tstart = index + 1;\n\t\t\ttype = 0;\n\t\t} else if (code < 128) type = code >= 65 && code <= 90 ? 1 : code >= 97 && code <= 122 ? 2 : 3;\n\t\telse {\n\t\t\tconst char = input[index];\n\t\t\tconst charLower = char.toLowerCase();\n\t\t\ttype = charLower === char.toUpperCase() ? 3 : char === charLower ? 2 : 1;\n\t\t}\n\t\tif (type === 1 && (prev === 2 || prev === 3) && index > start) {\n\t\t\tflush(index);\n\t\t\tstart = index;\n\t\t} else if (type === 2 && prev === 1 && prevPrev === 1 && index - 1 > start) {\n\t\t\tflush(index - 1);\n\t\t\tstart = index - 1;\n\t\t}\n\t\tprevPrev = prev;\n\t\tprev = type;\n\t}\n\tflush(input.length);\n\treturn result;\n}\n\n//#endregion\n//#region src/utils/_getByteCount/_getByteCount.ts\nlet textEncoder;\n/**\n* Returns the byte count of the input.\n*\n* @param input The input to be measured.\n*\n* @returns The byte count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getByteCount(input) {\n\tif (!textEncoder) textEncoder = new TextEncoder();\n\treturn textEncoder.encode(input).length;\n}\n\n//#endregion\n//#region src/utils/_getGraphemeCount/_getGraphemeCount.ts\nlet segmenter;\n/**\n* Returns the grapheme count of the input.\n*\n* @param input The input to be measured.\n*\n* @returns The grapheme count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getGraphemeCount(input) {\n\tif (!segmenter) segmenter = new Intl.Segmenter();\n\tconst segments = segmenter.segment(input);\n\tlet count = 0;\n\tfor (const _ of segments) count++;\n\treturn count;\n}\n\n//#endregion\n//#region src/utils/_getLastMetadata/_getLastMetadata.ts\n/**\n* Returns the last top-level value of a given metadata type from a schema\n* using a breadth-first search that starts with the last item in the pipeline.\n*\n* @param schema The schema to search.\n* @param type The metadata type.\n*\n* @returns The value, if any.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getLastMetadata(schema, type) {\n\tif (\"pipe\" in schema) {\n\t\tconst nestedSchemas = [];\n\t\tfor (let index = schema.pipe.length - 1; index >= 0; index--) {\n\t\t\tconst item = schema.pipe[index];\n\t\t\tif (item.kind === \"schema\" && \"pipe\" in item) nestedSchemas.push(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === type) return item[type];\n\t\t}\n\t\tfor (const nestedSchema of nestedSchemas) {\n\t\t\tconst result = /* @__PURE__ */ _getLastMetadata(nestedSchema, type);\n\t\t\tif (result !== void 0) return result;\n\t\t}\n\t}\n}\n\n//#endregion\n//#region src/utils/_getStandardProps/_getStandardProps.ts\nconst _standardCache = /* @__PURE__ */ new WeakMap();\n/**\n* Returns the Standard Schema properties.\n*\n* @param context The schema context.\n*\n* @returns The Standard Schema properties.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getStandardProps(context) {\n\tlet cached = _standardCache.get(context);\n\tif (!cached) {\n\t\tcached = {\n\t\t\tversion: 1,\n\t\t\tvendor: \"valibot\",\n\t\t\tvalidate(value$1) {\n\t\t\t\treturn context[\"~run\"]({ value: value$1 }, /* @__PURE__ */ getGlobalConfig());\n\t\t\t}\n\t\t};\n\t\t_standardCache.set(context, cached);\n\t}\n\treturn cached;\n}\n\n//#endregion\n//#region src/utils/_getWordCount/_getWordCount.ts\nlet store;\n/**\n* Returns the word count of the input.\n*\n* @param locales The locales to be used.\n* @param input The input to be measured.\n*\n* @returns The word count.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _getWordCount(locales, input) {\n\tif (!store) store = /* @__PURE__ */ new Map();\n\tif (!store.get(locales)) store.set(locales, new Intl.Segmenter(locales, { granularity: \"word\" }));\n\tconst segments = store.get(locales).segment(input);\n\tlet count = 0;\n\tfor (const segment of segments) if (segment.isWordLike) count++;\n\treturn count;\n}\n\n//#endregion\n//#region src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\n/**\n* Non-digit regex.\n*/\nconst NON_DIGIT_REGEX = /\\D/gu;\n/**\n* Checks whether a string with numbers corresponds to the luhn algorithm.\n*\n* @param input The input to be checked.\n*\n* @returns Whether input is valid.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isLuhnAlgo(input) {\n\tconst number$1 = input.replace(NON_DIGIT_REGEX, \"\");\n\tlet length$1 = number$1.length;\n\tlet bit = 1;\n\tlet sum = 0;\n\twhile (length$1) {\n\t\tconst value$1 = +number$1[--length$1];\n\t\tbit ^= 1;\n\t\tsum += bit ? [\n\t\t\t0,\n\t\t\t2,\n\t\t\t4,\n\t\t\t6,\n\t\t\t8,\n\t\t\t1,\n\t\t\t3,\n\t\t\t5,\n\t\t\t7,\n\t\t\t9\n\t\t][value$1] : value$1;\n\t}\n\treturn sum % 10 === 0;\n}\n\n//#endregion\n//#region src/utils/_isValidObjectKey/_isValidObjectKey.ts\n/**\n* Disallows inherited object properties and prevents object prototype\n* pollution by disallowing certain keys.\n*\n* @param object The object to check.\n* @param key The key to check.\n*\n* @returns Whether the key is allowed.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isValidObjectKey(object$1, key) {\n\treturn Object.prototype.hasOwnProperty.call(object$1, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n//#endregion\n//#region src/utils/_joinExpects/_joinExpects.ts\n/**\n* Joins multiple `expects` values with the given separator.\n*\n* @param values The `expects` values.\n* @param separator The separator.\n*\n* @returns The joined `expects` property.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _joinExpects(values$1, separator) {\n\tconst list = [...new Set(values$1)];\n\tif (list.length > 1) return `(${list.join(` ${separator} `)})`;\n\treturn list[0] ?? \"never\";\n}\n\n//#endregion\n//#region src/utils/entriesFromList/entriesFromList.ts\n/**\n* Creates an object entries definition from a list of keys and a schema.\n*\n* @param list A list of keys.\n* @param schema The schema of the keys.\n*\n* @returns The object entries.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction entriesFromList(list, schema) {\n\tconst entries$1 = {};\n\tfor (const key of list) entries$1[key] = schema;\n\treturn entries$1;\n}\n\n//#endregion\n//#region src/utils/entriesFromObjects/entriesFromObjects.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction entriesFromObjects(schemas) {\n\tconst entries$1 = {};\n\tfor (const schema of schemas) Object.assign(entries$1, schema.entries);\n\treturn entries$1;\n}\n\n//#endregion\n//#region src/utils/getDotPath/getDotPath.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDotPath(issue) {\n\tif (issue.path) {\n\t\tlet key = \"\";\n\t\tfor (const item of issue.path) if (typeof item.key === \"string\" || typeof item.key === \"number\") if (key) key += `.${item.key}`;\n\t\telse key += item.key;\n\t\telse return null;\n\t\treturn key;\n\t}\n\treturn null;\n}\n\n//#endregion\n//#region src/utils/isOfKind/isOfKind.ts\n/**\n* A generic type guard to check the kind of an object.\n*\n* @param kind The kind to check for.\n* @param object The object to check.\n*\n* @returns Whether it matches.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isOfKind(kind, object$1) {\n\treturn object$1.kind === kind;\n}\n\n//#endregion\n//#region src/utils/isOfType/isOfType.ts\n/**\n* A generic type guard to check the type of an object.\n*\n* @param type The type to check for.\n* @param object The object to check.\n*\n* @returns Whether it matches.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isOfType(type, object$1) {\n\treturn object$1.type === type;\n}\n\n//#endregion\n//#region src/utils/isValiError/isValiError.ts\n/**\n* A type guard to check if an error is a ValiError.\n*\n* @param error The error to check.\n*\n* @returns Whether its a ValiError.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction isValiError(error) {\n\treturn error instanceof ValiError;\n}\n\n//#endregion\n//#region src/utils/ValiError/ValiError.ts\n/**\n* A Valibot error with useful information.\n*/\nvar ValiError = class extends Error {\n\t/**\n\t* Creates a Valibot error with useful information.\n\t*\n\t* @param issues The error issues.\n\t*/\n\tconstructor(issues) {\n\t\tsuper(issues[0].message);\n\t\tthis.name = \"ValiError\";\n\t\tthis.issues = issues;\n\t}\n};\n\n//#endregion\n//#region src/actions/args/args.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction args(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"args\",\n\t\treference: args,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = (...args_) => {\n\t\t\t\tconst argsDataset = this.schema[\"~run\"]({ value: args_ }, config$1);\n\t\t\t\tif (argsDataset.issues) throw new ValiError(argsDataset.issues);\n\t\t\t\treturn func(...argsDataset.value);\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/args/argsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction argsAsync(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"args\",\n\t\treference: argsAsync,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = async (...args$1) => {\n\t\t\t\tconst argsDataset = await schema[\"~run\"]({ value: args$1 }, config$1);\n\t\t\t\tif (argsDataset.issues) throw new ValiError(argsDataset.issues);\n\t\t\t\treturn func(...argsDataset.value);\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/await/awaitAsync.ts\n/**\n* Creates an await transformation action.\n*\n* @returns An await action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction awaitAsync() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"await\",\n\t\treference: awaitAsync,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset) {\n\t\t\tdataset.value = await dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/regex.ts\n/**\n* [Base64](https://en.wikipedia.org/wiki/Base64) regex.\n*/\nconst BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\n/**\n* [BIC](https://en.wikipedia.org/wiki/ISO_9362) regex.\n*/\nconst BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\n/**\n* [Cuid2](https://github.com/paralleldrive/cuid2) regex.\n*/\nconst CUID2_REGEX = /^[a-z][\\da-z]*$/u;\n/**\n* [Decimal](https://en.wikipedia.org/wiki/Decimal) regex.\n*/\nconst DECIMAL_REGEX = /^[+-]?(?:\\d*\\.)?\\d+$/u;\n/**\n* [Digits](https://en.wikipedia.org/wiki/Numerical_digit) regex.\n*/\nconst DIGITS_REGEX = /^\\d+$/u;\n/**\n* [Domain name](https://en.wikipedia.org/wiki/Domain_name) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n* ASCII-only validation. Internationalized domain names (IDNs) are not\n* supported, including Punycode-encoded labels.\n*/\nconst DOMAIN_REGEX = /^(?=.{1,253}$)(?:(?![Xx][Nn]--)[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+[A-Za-z]{2,63}$/u;\n/**\n* [Email address](https://en.wikipedia.org/wiki/Email_address) regex.\n*/\nconst EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\n/**\n* Emoji regex from [emoji-regex-xs](https://github.com/slevithan/emoji-regex-xs) v1.0.0 (MIT license).\n*\n* Hint: We decided against the newer `/^\\p{RGI_Emoji}+$/v` regex because it is\n* not supported in older runtimes and does not match all emoji.\n*/\nconst EMOJI_REGEX = /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation}))*)+$/u;\n/**\n* [Hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-fA-F]+$/u;\n/**\n* [Hex color](https://en.wikipedia.org/wiki/Web_colors#Hex_triplet) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst HEX_COLOR_REGEX = /^#(?:[\\da-fA-F]{3,4}|[\\da-fA-F]{6}|[\\da-fA-F]{8})$/u;\n/**\n* [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity) regex.\n*/\nconst IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\n/**\n* [IPv4](https://en.wikipedia.org/wiki/IPv4) regex.\n*/\nconst IPV4_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u;\n/**\n* [IPv6](https://en.wikipedia.org/wiki/IPv6) regex.\n*/\nconst IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\n/**\n* [IP](https://en.wikipedia.org/wiki/IP_address) regex.\n*/\nconst IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date regex.\n*/\nconst ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time regex.\n*/\nconst ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with seconds regex.\n*/\nconst ISO_DATE_TIME_SECOND_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time regex.\n*/\nconst ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) time with seconds regex.\n*/\nconst ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp regex. Allows a\n* space as a date/time separator and an optional space before the UTC offset.\n*/\nconst ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])[T ](?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z| ?[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\n/**\n* [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) week regex.\n*/\nconst ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\n/**\n* [JWS compact serialization](https://datatracker.ietf.org/doc/html/rfc7515#section-3.1)\n* regex.\n*\n* Hint: Empty payload and signature segments are allowed because the\n* Base64URL-encoded representation of an empty octet sequence is an empty\n* string.\n*/\nconst JWS_COMPACT_REGEX = /^(?:[\\w-]{2,3}|(?:[\\w-]{4})+(?:[\\w-]{2,3})?)\\.(?:[\\w-]{2,3}|(?:[\\w-]{4})+(?:[\\w-]{2,3})?)?\\.(?:[\\w-]{2,3}|(?:[\\w-]{4})+(?:[\\w-]{2,3})?)?$/u;\n/**\n* [ISRC](https://en.wikipedia.org/wiki/International_Standard_Recording_Code) regex.\n*/\nconst ISRC_REGEX = /^(?:[A-Z]{2}[A-Z\\d]{3}\\d{7}|[A-Z]{2}-[A-Z\\d]{3}-\\d{2}-\\d{5})$/u;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) 48 bit regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst MAC48_REGEX = /^(?:[\\da-fA-F]{2}:){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){2}[\\da-fA-F]{4}$/u;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) 64 bit regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst MAC64_REGEX = /^(?:[\\da-fA-F]{2}:){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){3}[\\da-fA-F]{4}$|^(?:[\\da-fA-F]{4}:){3}[\\da-fA-F]{4}$/u;\n/**\n* [MAC](https://en.wikipedia.org/wiki/MAC_address) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst MAC_REGEX = /^(?:[\\da-fA-F]{2}:){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){5}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){2}[\\da-fA-F]{4}$|^(?:[\\da-fA-F]{2}:){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{2}-){7}[\\da-fA-F]{2}$|^(?:[\\da-fA-F]{4}\\.){3}[\\da-fA-F]{4}$|^(?:[\\da-fA-F]{4}:){3}[\\da-fA-F]{4}$/u;\n/**\n* [Nano ID](https://github.com/ai/nanoid) regex.\n*/\nconst NANO_ID_REGEX = /^[\\w-]+$/u;\n/**\n* [Octal](https://en.wikipedia.org/wiki/Octal) regex.\n*/\nconst OCTAL_REGEX = /^(?:0o)?[0-7]+$/u;\n/**\n* [RFC 5322 email address](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1) regex.\n*\n* Hint: This regex was taken from the [HTML Living Standard Specification](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) and does not perfectly represent RFC 5322.\n*/\nconst RFC_EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/**\n* [Slug](https://en.wikipedia.org/wiki/Clean_URL#Slug) regex.\n*/\nconst SLUG_REGEX = /^[\\da-z]+(?:[-_][\\da-z]+)*$/u;\n/**\n* [ULID](https://github.com/ulid/spec) regex.\n*\n* Hint: We decided against the `i` flag for better JSON Schema compatibility.\n*/\nconst ULID_REGEX = /^[\\da-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$/u;\n/**\n* [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) regex.\n*/\nconst UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n//#endregion\n//#region src/actions/base64/base64.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction base64(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"base64\",\n\t\treference: base64,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: BASE64_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Base64\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/bic/bic.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bic(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"bic\",\n\t\treference: bic,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: BIC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"BIC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/brand/brand.ts\n/**\n* Creates a brand transformation action.\n*\n* @param name The brand name.\n*\n* @returns A brand action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction brand(name) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"brand\",\n\t\treference: brand,\n\t\tasync: false,\n\t\tname,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/bytes/bytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"bytes\",\n\t\treference: bytes,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 !== this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/check/check.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction check(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check\",\n\t\treference: check,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/check/checkAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkAsync(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check\",\n\t\treference: checkAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !await this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/checkItems/checkItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkItems(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check_items\",\n\t\treference: checkItems,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) for (let index = 0; index < dataset.value.length; index++) {\n\t\t\t\tconst item = dataset.value[index];\n\t\t\t\tif (!this.requirement(item, index, dataset.value)) _addIssue(this, \"item\", dataset, config$1, {\n\t\t\t\t\tinput: item,\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput: dataset.value,\n\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\tvalue: item\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/checkItems/checkItemsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction checkItemsAsync(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"check_items\",\n\t\treference: checkItemsAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst requirementResults = await Promise.all(dataset.value.map(this.requirement));\n\t\t\t\tfor (let index = 0; index < dataset.value.length; index++) if (!requirementResults[index]) {\n\t\t\t\t\tconst item = dataset.value[index];\n\t\t\t\t\t_addIssue(this, \"item\", dataset, config$1, {\n\t\t\t\t\t\tinput: item,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: dataset.value,\n\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\tvalue: item\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/creditCard/creditCard.ts\n/**\n* Credit card regex.\n*/\nconst CREDIT_CARD_REGEX = /^(?:\\d{13,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\n/**\n* Sanitize regex.\n*/\nconst SANITIZE_REGEX = /[- ]/gu;\n/**\n* Provider regex list.\n*/\nconst PROVIDER_REGEX_LIST = [\n\t/^3[47]\\d{13}$/u,\n\t/^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n\t/^6(?:011|5\\d{2})\\d{12,15}$/u,\n\t/^(?:2131|1800|35\\d{3})\\d{11}$/u,\n\t/^(?:5[1-5]\\d{2}|222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n\t/^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n\t/^4\\d{12}(?:\\d{3,6})?$/u\n];\n/* @__NO_SIDE_EFFECTS__ */\nfunction creditCard(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"credit_card\",\n\t\treference: creditCard,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\tlet sanitized;\n\t\t\treturn CREDIT_CARD_REGEX.test(input) && (sanitized = input.replace(SANITIZE_REGEX, \"\")) && PROVIDER_REGEX_LIST.some((regex$1) => regex$1.test(sanitized)) && /* @__PURE__ */ _isLuhnAlgo(sanitized);\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"credit card\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/cuid2/cuid2.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction cuid2(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"cuid2\",\n\t\treference: cuid2,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: CUID2_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Cuid2\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/decimal/decimal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction decimal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"decimal\",\n\t\treference: decimal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: DECIMAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"decimal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/description/description.ts\n/**\n* Creates a description metadata action.\n*\n* @param description_ The description text.\n*\n* @returns A description action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction description(description_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"description\",\n\t\treference: description,\n\t\tdescription: description_\n\t};\n}\n\n//#endregion\n//#region src/actions/digits/digits.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction digits(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"digits\",\n\t\treference: digits,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: DIGITS_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"digits\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/domain/domain.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction domain(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"domain\",\n\t\treference: domain,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: DOMAIN_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"domain\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/email/email.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction email(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"email\",\n\t\treference: email,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: EMAIL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"email\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/emoji/emoji.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction emoji(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"emoji\",\n\t\treference: emoji,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: EMOJI_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"emoji\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/empty/empty.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction empty(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"empty\",\n\t\treference: empty,\n\t\tasync: false,\n\t\texpects: \"0\",\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length > 0) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/endsWith/endsWith.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction endsWith(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ends_with\",\n\t\treference: endsWith,\n\t\tasync: false,\n\t\texpects: `\"${requirement}\"`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.endsWith(this.requirement)) _addIssue(this, \"end\", dataset, config$1, { received: `\"${dataset.value.slice(-this.requirement.length)}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/entries/entries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction entries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"entries\",\n\t\treference: entries,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count !== this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/everyItem/everyItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction everyItem(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"every_item\",\n\t\treference: everyItem,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.every(this.requirement)) _addIssue(this, \"item\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/examples/examples.ts\n/**\n* Creates an examples metadata action.\n*\n* @param examples_ The examples.\n*\n* @returns An examples action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction examples(examples_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"examples\",\n\t\treference: examples,\n\t\texamples: examples_\n\t};\n}\n\n//#endregion\n//#region src/actions/excludes/excludes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction excludes(requirement, message$1) {\n\tconst received = /* @__PURE__ */ _stringify(requirement);\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"excludes\",\n\t\treference: excludes,\n\t\tasync: false,\n\t\texpects: `!${received}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.includes(this.requirement)) _addIssue(this, \"content\", dataset, config$1, { received });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/filterItems/filterItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction filterItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"filter_items\",\n\t\treference: filterItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.filter(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/findItem/findItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction findItem(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"find_item\",\n\t\treference: findItem,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.find(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/finite/finite.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction finite(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"finite\",\n\t\treference: finite,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isFinite,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"finite\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/flavor/flavor.ts\n/**\n* Creates a flavor transformation action.\n*\n* @param name The flavor name.\n*\n* @returns A flavor action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction flavor(name) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"flavor\",\n\t\treference: flavor,\n\t\tasync: false,\n\t\tname,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/graphemes/graphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction graphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"graphemes\",\n\t\treference: graphemes,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count !== this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/gtValue/gtValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction gtValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"gt_value\",\n\t\treference: gtValue,\n\t\tasync: false,\n\t\texpects: `>${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value > this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/guard/guard.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction guard(requirement, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"guard\",\n\t\treference: guard,\n\t\tasync: false,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) {\n\t\t\t\t_addIssue(this, \"input\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hash/hash.ts\n/**\n* Hash lengths object.\n*/\nconst HASH_LENGTHS = {\n\tmd4: 32,\n\tmd5: 32,\n\tsha1: 40,\n\tsha256: 64,\n\tsha384: 96,\n\tsha512: 128,\n\tripemd128: 32,\n\tripemd160: 40,\n\ttiger128: 32,\n\ttiger160: 40,\n\ttiger192: 48,\n\tcrc32: 8,\n\tcrc32b: 8,\n\tadler32: 8\n};\n/* @__NO_SIDE_EFFECTS__ */\nfunction hash(types, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hash\",\n\t\treference: hash,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: RegExp(types.map((type) => `^[a-fA-F0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"), \"u\"),\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hash\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hexadecimal/hexadecimal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction hexadecimal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hexadecimal\",\n\t\treference: hexadecimal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: HEXADECIMAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hexadecimal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/hexColor/hexColor.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction hexColor(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"hex_color\",\n\t\treference: hexColor,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: HEX_COLOR_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"hex color\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/imei/imei.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction imei(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"imei\",\n\t\treference: imei,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\treturn IMEI_REGEX.test(input) && /* @__PURE__ */ _isLuhnAlgo(input);\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"IMEI\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/includes/includes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction includes(requirement, message$1) {\n\tconst expects = /* @__PURE__ */ _stringify(requirement);\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"includes\",\n\t\treference: includes,\n\t\tasync: false,\n\t\texpects,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.includes(this.requirement)) _addIssue(this, \"content\", dataset, config$1, { received: `!${expects}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/integer/integer.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction integer(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"integer\",\n\t\treference: integer,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isInteger,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"integer\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ip/ip.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ip(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ip\",\n\t\treference: ip,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IP_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IP\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ipv4/ipv4.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ipv4(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ipv4\",\n\t\treference: ipv4,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IPV4_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IPv4\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ipv6/ipv6.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ipv6(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ipv6\",\n\t\treference: ipv6,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: IPV6_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"IPv6\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isbn/utils/_isIsbn10.ts\n/**\n* [Validates an ISBN-10](https://en.wikipedia.org/wiki/ISBN#ISBN-10_check_digits).\n*\n* @param input The input value.\n*\n* @returns `true` if the input is a valid ISBN-10, `false` otherwise.\n*\n* @internal\n*/\nfunction _isIsbn10(input) {\n\tconst digits$1 = input.split(\"\").map((c) => c === \"X\" ? 10 : parseInt(c));\n\tlet sum = 0;\n\tfor (let i = 0; i < 10; i++) sum += digits$1[i] * (10 - i);\n\treturn sum % 11 === 0;\n}\n\n//#endregion\n//#region src/actions/isbn/utils/_isIsbn13.ts\n/**\n* [Validates an ISBN-13](https://en.wikipedia.org/wiki/ISBN#ISBN-13_check_digit_calculation).\n*\n* @param input The input value.\n*\n* @returns `true` if the input is a valid ISBN-13, `false` otherwise.\n*\n* @internal\n*/\nfunction _isIsbn13(input) {\n\tconst digits$1 = input.split(\"\").map((c) => parseInt(c));\n\tlet sum = 0;\n\tfor (let i = 0; i < 13; i++) sum += digits$1[i] * (i % 2 === 0 ? 1 : 3);\n\treturn sum % 10 === 0;\n}\n\n//#endregion\n//#region src/actions/isbn/isbn.ts\n/**\n* ISBN separator regex.\n*/\nconst ISBN_SEPARATOR_REGEX = /[- ]/gu;\n/**\n* ISBN-10 detection regex.\n*/\nconst ISBN_10_DETECTION_REGEX = /^\\d{9}[\\dX]$/u;\n/**\n* ISBN-13 detection regex.\n*/\nconst ISBN_13_DETECTION_REGEX = /^\\d{13}$/u;\n/* @__NO_SIDE_EFFECTS__ */\nfunction isbn(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"isbn\",\n\t\treference: isbn,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\tconst replacedInput = input.replace(ISBN_SEPARATOR_REGEX, \"\");\n\t\t\tif (ISBN_10_DETECTION_REGEX.test(replacedInput)) return _isIsbn10(replacedInput);\n\t\t\telse if (ISBN_13_DETECTION_REGEX.test(replacedInput)) return _isIsbn13(replacedInput);\n\t\t\treturn false;\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"ISBN\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isrc/isrc.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isrc(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"isrc\",\n\t\treference: isrc,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISRC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"ISRC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDate/isoDate.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDate(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date\",\n\t\treference: isoDate,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDateTime/isoDateTime.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDateTime(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date_time\",\n\t\treference: isoDateTime,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_TIME_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date-time\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoDateTimeSecond/isoDateTimeSecond.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoDateTimeSecond(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_date_time_second\",\n\t\treference: isoDateTimeSecond,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_DATE_TIME_SECOND_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"date-time-second\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTime/isoTime.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTime(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_time\",\n\t\treference: isoTime,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIME_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"time\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTimeSecond/isoTimeSecond.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTimeSecond(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_time_second\",\n\t\treference: isoTimeSecond,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIME_SECOND_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"time-second\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoTimestamp/isoTimestamp.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoTimestamp(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_timestamp\",\n\t\treference: isoTimestamp,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_TIMESTAMP_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"timestamp\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/isoWeek/isoWeek.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction isoWeek(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"iso_week\",\n\t\treference: isoWeek,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ISO_WEEK_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"week\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/jwsCompact/jwsCompact.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction jwsCompact(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"jws_compact\",\n\t\treference: jwsCompact,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: JWS_COMPACT_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"JWS compact\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/length/length.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction length(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"length\",\n\t\treference: length,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length !== this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ltValue/ltValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ltValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"lt_value\",\n\t\treference: ltValue,\n\t\tasync: false,\n\t\texpects: `<${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value < this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac/mac.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac\",\n\t\treference: mac,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac48/mac48.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac48(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac48\",\n\t\treference: mac48,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC48_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"48-bit MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mac64/mac64.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mac64(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mac64\",\n\t\treference: mac64,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: MAC64_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"64-bit MAC\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/mapItems/mapItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mapItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"map_items\",\n\t\treference: mapItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.map(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxBytes/maxBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_bytes\",\n\t\treference: maxBytes,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 > this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxEntries/maxEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_entries\",\n\t\treference: maxEntries,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count > this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxGraphemes/maxGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_graphemes\",\n\t\treference: maxGraphemes,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count > this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxLength/maxLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_length\",\n\t\treference: maxLength,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length > this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxSize/maxSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_size\",\n\t\treference: maxSize,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size > this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxValue/maxValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_value\",\n\t\treference: maxValue,\n\t\tasync: false,\n\t\texpects: `<=${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value <= this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/maxWords/maxWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction maxWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"max_words\",\n\t\treference: maxWords,\n\t\tasync: false,\n\t\texpects: `<=${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count > this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/metadata/metadata.ts\n/**\n* Creates a custom metadata action.\n*\n* @param metadata_ The metadata object.\n*\n* @returns A metadata action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction metadata(metadata_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"metadata\",\n\t\treference: metadata,\n\t\tmetadata: metadata_\n\t};\n}\n\n//#endregion\n//#region src/actions/mimeType/mimeType.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mimeType(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"mime_type\",\n\t\treference: mimeType,\n\t\tasync: false,\n\t\texpects: /* @__PURE__ */ _joinExpects(requirement.map((option) => `\"${option}\"`), \"|\"),\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.includes(dataset.value.type)) _addIssue(this, \"MIME type\", dataset, config$1, { received: `\"${dataset.value.type}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minBytes/minBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_bytes\",\n\t\treference: minBytes,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 < this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minEntries/minEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_entries\",\n\t\treference: minEntries,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count < this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minGraphemes/minGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_graphemes\",\n\t\treference: minGraphemes,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count < this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minLength/minLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_length\",\n\t\treference: minLength,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length < this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minSize/minSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_size\",\n\t\treference: minSize,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size < this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minValue/minValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_value\",\n\t\treference: minValue,\n\t\tasync: false,\n\t\texpects: `>=${requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(dataset.value >= this.requirement)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/minWords/minWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction minWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"min_words\",\n\t\treference: minWords,\n\t\tasync: false,\n\t\texpects: `>=${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count < this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/multipleOf/multipleOf.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction multipleOf(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"multiple_of\",\n\t\treference: multipleOf,\n\t\tasync: false,\n\t\texpects: `%${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value % this.requirement != 0) _addIssue(this, \"multiple\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/nanoid/nanoid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nanoid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"nanoid\",\n\t\treference: nanoid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: NANO_ID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"Nano ID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/nonEmpty/nonEmpty.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonEmpty(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"non_empty\",\n\t\treference: nonEmpty,\n\t\tasync: false,\n\t\texpects: \"!0\",\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length === 0) _addIssue(this, \"length\", dataset, config$1, { received: \"0\" });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/normalize/normalize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction normalize(form) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"normalize\",\n\t\treference: normalize,\n\t\tasync: false,\n\t\tform,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.normalize(this.form);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notBytes/notBytes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notBytes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_bytes\",\n\t\treference: notBytes,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst length$1 = /* @__PURE__ */ _getByteCount(dataset.value);\n\t\t\t\tif (length$1 === this.requirement) _addIssue(this, \"bytes\", dataset, config$1, { received: `${length$1}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notEntries/notEntries.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notEntries(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_entries\",\n\t\treference: notEntries,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!dataset.typed) return dataset;\n\t\t\tconst count = Object.keys(dataset.value).length;\n\t\t\tif (dataset.typed && count === this.requirement) _addIssue(this, \"entries\", dataset, config$1, { received: `${count}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notGraphemes/notGraphemes.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notGraphemes(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_graphemes\",\n\t\treference: notGraphemes,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getGraphemeCount(dataset.value);\n\t\t\t\tif (count === this.requirement) _addIssue(this, \"graphemes\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notLength/notLength.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notLength(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_length\",\n\t\treference: notLength,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.length === this.requirement) _addIssue(this, \"length\", dataset, config$1, { received: `${dataset.value.length}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notSize/notSize.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notSize(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_size\",\n\t\treference: notSize,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size === this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notValue/notValue.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notValue(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_value\",\n\t\treference: notValue,\n\t\tasync: false,\n\t\texpects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${/* @__PURE__ */ _stringify(requirement)}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notValues/notValues.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notValues(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_values\",\n\t\treference: notValues,\n\t\tasync: false,\n\t\texpects: `!${/* @__PURE__ */ _joinExpects(requirement.map((value$1) => value$1 instanceof Date ? value$1.toJSON() : /* @__PURE__ */ _stringify(value$1)), \"|\")}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && this.requirement.some((value$1) => value$1 <= dataset.value && value$1 >= dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/notWords/notWords.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction notWords(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"not_words\",\n\t\treference: notWords,\n\t\tasync: false,\n\t\texpects: `!${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count === this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/octal/octal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction octal(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"octal\",\n\t\treference: octal,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: OCTAL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"octal\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/parseBoolean/parseBoolean.ts\nconst TRUTHY = [\n\ttrue,\n\t1,\n\t\"true\",\n\t\"1\",\n\t\"yes\",\n\t\"y\",\n\t\"on\",\n\t\"enabled\"\n];\nconst FALSY = [\n\tfalse,\n\t0,\n\t\"false\",\n\t\"0\",\n\t\"no\",\n\t\"n\",\n\t\"off\",\n\t\"disabled\"\n];\n/* @__NO_SIDE_EFFECTS__ */\nfunction parseBoolean(config$1, message$1) {\n\tconst normalize$1 = (v) => typeof v === \"string\" ? v.toLowerCase() : v;\n\tconst truthyRaw = config$1?.truthy ?? TRUTHY;\n\tconst falsyRaw = config$1?.falsy ?? FALSY;\n\tconst truthy = config$1?.truthy ? config$1.truthy.map(normalize$1) : TRUTHY;\n\tconst falsy = config$1?.falsy ? config$1.falsy.map(normalize$1) : FALSY;\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"parse_boolean\",\n\t\treference: parseBoolean,\n\t\texpects: /* @__PURE__ */ _joinExpects([...truthyRaw, ...falsyRaw].map(_stringify), \"|\"),\n\t\tconfig: config$1,\n\t\tmessage: message$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\tconst input = normalize$1(dataset.value);\n\t\t\tif (truthy.includes(input)) dataset.value = true;\n\t\t\telse if (falsy.includes(input)) dataset.value = false;\n\t\t\telse {\n\t\t\t\t_addIssue(this, \"boolean\", dataset, config$2);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/parseJson/parseJson.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parseJson(config$1, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"parse_json\",\n\t\treference: parseJson,\n\t\tconfig: config$1,\n\t\tmessage: message$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\ttry {\n\t\t\t\tdataset.value = JSON.parse(dataset.value, this.config?.reviver);\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2, { received: `\"${error.message}\"` });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t} else throw error;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\n/**\n* Checks if a dataset is partially typed.\n*\n* @param dataset The dataset to check.\n* @param paths The paths to check.\n*\n* @returns Whether it is partially typed.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _isPartiallyTyped(dataset, paths) {\n\tif (dataset.issues) for (const path of paths) for (const issue of dataset.issues) {\n\t\tlet typed = false;\n\t\tconst bound = Math.min(path.length, issue.path?.length ?? 0);\n\t\tfor (let index = 0; index < bound; index++) if (path[index] !== issue.path[index].key && (path[index] !== \"$\" || issue.path[index].type !== \"array\")) {\n\t\t\ttyped = true;\n\t\t\tbreak;\n\t\t}\n\t\tif (!typed) return false;\n\t}\n\treturn true;\n}\n\n//#endregion\n//#region src/actions/partialCheck/partialCheck.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialCheck(paths, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"partial_check\",\n\t\treference: partialCheck,\n\t\tasync: false,\n\t\texpects: null,\n\t\tpaths,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif ((dataset.typed || /* @__PURE__ */ _isPartiallyTyped(dataset, paths)) && !this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/partialCheck/partialCheckAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialCheckAsync(paths, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"partial_check\",\n\t\treference: partialCheckAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\tpaths,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif ((dataset.typed || /* @__PURE__ */ _isPartiallyTyped(dataset, paths)) && !await this.requirement(dataset.value)) _addIssue(this, \"input\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawCheck/rawCheck.ts\n/**\n* Creates a raw check validation action.\n*\n* @param action The validation action.\n*\n* @returns A raw check action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawCheck(action) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"raw_check\",\n\t\treference: rawCheck,\n\t\tasync: false,\n\t\texpects: null,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\taction({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info)\n\t\t\t});\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawCheck/rawCheckAsync.ts\n/**\n* Creates a raw check validation action.\n*\n* @param action The validation action.\n*\n* @returns A raw check action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawCheckAsync(action) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"raw_check\",\n\t\treference: rawCheckAsync,\n\t\tasync: true,\n\t\texpects: null,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tawait action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info)\n\t\t\t});\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawTransform/rawTransform.ts\n/**\n* Creates a raw transformation action.\n*\n* @param action The transformation action.\n*\n* @returns A raw transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawTransform(action) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"raw_transform\",\n\t\treference: rawTransform,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst output = action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info),\n\t\t\t\tNEVER: null\n\t\t\t});\n\t\t\tif (dataset.issues) dataset.typed = false;\n\t\t\telse dataset.value = output;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rawTransform/rawTransformAsync.ts\n/**\n* Creates a raw transformation action.\n*\n* @param action The transformation action.\n*\n* @returns A raw transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction rawTransformAsync(action) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"raw_transform\",\n\t\treference: rawTransformAsync,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst output = await action({\n\t\t\t\tdataset,\n\t\t\t\tconfig: config$1,\n\t\t\t\taddIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config$1, info),\n\t\t\t\tNEVER: null\n\t\t\t});\n\t\t\tif (dataset.issues) dataset.typed = false;\n\t\t\telse dataset.value = output;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/readonly/readonly.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction readonly() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"readonly\",\n\t\treference: readonly,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/reduceItems/reduceItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction reduceItems(operation, initial) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"reduce_items\",\n\t\treference: reduceItems,\n\t\tasync: false,\n\t\toperation,\n\t\tinitial,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.reduce(this.operation, this.initial);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/regex/regex.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction regex(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"regex\",\n\t\treference: regex,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"format\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/returns/returns.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction returns(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"returns\",\n\t\treference: returns,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = (...args_) => {\n\t\t\t\tconst returnsDataset = this.schema[\"~run\"]({ value: func(...args_) }, config$1);\n\t\t\t\tif (returnsDataset.issues) throw new ValiError(returnsDataset.issues);\n\t\t\t\treturn returnsDataset.value;\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/returns/returnsAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction returnsAsync(schema) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"returns\",\n\t\treference: returnsAsync,\n\t\tasync: false,\n\t\tschema,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst func = dataset.value;\n\t\t\tdataset.value = async (...args_) => {\n\t\t\t\tconst returnsDataset = await this.schema[\"~run\"]({ value: await func(...args_) }, config$1);\n\t\t\t\tif (returnsDataset.issues) throw new ValiError(returnsDataset.issues);\n\t\t\t\treturn returnsDataset.value;\n\t\t\t};\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/rfcEmail/rfcEmail.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction rfcEmail(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"rfc_email\",\n\t\treference: rfcEmail,\n\t\texpects: null,\n\t\tasync: false,\n\t\trequirement: RFC_EMAIL_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"email\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/safeInteger/safeInteger.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeInteger(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"safe_integer\",\n\t\treference: safeInteger,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: Number.isSafeInteger,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"safe integer\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/size/size.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction size(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"size\",\n\t\treference: size,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && dataset.value.size !== this.requirement) _addIssue(this, \"size\", dataset, config$1, { received: `${dataset.value.size}` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/slug/slug.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction slug(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"slug\",\n\t\treference: slug,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: SLUG_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"slug\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/someItem/someItem.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction someItem(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"some_item\",\n\t\treference: someItem,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.some(this.requirement)) _addIssue(this, \"item\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/sortItems/sortItems.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction sortItems(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"sort_items\",\n\t\treference: sortItems,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.sort(this.operation);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/startsWith/startsWith.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction startsWith(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"starts_with\",\n\t\treference: startsWith,\n\t\tasync: false,\n\t\texpects: `\"${requirement}\"`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !dataset.value.startsWith(this.requirement)) _addIssue(this, \"start\", dataset, config$1, { received: `\"${dataset.value.slice(0, this.requirement.length)}\"` });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/stringifyJson/stringifyJson.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction stringifyJson(config$1, message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"stringify_json\",\n\t\treference: stringifyJson,\n\t\tmessage: message$1,\n\t\tconfig: config$1,\n\t\tasync: false,\n\t\t\"~run\"(dataset, config$2) {\n\t\t\ttry {\n\t\t\t\tconst output = JSON.stringify(dataset.value, this.config?.replacer, this.config?.space);\n\t\t\t\tif (output === void 0) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2);\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t\tdataset.value = output;\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t_addIssue(this, \"JSON\", dataset, config$2, { received: `\"${error.message}\"` });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t} else throw error;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/title/title.ts\n/**\n* Creates a title metadata action.\n*\n* @param title_ The title text.\n*\n* @returns A title action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction title(title_) {\n\treturn {\n\t\tkind: \"metadata\",\n\t\ttype: \"title\",\n\t\treference: title,\n\t\ttitle: title_\n\t};\n}\n\n//#endregion\n//#region src/actions/toBigint/toBigint.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toBigint(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_bigint\",\n\t\treference: toBigint,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = BigInt(dataset.value);\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"bigint\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toBoolean/toBoolean.ts\n/**\n* Creates a to boolean transformation action.\n*\n* @returns A to boolean action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toBoolean() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_boolean\",\n\t\treference: toBoolean,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = Boolean(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toCamelCase/toCamelCase.ts\n/**\n* Creates a to camel case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `parseUrlValue`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `item2Name`).\n*\n* @returns A to camel case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toCamelCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_camel_case\",\n\t\treference: toCamelCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"\", false, true);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toDate/toDate.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toDate(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_date\",\n\t\treference: toDate,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = new Date(dataset.value);\n\t\t\t\tif (isNaN(dataset.value)) {\n\t\t\t\t\t_addIssue(this, \"date\", dataset, config$1, { received: \"\\\"Invalid Date\\\"\" });\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"date\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toKebabCase/toKebabCase.ts\n/**\n* Creates a to kebab case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `parse-url-value`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `item2-name`).\n*\n* @returns A to kebab case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toKebabCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_kebab_case\",\n\t\treference: toKebabCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"-\", false, false);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toLowerCase/toLowerCase.ts\n/**\n* Creates a to lower case transformation action.\n*\n* @returns A to lower case action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toLowerCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_lower_case\",\n\t\treference: toLowerCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.toLowerCase();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toMaxValue/toMaxValue.ts\n/**\n* Creates a to max value transformation action.\n*\n* @param requirement The maximum value.\n*\n* @returns A to max value action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toMaxValue(requirement) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_max_value\",\n\t\treference: toMaxValue,\n\t\tasync: false,\n\t\trequirement,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toMinValue/toMinValue.ts\n/**\n* Creates a to min value transformation action.\n*\n* @param requirement The minimum value.\n*\n* @returns A to min value action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toMinValue(requirement) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_min_value\",\n\t\treference: toMinValue,\n\t\tasync: false,\n\t\trequirement,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toNumber/toNumber.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toNumber(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_number\",\n\t\treference: toNumber,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = Number(dataset.value);\n\t\t\t\tif (isNaN(dataset.value)) {\n\t\t\t\t\t_addIssue(this, \"number\", dataset, config$1);\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"number\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toPascalCase/toPascalCase.ts\n/**\n* Creates a to pascal case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `ParseUrlValue`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `Item2Name`).\n*\n* @returns A to pascal case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toPascalCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_pascal_case\",\n\t\treference: toPascalCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"\", true, true);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toSnakeCase/toSnakeCase.ts\n/**\n* Creates a to snake case transformation action.\n*\n* Words are separated by `_`, `-` and ASCII whitespace, as well as by case\n* and acronym boundaries.\n*\n* Hint: Acronym runs are normalized to lowercase (e.g. `parseURLValue` →\n* `parse_url_value`) and digits stay attached to the preceding token (e.g.\n* `item2Name` → `item2_name`).\n*\n* @returns A to snake case action.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toSnakeCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_snake_case\",\n\t\treference: toSnakeCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = /* @__PURE__ */ _formatCase(dataset.value, \"_\", false, false);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toString/toString.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction toString(message$1) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_string\",\n\t\treference: toString,\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\ttry {\n\t\t\t\tdataset.value = String(dataset.value);\n\t\t\t} catch {\n\t\t\t\t_addIssue(this, \"string\", dataset, config$1);\n\t\t\t\tdataset.typed = false;\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/toUpperCase/toUpperCase.ts\n/**\n* Creates a to upper case transformation action.\n*\n* @returns A to upper case action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction toUpperCase() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"to_upper_case\",\n\t\treference: toUpperCase,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.toUpperCase();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/transform/transform.ts\n/**\n* Creates a custom transformation action.\n*\n* @param operation The transformation operation.\n*\n* @returns A transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction transform(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"transform\",\n\t\treference: transform,\n\t\tasync: false,\n\t\toperation,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = this.operation(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/transform/transformAsync.ts\n/**\n* Creates a custom transformation action.\n*\n* @param operation The transformation operation.\n*\n* @returns A transform action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction transformAsync(operation) {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"transform\",\n\t\treference: transformAsync,\n\t\tasync: true,\n\t\toperation,\n\t\tasync \"~run\"(dataset) {\n\t\t\tdataset.value = await this.operation(dataset.value);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trim/trim.ts\n/**\n* Creates a trim transformation action.\n*\n* @returns A trim action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trim() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim\",\n\t\treference: trim,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trim();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trimEnd/trimEnd.ts\n/**\n* Creates a trim end transformation action.\n*\n* @returns A trim end action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trimEnd() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim_end\",\n\t\treference: trimEnd,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trimEnd();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/trimStart/trimStart.ts\n/**\n* Creates a trim start transformation action.\n*\n* @returns A trim start action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction trimStart() {\n\treturn {\n\t\tkind: \"transformation\",\n\t\ttype: \"trim_start\",\n\t\treference: trimStart,\n\t\tasync: false,\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.value = dataset.value.trimStart();\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/ulid/ulid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction ulid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"ulid\",\n\t\treference: ulid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: ULID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"ULID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/url/url.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction url(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"url\",\n\t\treference: url,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement(input) {\n\t\t\ttry {\n\t\t\t\tnew URL(input);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement(dataset.value)) _addIssue(this, \"URL\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/uuid/uuid.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction uuid(message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"uuid\",\n\t\treference: uuid,\n\t\tasync: false,\n\t\texpects: null,\n\t\trequirement: UUID_REGEX,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.test(dataset.value)) _addIssue(this, \"UUID\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/value/value.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction value(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"value\",\n\t\treference: value,\n\t\tasync: false,\n\t\texpects: requirement instanceof Date ? requirement.toJSON() : /* @__PURE__ */ _stringify(requirement),\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/values/values.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction values(requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"values\",\n\t\treference: values,\n\t\tasync: false,\n\t\texpects: `${/* @__PURE__ */ _joinExpects(requirement.map((value$1) => value$1 instanceof Date ? value$1.toJSON() : /* @__PURE__ */ _stringify(value$1)), \"|\")}`,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed && !this.requirement.some((value$1) => value$1 <= dataset.value && value$1 >= dataset.value)) _addIssue(this, \"value\", dataset, config$1, { received: dataset.value instanceof Date ? dataset.value.toJSON() : /* @__PURE__ */ _stringify(dataset.value) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/actions/words/words.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction words(locales, requirement, message$1) {\n\treturn {\n\t\tkind: \"validation\",\n\t\ttype: \"words\",\n\t\treference: words,\n\t\tasync: false,\n\t\texpects: `${requirement}`,\n\t\tlocales,\n\t\trequirement,\n\t\tmessage: message$1,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.typed) {\n\t\t\t\tconst count = /* @__PURE__ */ _getWordCount(this.locales, dataset.value);\n\t\t\t\tif (count !== this.requirement) _addIssue(this, \"words\", dataset, config$1, { received: `${count}` });\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/const.ts\nconst ABORT_EARLY_CONFIG = { abortEarly: true };\n\n//#endregion\n//#region src/methods/assert/assert.ts\n/**\n* Checks if the input matches the schema. As this is an assertion function, it\n* can be used as a type guard.\n*\n* @param schema The schema to be used.\n* @param input The input to be tested.\n*/\nfunction assert(schema, input) {\n\tconst issues = schema[\"~run\"]({ value: input }, ABORT_EARLY_CONFIG).issues;\n\tif (issues) throw new ValiError(issues);\n}\n\n//#endregion\n//#region src/methods/cache/_LruCache.ts\n/**\n* Efficient LRU cache using Map iteration order.\n*/\nvar _LruCache = class {\n\tconstructor(config$1) {\n\t\tthis.refCount = 0;\n\t\tthis.maxSize = config$1?.maxSize ?? 1e3;\n\t\tthis.maxAge = config$1?.maxAge ?? Infinity;\n\t\tthis.hasMaxAge = isFinite(this.maxAge);\n\t}\n\t/**\n\t* Stringifies an unknown input to a cache key component.\n\t*\n\t* @param input The unknown input.\n\t*\n\t* @returns A cache key component.\n\t*/\n\tstringify(input) {\n\t\tconst type = typeof input;\n\t\tif (type === \"string\") return `\"${input}\"`;\n\t\tif (type === \"number\" || type === \"boolean\") return `${input}`;\n\t\tif (type === \"bigint\") return `${input}n`;\n\t\tif (type === \"object\" || type === \"function\") {\n\t\t\tif (input) {\n\t\t\t\tthis.refIds ?? (this.refIds = /* @__PURE__ */ new WeakMap());\n\t\t\t\tlet id = this.refIds.get(input);\n\t\t\t\tif (!id) {\n\t\t\t\t\tid = ++this.refCount;\n\t\t\t\t\tthis.refIds.set(input, id);\n\t\t\t\t}\n\t\t\t\treturn `#${id}`;\n\t\t\t}\n\t\t\treturn \"null\";\n\t\t}\n\t\treturn type;\n\t}\n\t/**\n\t* Creates a cache key from input and config.\n\t*\n\t* @param input The input value.\n\t* @param config The parse configuration.\n\t*\n\t* @returns The cache key.\n\t*/\n\tkey(input, config$1 = {}) {\n\t\treturn `${this.stringify(input)}|${this.stringify(config$1.lang)}|${this.stringify(config$1.message)}|${this.stringify(config$1.abortEarly)}|${this.stringify(config$1.abortPipeEarly)}`;\n\t}\n\t/**\n\t* Gets a value from the cache by key.\n\t*\n\t* @param key The cache key.\n\t*\n\t* @returns The cached value.\n\t*/\n\tget(key) {\n\t\tif (!this.store) return void 0;\n\t\tconst entry = this.store.get(key);\n\t\tif (!entry) return void 0;\n\t\tif (this.hasMaxAge && Date.now() - entry[1] > this.maxAge) {\n\t\t\tthis.store.delete(key);\n\t\t\treturn;\n\t\t}\n\t\tthis.store.delete(key);\n\t\tthis.store.set(key, entry);\n\t\treturn entry[0];\n\t}\n\t/**\n\t* Sets a value in the cache by key.\n\t*\n\t* @param key The cache key.\n\t* @param value The cached value.\n\t*/\n\tset(key, value$1) {\n\t\tthis.store ?? (this.store = /* @__PURE__ */ new Map());\n\t\tthis.store.delete(key);\n\t\tconst timestamp = this.hasMaxAge ? Date.now() : 0;\n\t\tthis.store.set(key, [value$1, timestamp]);\n\t\tif (this.store.size > this.maxSize) this.store.delete(this.store.keys().next().value);\n\t}\n\t/**\n\t* Clears all entries from the cache.\n\t*/\n\tclear() {\n\t\tthis.store?.clear();\n\t}\n};\n\n//#endregion\n//#region src/methods/cache/cache.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction cache(schema, config$1) {\n\treturn {\n\t\t...schema,\n\t\tcacheConfig: config$1,\n\t\tcache: new _LruCache(config$1),\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, runConfig) {\n\t\t\tconst key = this.cache.key(dataset.value, runConfig);\n\t\t\tlet outputDataset = this.cache.get(key);\n\t\t\tif (!outputDataset) this.cache.set(key, outputDataset = schema[\"~run\"](dataset, runConfig));\n\t\t\treturn /* @__PURE__ */ _cloneDataset(outputDataset);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/cache/cacheAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction cacheAsync(schema, config$1) {\n\tlet activeRuns;\n\treturn {\n\t\t...schema,\n\t\tasync: true,\n\t\tcacheConfig: config$1,\n\t\tcache: new _LruCache(config$1),\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, runConfig) {\n\t\t\tconst key = this.cache.key(dataset.value, runConfig);\n\t\t\tconst cached = this.cache.get(key);\n\t\t\tif (cached) return /* @__PURE__ */ _cloneDataset(cached);\n\t\t\tlet promise$1 = activeRuns?.get(key);\n\t\t\tif (!promise$1) {\n\t\t\t\tactiveRuns ?? (activeRuns = /* @__PURE__ */ new Map());\n\t\t\t\tpromise$1 = Promise.resolve(schema[\"~run\"](dataset, runConfig));\n\t\t\t\tactiveRuns.set(key, promise$1);\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tconst outputDataset = await promise$1;\n\t\t\t\tthis.cache.set(key, outputDataset);\n\t\t\t\treturn /* @__PURE__ */ _cloneDataset(outputDataset);\n\t\t\t} finally {\n\t\t\t\tactiveRuns?.delete(key);\n\t\t\t}\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/config/config.ts\n/**\n* Changes the local configuration of a schema.\n*\n* @param schema The schema to configure.\n* @param config The parse configuration.\n*\n* @returns The configured schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction config(schema, config$1) {\n\treturn {\n\t\t...schema,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config_) {\n\t\t\treturn schema[\"~run\"](dataset, {\n\t\t\t\t...config_,\n\t\t\t\t...config$1\n\t\t\t});\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/getFallback/getFallback.ts\n/**\n* Returns the fallback value of the schema.\n*\n* @param schema The schema to get it from.\n* @param dataset The output dataset if available.\n* @param config The config if available.\n*\n* @returns The fallback value.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getFallback(schema, dataset, config$1) {\n\treturn typeof schema.fallback === \"function\" ? schema.fallback(dataset, config$1) : schema.fallback;\n}\n\n//#endregion\n//#region src/methods/fallback/fallback.ts\n/**\n* Returns a fallback value as output if the input does not match the schema.\n*\n* @param schema The schema to catch.\n* @param fallback The fallback value.\n*\n* @returns The passed schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction fallback(schema, fallback$1) {\n\treturn {\n\t\t...schema,\n\t\tfallback: fallback$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst outputDataset = schema[\"~run\"](dataset, config$1);\n\t\t\treturn outputDataset.issues ? {\n\t\t\t\ttyped: true,\n\t\t\t\tvalue: /* @__PURE__ */ getFallback(this, outputDataset, config$1)\n\t\t\t} : outputDataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/fallback/fallbackAsync.ts\n/**\n* Returns a fallback value as output if the input does not match the schema.\n*\n* @param schema The schema to catch.\n* @param fallback The fallback value.\n*\n* @returns The passed schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction fallbackAsync(schema, fallback$1) {\n\treturn {\n\t\t...schema,\n\t\tfallback: fallback$1,\n\t\tasync: true,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst outputDataset = await schema[\"~run\"](dataset, config$1);\n\t\t\treturn outputDataset.issues ? {\n\t\t\t\ttyped: true,\n\t\t\t\tvalue: await /* @__PURE__ */ getFallback(this, outputDataset, config$1)\n\t\t\t} : outputDataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/flatten/flatten.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction flatten(issues) {\n\tconst flatErrors = {};\n\tfor (const issue of issues) if (issue.path) {\n\t\tconst dotPath = /* @__PURE__ */ getDotPath(issue);\n\t\tif (dotPath) {\n\t\t\tif (!flatErrors.nested) flatErrors.nested = {};\n\t\t\tif (flatErrors.nested[dotPath]) flatErrors.nested[dotPath].push(issue.message);\n\t\t\telse flatErrors.nested[dotPath] = [issue.message];\n\t\t} else if (flatErrors.other) flatErrors.other.push(issue.message);\n\t\telse flatErrors.other = [issue.message];\n\t} else if (flatErrors.root) flatErrors.root.push(issue.message);\n\telse flatErrors.root = [issue.message];\n\treturn flatErrors;\n}\n\n//#endregion\n//#region src/methods/forward/forward.ts\n/**\n* Forwards the issues of the passed validation action.\n*\n* @param action The validation action.\n* @param path The path to forward the issues to.\n*\n* @returns The modified action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction forward(action, path) {\n\treturn {\n\t\t...action,\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst prevIssues = dataset.issues && [...dataset.issues];\n\t\t\tdataset = action[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.issues) {\n\t\t\t\tfor (const issue of dataset.issues) if (!prevIssues?.includes(issue)) {\n\t\t\t\t\tlet pathInput = dataset.value;\n\t\t\t\t\tfor (const key of path) {\n\t\t\t\t\t\tconst pathValue = pathInput[key];\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"unknown\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: pathInput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: pathValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (issue.path) issue.path.push(pathItem);\n\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\tif (!pathValue) break;\n\t\t\t\t\t\tpathInput = pathValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/forward/forwardAsync.ts\n/**\n* Forwards the issues of the passed validation action.\n*\n* @param action The validation action.\n* @param path The path to forward the issues to.\n*\n* @returns The modified action.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction forwardAsync(action, path) {\n\treturn {\n\t\t...action,\n\t\tasync: true,\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst prevIssues = dataset.issues && [...dataset.issues];\n\t\t\tdataset = await action[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.issues) {\n\t\t\t\tfor (const issue of dataset.issues) if (!prevIssues?.includes(issue)) {\n\t\t\t\t\tlet pathInput = dataset.value;\n\t\t\t\t\tfor (const key of path) {\n\t\t\t\t\t\tconst pathValue = pathInput[key];\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"unknown\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput: pathInput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: pathValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (issue.path) issue.path.push(pathItem);\n\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\tif (!pathValue) break;\n\t\t\t\t\t\tpathInput = pathValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/getDefault/getDefault.ts\n/**\n* Returns the default value of the schema.\n*\n* @param schema The schema to get it from.\n* @param dataset The input dataset if available.\n* @param config The config if available.\n*\n* @returns The default value.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDefault(schema, dataset, config$1) {\n\treturn typeof schema.default === \"function\" ? schema.default(dataset, config$1) : schema.default;\n}\n\n//#endregion\n//#region src/methods/getDefaults/getDefaults.ts\n/**\n* Returns the default values of the schema.\n*\n* Hint: The difference to `getDefault` is that for object and tuple schemas\n* this function recursively returns the default values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The default values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDefaults(schema) {\n\tif (\"entries\" in schema) {\n\t\tconst object$1 = {};\n\t\tfor (const key in schema.entries) object$1[key] = /* @__PURE__ */ getDefaults(schema.entries[key]);\n\t\treturn object$1;\n\t}\n\tif (\"items\" in schema) return schema.items.map(getDefaults);\n\treturn /* @__PURE__ */ getDefault(schema);\n}\n\n//#endregion\n//#region src/methods/getDefaults/getDefaultsAsync.ts\n/**\n* Returns the default values of the schema.\n*\n* Hint: The difference to `getDefault` is that for object and tuple schemas\n* this function recursively returns the default values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The default values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function getDefaultsAsync(schema) {\n\tif (\"entries\" in schema) return Object.fromEntries(await Promise.all(Object.entries(schema.entries).map(async ([key, value$1]) => [key, await /* @__PURE__ */ getDefaultsAsync(value$1)])));\n\tif (\"items\" in schema) return Promise.all(schema.items.map(getDefaultsAsync));\n\treturn /* @__PURE__ */ getDefault(schema);\n}\n\n//#endregion\n//#region src/methods/getDescription/getDescription.ts\n/**\n* Returns the description of the schema.\n*\n* If multiple descriptions are defined, the last one of the highest level is\n* returned. If no description is defined, `undefined` is returned.\n*\n* @param schema The schema to get the description from.\n*\n* @returns The description, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getDescription(schema) {\n\treturn /* @__PURE__ */ _getLastMetadata(schema, \"description\");\n}\n\n//#endregion\n//#region src/methods/getExamples/getExamples.ts\n/**\n* Returns the examples of a schema.\n*\n* If multiple examples are defined, it concatenates them using depth-first\n* search. If no examples are defined, an empty array is returned.\n*\n* @param schema The schema to get the examples from.\n*\n* @returns The examples, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getExamples(schema) {\n\tconst examples$1 = [];\n\tfunction depthFirstCollect(schema$1) {\n\t\tif (\"pipe\" in schema$1) {\n\t\t\tfor (const item of schema$1.pipe) if (item.kind === \"schema\" && \"pipe\" in item) depthFirstCollect(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === \"examples\") for (const example of item.examples) examples$1.push(example);\n\t\t}\n\t}\n\tdepthFirstCollect(schema);\n\treturn examples$1;\n}\n\n//#endregion\n//#region src/methods/getFallbacks/getFallbacks.ts\n/**\n* Returns the fallback values of the schema.\n*\n* Hint: The difference to `getFallback` is that for object and tuple schemas\n* this function recursively returns the fallback values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The fallback values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getFallbacks(schema) {\n\tif (\"entries\" in schema) {\n\t\tconst object$1 = {};\n\t\tfor (const key in schema.entries) object$1[key] = /* @__PURE__ */ getFallbacks(schema.entries[key]);\n\t\treturn object$1;\n\t}\n\tif (\"items\" in schema) return schema.items.map(getFallbacks);\n\treturn /* @__PURE__ */ getFallback(schema);\n}\n\n//#endregion\n//#region src/methods/getFallbacks/getFallbacksAsync.ts\n/**\n* Returns the fallback values of the schema.\n*\n* Hint: The difference to `getFallback` is that for object and tuple schemas\n* this function recursively returns the fallback values of the subschemas\n* instead of `undefined`.\n*\n* @param schema The schema to get them from.\n*\n* @returns The fallback values.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function getFallbacksAsync(schema) {\n\tif (\"entries\" in schema) return Object.fromEntries(await Promise.all(Object.entries(schema.entries).map(async ([key, value$1]) => [key, await /* @__PURE__ */ getFallbacksAsync(value$1)])));\n\tif (\"items\" in schema) return Promise.all(schema.items.map(getFallbacksAsync));\n\treturn /* @__PURE__ */ getFallback(schema);\n}\n\n//#endregion\n//#region src/methods/getMetadata/getMetadata.ts\n/**\n* Returns the metadata of a schema.\n*\n* If multiple metadata are defined, it shallowly merges them using depth-first\n* search. If no metadata is defined, an empty object is returned.\n*\n* @param schema Schema to get the metadata from.\n*\n* @returns The metadata, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getMetadata(schema) {\n\tconst result = {};\n\tfunction depthFirstMerge(schema$1) {\n\t\tif (\"pipe\" in schema$1) {\n\t\t\tfor (const item of schema$1.pipe) if (item.kind === \"schema\" && \"pipe\" in item) depthFirstMerge(item);\n\t\t\telse if (item.kind === \"metadata\" && item.type === \"metadata\") Object.assign(result, item.metadata);\n\t\t}\n\t}\n\tdepthFirstMerge(schema);\n\treturn result;\n}\n\n//#endregion\n//#region src/methods/getTitle/getTitle.ts\n/**\n* Returns the title of the schema.\n*\n* If multiple titles are defined, the last one of the highest level is\n* returned. If no title is defined, `undefined` is returned.\n*\n* @param schema The schema to get the title from.\n*\n* @returns The title, if any.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction getTitle(schema) {\n\treturn /* @__PURE__ */ _getLastMetadata(schema, \"title\");\n}\n\n//#endregion\n//#region src/methods/is/is.ts\n/**\n* Checks if the input matches the schema. By using a type predicate, this\n* function can be used as a type guard.\n*\n* @param schema The schema to be used.\n* @param input The input to be tested.\n*\n* @returns Whether the input matches the schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction is(schema, input) {\n\treturn !schema[\"~run\"]({ value: input }, ABORT_EARLY_CONFIG).issues;\n}\n\n//#endregion\n//#region src/schemas/any/any.ts\n/**\n* Creates an any schema.\n*\n* Hint: This schema function exists only for completeness and is not\n* recommended in practice. Instead, `unknown` should be used to accept\n* unknown data.\n*\n* @returns An any schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction any() {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"any\",\n\t\treference: any,\n\t\texpects: \"any\",\n\t\tasync: false,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.typed = true;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/array/array.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction array(item, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"array\",\n\t\treference: array,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titem,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < input.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.item[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/array/arrayAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction arrayAsync(item, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"array\",\n\t\treference: arrayAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titem,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(input.map((value$1) => this.item[\"~run\"]({ value: value$1 }, config$1)));\n\t\t\t\tfor (let key = 0; key < itemDatasets.length; key++) {\n\t\t\t\t\tconst itemDataset = itemDatasets[key];\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/bigint/bigint.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction bigint(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"bigint\",\n\t\treference: bigint,\n\t\texpects: \"bigint\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"bigint\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/blob/blob.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction blob(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"blob\",\n\t\treference: blob,\n\t\texpects: \"Blob\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Blob) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/boolean/boolean.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction boolean(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"boolean\",\n\t\treference: boolean,\n\t\texpects: \"boolean\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"boolean\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/custom/custom.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction custom(check$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"custom\",\n\t\treference: custom,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tcheck: check$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.check(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/custom/customAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction customAsync(check$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"custom\",\n\t\treference: customAsync,\n\t\texpects: \"unknown\",\n\t\tasync: true,\n\t\tcheck: check$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (await this.check(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/date/date.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction date(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"date\",\n\t\treference: date,\n\t\texpects: \"Date\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Date) if (!isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { received: \"\\\"Invalid Date\\\"\" });\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/enum/enum.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction enum_(enum__, message$1) {\n\tconst options = [];\n\tfor (const key in enum__) if (`${+key}` !== key || typeof enum__[key] !== \"string\" || !Object.is(enum__[enum__[key]], +key)) options.push(enum__[key]);\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"enum\",\n\t\treference: enum_,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map(_stringify), \"|\"),\n\t\tasync: false,\n\t\tenum: enum__,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.includes(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/exactOptional/exactOptional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction exactOptional(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"exact_optional\",\n\t\treference: exactOptional,\n\t\texpects: wrapped.expects,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/exactOptional/exactOptionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction exactOptionalAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"exact_optional\",\n\t\treference: exactOptionalAsync,\n\t\texpects: wrapped.expects,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/file/file.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction file(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"file\",\n\t\treference: file,\n\t\texpects: \"File\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof File) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/function/function.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction function_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"function\",\n\t\treference: function_,\n\t\texpects: \"Function\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"function\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/instance/instance.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction instance(class_, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"instance\",\n\t\treference: instance,\n\t\texpects: class_.name,\n\t\tasync: false,\n\t\tclass: class_,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof this.class) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/intersect/utils/_merge/_merge.ts\n/**\n* Merges two values into one single output.\n*\n* @param value1 First value.\n* @param value2 Second value.\n*\n* @returns The merge dataset.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _merge(value1, value2) {\n\tif (typeof value1 === typeof value2) {\n\t\tif (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) return { value: value1 };\n\t\tif (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n\t\t\tconst nextValue = { ...value1 };\n\t\t\tfor (const key in value2) if (key in value1) {\n\t\t\t\tconst dataset = /* @__PURE__ */ _merge(value1[key], value2[key]);\n\t\t\t\tif (dataset.issue) return dataset;\n\t\t\t\tnextValue[key] = dataset.value;\n\t\t\t} else nextValue[key] = value2[key];\n\t\t\treturn { value: nextValue };\n\t\t}\n\t\tif (Array.isArray(value1) && Array.isArray(value2)) {\n\t\t\tif (value1.length === value2.length) {\n\t\t\t\tconst nextValue = [...value1];\n\t\t\t\tfor (let index = 0; index < value1.length; index++) {\n\t\t\t\t\tconst dataset = /* @__PURE__ */ _merge(value1[index], value2[index]);\n\t\t\t\t\tif (dataset.issue) return dataset;\n\t\t\t\t\tnextValue[index] = dataset.value;\n\t\t\t\t}\n\t\t\t\treturn { value: nextValue };\n\t\t\t}\n\t\t}\n\t}\n\treturn { issue: true };\n}\n\n//#endregion\n//#region src/schemas/intersect/intersect.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction intersect(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"intersect\",\n\t\treference: intersect,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"&\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.length) {\n\t\t\t\tconst input = dataset.value;\n\t\t\t\tlet outputs;\n\t\t\t\tdataset.typed = true;\n\t\t\t\tfor (const schema of this.options) {\n\t\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\tif (optionDataset.issues) {\n\t\t\t\t\t\tif (dataset.issues) for (const issue of optionDataset.issues) dataset.issues.push(issue);\n\t\t\t\t\t\telse dataset.issues = optionDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!optionDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (dataset.typed) if (outputs) outputs.push(optionDataset.value);\n\t\t\t\t\telse outputs = [optionDataset.value];\n\t\t\t\t}\n\t\t\t\tif (dataset.typed) {\n\t\t\t\t\tdataset.value = outputs[0];\n\t\t\t\t\tfor (let index = 1; index < outputs.length; index++) {\n\t\t\t\t\t\tconst mergeDataset = /* @__PURE__ */ _merge(dataset.value, outputs[index]);\n\t\t\t\t\t\tif (mergeDataset.issue) {\n\t\t\t\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { received: \"unknown\" });\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataset.value = mergeDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/intersect/intersectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction intersectAsync(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"intersect\",\n\t\treference: intersectAsync,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"&\"),\n\t\tasync: true,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (this.options.length) {\n\t\t\t\tconst input = dataset.value;\n\t\t\t\tlet outputs;\n\t\t\t\tdataset.typed = true;\n\t\t\t\tconst optionDatasets = await Promise.all(this.options.map((schema) => schema[\"~run\"]({ value: input }, config$1)));\n\t\t\t\tfor (const optionDataset of optionDatasets) {\n\t\t\t\t\tif (optionDataset.issues) {\n\t\t\t\t\t\tif (dataset.issues) for (const issue of optionDataset.issues) dataset.issues.push(issue);\n\t\t\t\t\t\telse dataset.issues = optionDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!optionDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (dataset.typed) if (outputs) outputs.push(optionDataset.value);\n\t\t\t\t\telse outputs = [optionDataset.value];\n\t\t\t\t}\n\t\t\t\tif (dataset.typed) {\n\t\t\t\t\tdataset.value = outputs[0];\n\t\t\t\t\tfor (let index = 1; index < outputs.length; index++) {\n\t\t\t\t\t\tconst mergeDataset = /* @__PURE__ */ _merge(dataset.value, outputs[index]);\n\t\t\t\t\t\tif (mergeDataset.issue) {\n\t\t\t\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { received: \"unknown\" });\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdataset.value = mergeDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/lazy/lazy.ts\n/**\n* Creates a lazy schema.\n*\n* @param getter The schema getter.\n*\n* @returns A lazy schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction lazy(getter) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"lazy\",\n\t\treference: lazy,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tgetter,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn this.getter(dataset.value)[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/lazy/lazyAsync.ts\n/**\n* Creates a lazy schema.\n*\n* @param getter The schema getter.\n*\n* @returns A lazy schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction lazyAsync(getter) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"lazy\",\n\t\treference: lazyAsync,\n\t\texpects: \"unknown\",\n\t\tasync: true,\n\t\tgetter,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\treturn (await this.getter(dataset.value))[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/literal/literal.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction literal(literal_, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"literal\",\n\t\treference: literal,\n\t\texpects: /* @__PURE__ */ _stringify(literal_),\n\t\tasync: false,\n\t\tliteral: literal_,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === this.literal) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseObject/looseObject.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseObject(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_object\",\n\t\treference: looseObject,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)) dataset.value[key] = input[key];\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseObject/looseObjectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseObjectAsync(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_object\",\n\t\treference: looseObjectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)) dataset.value[key] = input[key];\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseTuple/looseTuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseTuple(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_tuple\",\n\t\treference: looseTuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) dataset.value.push(input[key]);\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/looseTuple/looseTupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction looseTupleAsync(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"loose_tuple\",\n\t\treference: looseTupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) dataset.value.push(input[key]);\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/map/map.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction map(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"map\",\n\t\treference: map,\n\t\texpects: \"Map\",\n\t\tasync: false,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Map) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Map();\n\t\t\t\tfor (const [inputKey, inputValue] of input) {\n\t\t\t\t\tconst keyDataset = this.key[\"~run\"]({ value: inputKey }, config$1);\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: inputValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.set(keyDataset.value, valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/map/mapAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction mapAsync(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"map\",\n\t\treference: mapAsync,\n\t\texpects: \"Map\",\n\t\tasync: true,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Map) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Map();\n\t\t\t\tconst datasets = await Promise.all([...input].map(([inputKey, inputValue]) => Promise.all([\n\t\t\t\t\tinputKey,\n\t\t\t\t\tinputValue,\n\t\t\t\t\tthis.key[\"~run\"]({ value: inputKey }, config$1),\n\t\t\t\t\tthis.value[\"~run\"]({ value: inputValue }, config$1)\n\t\t\t\t])));\n\t\t\t\tfor (const [inputKey, inputValue, keyDataset, valueDataset] of datasets) {\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"map\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: inputKey,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.set(keyDataset.value, valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nan/nan.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nan(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nan\",\n\t\treference: nan,\n\t\texpects: \"NaN\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (Number.isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/never/never.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction never(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"never\",\n\t\treference: never,\n\t\texpects: \"never\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\t_addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullable/nonNullable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullable(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullable\",\n\t\treference: nonNullable,\n\t\texpects: \"!null\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== null) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullable/nonNullableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullableAsync(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullable\",\n\t\treference: nonNullableAsync,\n\t\texpects: \"!null\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== null) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullish/nonNullish.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullish(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullish\",\n\t\treference: nonNullish,\n\t\texpects: \"(!null & !undefined)\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (!(dataset.value === null || dataset.value === void 0)) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null || dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonNullish/nonNullishAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonNullishAsync(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_nullish\",\n\t\treference: nonNullishAsync,\n\t\texpects: \"(!null & !undefined)\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (!(dataset.value === null || dataset.value === void 0)) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === null || dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonOptional/nonOptional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonOptional(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_optional\",\n\t\treference: nonOptional,\n\t\texpects: \"!undefined\",\n\t\tasync: false,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== void 0) dataset = this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nonOptional/nonOptionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nonOptionalAsync(wrapped, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"non_optional\",\n\t\treference: nonOptionalAsync,\n\t\texpects: \"!undefined\",\n\t\tasync: true,\n\t\twrapped,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value !== void 0) dataset = await this.wrapped[\"~run\"](dataset, config$1);\n\t\t\tif (dataset.value === void 0) _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/null/null.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction null_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"null\",\n\t\treference: null_,\n\t\texpects: \"null\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullable/nullable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullable(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullable\",\n\t\treference: nullable,\n\t\texpects: `(${wrapped.expects} | null)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullable/nullableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullableAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullable\",\n\t\treference: nullableAsync,\n\t\texpects: `(${wrapped.expects} | null)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullish/nullish.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullish(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullish\",\n\t\treference: nullish,\n\t\texpects: `(${wrapped.expects} | null | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/nullish/nullishAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction nullishAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"nullish\",\n\t\treference: nullishAsync,\n\t\texpects: `(${wrapped.expects} | null | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === null || dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/number/number.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction number(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"number\",\n\t\treference: number,\n\t\texpects: \"number\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"number\" && !isNaN(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/object/object.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction object(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object\",\n\t\treference: object,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/object/objectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectAsync(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object\",\n\t\treference: objectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/objectWithRest/objectWithRest.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectWithRest(entries$1, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object_with_rest\",\n\t\treference: objectWithRest,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (/* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)) {\n\t\t\t\t\t\tconst valueDataset = this.rest[\"~run\"]({ value: input[key] }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/objectWithRest/objectWithRestAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction objectWithRestAsync(entries$1, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"object_with_rest\",\n\t\treference: objectWithRestAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst [normalDatasets, restDatasets] = await Promise.all([Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t})), Promise.all(Object.entries(input).filter(([key]) => /* @__PURE__ */ _isValidObjectKey(input, key) && !(key in this.entries)).map(async ([key, value$1]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue$1,\n\t\t\t\t\tawait this.rest[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t]))]);\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of normalDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (const [key, value$1, valueDataset] of restDatasets) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/optional/optional.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction optional(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"optional\",\n\t\treference: optional,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/optional/optionalAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction optionalAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"optional\",\n\t\treference: optionalAsync,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/picklist/picklist.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction picklist(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"picklist\",\n\t\treference: picklist,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map(_stringify), \"|\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (this.options.includes(dataset.value)) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/promise/promise.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction promise(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"promise\",\n\t\treference: promise,\n\t\texpects: \"Promise\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value instanceof Promise) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/record/record.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction record(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"record\",\n\t\treference: record,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const entryKey in input) if (/* @__PURE__ */ _isValidObjectKey(input, entryKey)) {\n\t\t\t\t\tconst entryValue = input[entryKey];\n\t\t\t\t\tconst keyDataset = this.key[\"~run\"]({ value: entryKey }, config$1);\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tissue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: entryValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (keyDataset.typed) dataset.value[keyDataset.value] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/record/recordAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction recordAsync(key, value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"record\",\n\t\treference: recordAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tkey,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst datasets = await Promise.all(Object.entries(input).filter(([key$1]) => /* @__PURE__ */ _isValidObjectKey(input, key$1)).map(([entryKey, entryValue]) => Promise.all([\n\t\t\t\t\tentryKey,\n\t\t\t\t\tentryValue,\n\t\t\t\t\tthis.key[\"~run\"]({ value: entryKey }, config$1),\n\t\t\t\t\tthis.value[\"~run\"]({ value: entryValue }, config$1)\n\t\t\t\t])));\n\t\t\t\tfor (const [entryKey, entryValue, keyDataset, valueDataset] of datasets) {\n\t\t\t\t\tif (keyDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of keyDataset.issues) {\n\t\t\t\t\t\t\tissue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = keyDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: entryKey,\n\t\t\t\t\t\t\tvalue: entryValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!keyDataset.typed || !valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tif (keyDataset.typed) dataset.value[keyDataset.value] = valueDataset.value;\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/set/set.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction set(value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"set\",\n\t\treference: set,\n\t\texpects: \"Set\",\n\t\tasync: false,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Set) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Set();\n\t\t\t\tfor (const inputValue of input) {\n\t\t\t\t\tconst valueDataset = this.value[\"~run\"]({ value: inputValue }, config$1);\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"set\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: null,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.add(valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/set/setAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction setAsync(value$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"set\",\n\t\treference: setAsync,\n\t\texpects: \"Set\",\n\t\tasync: true,\n\t\tvalue: value$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input instanceof Set) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = /* @__PURE__ */ new Set();\n\t\t\t\tconst valueDatasets = await Promise.all([...input].map(async (inputValue) => [inputValue, await this.value[\"~run\"]({ value: inputValue }, config$1)]));\n\t\t\t\tfor (const [inputValue, valueDataset] of valueDatasets) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"set\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey: null,\n\t\t\t\t\t\t\tvalue: inputValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.add(valueDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictObject/strictObject.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictObject(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_object\",\n\t\treference: strictObject,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tfor (const key in this.entries) {\n\t\t\t\t\tconst valueSchema = this.entries[key];\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\tconst valueDataset = valueSchema[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (!(key in this.entries)) {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: key,\n\t\t\t\t\t\t\texpected: \"never\",\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictObject/strictObjectAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictObjectAsync(entries$1, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_object\",\n\t\treference: strictObjectAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tentries: entries$1,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = {};\n\t\t\t\tconst valueDatasets = await Promise.all(Object.entries(this.entries).map(async ([key, valueSchema]) => {\n\t\t\t\t\tif (key in input || (valueSchema.type === \"exact_optional\" || valueSchema.type === \"optional\" || valueSchema.type === \"nullish\") && valueSchema.default !== void 0) {\n\t\t\t\t\t\tconst value$1 = key in input ? input[key] : await /* @__PURE__ */ getDefault(valueSchema);\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\t\tawait valueSchema[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tinput[key],\n\t\t\t\t\t\tvalueSchema,\n\t\t\t\t\t\tnull\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, valueSchema, valueDataset] of valueDatasets) if (valueDataset) {\n\t\t\t\t\tif (valueDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of valueDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = valueDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!valueDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value[key] = valueDataset.value;\n\t\t\t\t} else if (valueSchema.fallback !== void 0) dataset.value[key] = await /* @__PURE__ */ getFallback(valueSchema);\n\t\t\t\telse if (valueSchema.type !== \"exact_optional\" && valueSchema.type !== \"optional\" && valueSchema.type !== \"nullish\") {\n\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\tinput: void 0,\n\t\t\t\t\t\texpected: `\"${key}\"`,\n\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tif (config$1.abortEarly) break;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) {\n\t\t\t\t\tfor (const key in input) if (!(key in this.entries)) {\n\t\t\t\t\t\t_addIssue(this, \"key\", dataset, config$1, {\n\t\t\t\t\t\t\tinput: key,\n\t\t\t\t\t\t\texpected: \"never\",\n\t\t\t\t\t\t\tpath: [{\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\torigin: \"key\",\n\t\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tvalue: input[key]\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictTuple/strictTuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictTuple(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_tuple\",\n\t\treference: strictTuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!(dataset.issues && config$1.abortEarly) && this.items.length < input.length) _addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[this.items.length],\n\t\t\t\t\texpected: \"never\",\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: this.items.length,\n\t\t\t\t\t\tvalue: input[this.items.length]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/strictTuple/strictTupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction strictTupleAsync(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"strict_tuple\",\n\t\treference: strictTupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!(dataset.issues && config$1.abortEarly) && this.items.length < input.length) _addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[this.items.length],\n\t\t\t\t\texpected: \"never\",\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: this.items.length,\n\t\t\t\t\t\tvalue: input[this.items.length]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/string/string.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction string(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"string\",\n\t\treference: string,\n\t\texpects: \"string\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"string\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/symbol/symbol.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction symbol(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"symbol\",\n\t\treference: symbol,\n\t\texpects: \"symbol\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (typeof dataset.value === \"symbol\") dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tuple/tuple.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tuple(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple\",\n\t\treference: tuple,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tuple/tupleAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleAsync(items, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple\",\n\t\treference: tupleAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst itemDatasets = await Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}));\n\t\t\t\tfor (const [key, value$1, itemDataset] of itemDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tupleWithRest/tupleWithRest.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleWithRest(items, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple_with_rest\",\n\t\treference: tupleWithRest,\n\t\texpects: \"Array\",\n\t\tasync: false,\n\t\titems,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tfor (let key = 0; key < this.items.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.items[key][\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (let key = this.items.length; key < input.length; key++) {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\tconst itemDataset = this.rest[\"~run\"]({ value: value$1 }, config$1);\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/tupleWithRest/tupleWithRestAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction tupleWithRestAsync(items, rest, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"tuple_with_rest\",\n\t\treference: tupleWithRestAsync,\n\t\texpects: \"Array\",\n\t\tasync: true,\n\t\titems,\n\t\trest,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (Array.isArray(input)) {\n\t\t\t\tdataset.typed = true;\n\t\t\t\tdataset.value = [];\n\t\t\t\tconst [normalDatasets, restDatasets] = await Promise.all([Promise.all(this.items.map(async (item, key) => {\n\t\t\t\t\tconst value$1 = input[key];\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait item[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t})), Promise.all(input.slice(this.items.length).map(async (value$1, key) => {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tkey + this.items.length,\n\t\t\t\t\t\tvalue$1,\n\t\t\t\t\t\tawait this.rest[\"~run\"]({ value: value$1 }, config$1)\n\t\t\t\t\t];\n\t\t\t\t}))]);\n\t\t\t\tfor (const [key, value$1, itemDataset] of normalDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly) for (const [key, value$1, itemDataset] of restDatasets) {\n\t\t\t\t\tif (itemDataset.issues) {\n\t\t\t\t\t\tconst pathItem = {\n\t\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\t\tinput,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: value$1\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (const issue of itemDataset.issues) {\n\t\t\t\t\t\t\tif (issue.path) issue.path.unshift(pathItem);\n\t\t\t\t\t\t\telse issue.path = [pathItem];\n\t\t\t\t\t\t\tdataset.issues?.push(issue);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!dataset.issues) dataset.issues = itemDataset.issues;\n\t\t\t\t\t\tif (config$1.abortEarly) {\n\t\t\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!itemDataset.typed) dataset.typed = false;\n\t\t\t\t\tdataset.value.push(itemDataset.value);\n\t\t\t\t}\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/undefined/undefined.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefined_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"undefined\",\n\t\treference: undefined_,\n\t\texpects: \"undefined\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/undefinedable/undefinedable.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefinedable(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"undefinedable\",\n\t\treference: undefinedable,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: false,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/undefinedable/undefinedableAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction undefinedableAsync(wrapped, default_) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"undefinedable\",\n\t\treference: undefinedableAsync,\n\t\texpects: `(${wrapped.expects} | undefined)`,\n\t\tasync: true,\n\t\twrapped,\n\t\tdefault: default_,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) {\n\t\t\t\tif (this.default !== void 0) dataset.value = await /* @__PURE__ */ getDefault(this, dataset, config$1);\n\t\t\t\tif (dataset.value === void 0) {\n\t\t\t\t\tdataset.typed = true;\n\t\t\t\t\treturn dataset;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.wrapped[\"~run\"](dataset, config$1);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/union/utils/_subIssues/_subIssues.ts\n/**\n* Returns the sub issues of the provided datasets for the union issue.\n*\n* @param datasets The datasets.\n*\n* @returns The sub issues.\n*\n* @internal\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction _subIssues(datasets) {\n\tlet issues;\n\tif (datasets) for (const dataset of datasets) if (issues) for (const issue of dataset.issues) issues.push(issue);\n\telse issues = dataset.issues;\n\treturn issues;\n}\n\n//#endregion\n//#region src/schemas/union/union.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction union(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"union\",\n\t\treference: union,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"|\"),\n\t\tasync: false,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tlet validDataset;\n\t\t\tlet typedDatasets;\n\t\t\tlet untypedDatasets;\n\t\t\tfor (const schema of this.options) {\n\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: dataset.value }, config$1);\n\t\t\t\tif (optionDataset.typed) if (optionDataset.issues) if (typedDatasets) typedDatasets.push(optionDataset);\n\t\t\t\telse typedDatasets = [optionDataset];\n\t\t\t\telse {\n\t\t\t\t\tvalidDataset = optionDataset;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (untypedDatasets) untypedDatasets.push(optionDataset);\n\t\t\t\telse untypedDatasets = [optionDataset];\n\t\t\t}\n\t\t\tif (validDataset) return validDataset;\n\t\t\tif (typedDatasets) {\n\t\t\t\tif (typedDatasets.length === 1) return typedDatasets[0];\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(typedDatasets) });\n\t\t\t\tdataset.typed = true;\n\t\t\t} else if (untypedDatasets?.length === 1) return untypedDatasets[0];\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(untypedDatasets) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/union/unionAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction unionAsync(options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"union\",\n\t\treference: unionAsync,\n\t\texpects: /* @__PURE__ */ _joinExpects(options.map((option) => option.expects), \"|\"),\n\t\tasync: true,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tlet validDataset;\n\t\t\tlet typedDatasets;\n\t\t\tlet untypedDatasets;\n\t\t\tfor (const schema of this.options) {\n\t\t\t\tconst optionDataset = await schema[\"~run\"]({ value: dataset.value }, config$1);\n\t\t\t\tif (optionDataset.typed) if (optionDataset.issues) if (typedDatasets) typedDatasets.push(optionDataset);\n\t\t\t\telse typedDatasets = [optionDataset];\n\t\t\t\telse {\n\t\t\t\t\tvalidDataset = optionDataset;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if (untypedDatasets) untypedDatasets.push(optionDataset);\n\t\t\t\telse untypedDatasets = [optionDataset];\n\t\t\t}\n\t\t\tif (validDataset) return validDataset;\n\t\t\tif (typedDatasets) {\n\t\t\t\tif (typedDatasets.length === 1) return typedDatasets[0];\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(typedDatasets) });\n\t\t\t\tdataset.typed = true;\n\t\t\t} else if (untypedDatasets?.length === 1) return untypedDatasets[0];\n\t\t\telse _addIssue(this, \"type\", dataset, config$1, { issues: /* @__PURE__ */ _subIssues(untypedDatasets) });\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/unknown/unknown.ts\n/**\n* Creates a unknown schema.\n*\n* @returns A unknown schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction unknown() {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"unknown\",\n\t\treference: unknown,\n\t\texpects: \"unknown\",\n\t\tasync: false,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset) {\n\t\t\tdataset.typed = true;\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/variant/variant.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction variant(key, options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"variant\",\n\t\treference: variant,\n\t\texpects: \"Object\",\n\t\tasync: false,\n\t\tkey,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tlet outputDataset;\n\t\t\t\tlet maxDiscriminatorPriority = 0;\n\t\t\t\tlet invalidDiscriminatorKey = this.key;\n\t\t\t\tlet expectedDiscriminators = [];\n\t\t\t\tconst parseOptions = (variant$1, allKeys) => {\n\t\t\t\t\tfor (const schema of variant$1.options) {\n\t\t\t\t\t\tif (schema.type === \"variant\") parseOptions(schema, new Set(allKeys).add(schema.key));\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet keysAreValid = true;\n\t\t\t\t\t\t\tlet currentPriority = 0;\n\t\t\t\t\t\t\tfor (const currentKey of allKeys) {\n\t\t\t\t\t\t\t\tconst discriminatorSchema = schema.entries[currentKey];\n\t\t\t\t\t\t\t\tif (currentKey in input ? discriminatorSchema[\"~run\"]({\n\t\t\t\t\t\t\t\t\ttyped: false,\n\t\t\t\t\t\t\t\t\tvalue: input[currentKey]\n\t\t\t\t\t\t\t\t}, ABORT_EARLY_CONFIG).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n\t\t\t\t\t\t\t\t\tkeysAreValid = false;\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n\t\t\t\t\t\t\t\t\t\tmaxDiscriminatorPriority = currentPriority;\n\t\t\t\t\t\t\t\t\t\tinvalidDiscriminatorKey = currentKey;\n\t\t\t\t\t\t\t\t\t\texpectedDiscriminators = [];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey === currentKey) expectedDiscriminators.push(schema.entries[currentKey].expects);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentPriority++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (keysAreValid) {\n\t\t\t\t\t\t\t\tconst optionDataset = schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\t\t\t\tif (!outputDataset || !outputDataset.typed && optionDataset.typed) outputDataset = optionDataset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (outputDataset && !outputDataset.issues) break;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tparseOptions(this, new Set([this.key]));\n\t\t\t\tif (outputDataset) return outputDataset;\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[invalidDiscriminatorKey],\n\t\t\t\t\texpected: /* @__PURE__ */ _joinExpects(expectedDiscriminators, \"|\"),\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: invalidDiscriminatorKey,\n\t\t\t\t\t\tvalue: input[invalidDiscriminatorKey]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/variant/variantAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction variantAsync(key, options, message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"variant\",\n\t\treference: variantAsync,\n\t\texpects: \"Object\",\n\t\tasync: true,\n\t\tkey,\n\t\toptions,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tconst input = dataset.value;\n\t\t\tif (input && typeof input === \"object\") {\n\t\t\t\tlet outputDataset;\n\t\t\t\tlet maxDiscriminatorPriority = 0;\n\t\t\t\tlet invalidDiscriminatorKey = this.key;\n\t\t\t\tlet expectedDiscriminators = [];\n\t\t\t\tconst parseOptions = async (variant$1, allKeys) => {\n\t\t\t\t\tfor (const schema of variant$1.options) {\n\t\t\t\t\t\tif (schema.type === \"variant\") await parseOptions(schema, new Set(allKeys).add(schema.key));\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet keysAreValid = true;\n\t\t\t\t\t\t\tlet currentPriority = 0;\n\t\t\t\t\t\t\tfor (const currentKey of allKeys) {\n\t\t\t\t\t\t\t\tconst discriminatorSchema = schema.entries[currentKey];\n\t\t\t\t\t\t\t\tif (currentKey in input ? (await discriminatorSchema[\"~run\"]({\n\t\t\t\t\t\t\t\t\ttyped: false,\n\t\t\t\t\t\t\t\t\tvalue: input[currentKey]\n\t\t\t\t\t\t\t\t}, ABORT_EARLY_CONFIG)).issues : discriminatorSchema.type !== \"exact_optional\" && discriminatorSchema.type !== \"optional\" && discriminatorSchema.type !== \"nullish\") {\n\t\t\t\t\t\t\t\t\tkeysAreValid = false;\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n\t\t\t\t\t\t\t\t\t\tmaxDiscriminatorPriority = currentPriority;\n\t\t\t\t\t\t\t\t\t\tinvalidDiscriminatorKey = currentKey;\n\t\t\t\t\t\t\t\t\t\texpectedDiscriminators = [];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (invalidDiscriminatorKey === currentKey) expectedDiscriminators.push(schema.entries[currentKey].expects);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentPriority++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (keysAreValid) {\n\t\t\t\t\t\t\t\tconst optionDataset = await schema[\"~run\"]({ value: input }, config$1);\n\t\t\t\t\t\t\t\tif (!outputDataset || !outputDataset.typed && optionDataset.typed) outputDataset = optionDataset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (outputDataset && !outputDataset.issues) break;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tawait parseOptions(this, new Set([this.key]));\n\t\t\t\tif (outputDataset) return outputDataset;\n\t\t\t\t_addIssue(this, \"type\", dataset, config$1, {\n\t\t\t\t\tinput: input[invalidDiscriminatorKey],\n\t\t\t\t\texpected: /* @__PURE__ */ _joinExpects(expectedDiscriminators, \"|\"),\n\t\t\t\t\tpath: [{\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\torigin: \"value\",\n\t\t\t\t\t\tinput,\n\t\t\t\t\t\tkey: invalidDiscriminatorKey,\n\t\t\t\t\t\tvalue: input[invalidDiscriminatorKey]\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/schemas/void/void.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction void_(message$1) {\n\treturn {\n\t\tkind: \"schema\",\n\t\ttype: \"void\",\n\t\treference: void_,\n\t\texpects: \"void\",\n\t\tasync: false,\n\t\tmessage: message$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tif (dataset.value === void 0) dataset.typed = true;\n\t\t\telse _addIssue(this, \"type\", dataset, config$1);\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/keyof/keyof.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction keyof(schema, message$1) {\n\treturn /* @__PURE__ */ picklist(Object.keys(schema.entries), message$1);\n}\n\n//#endregion\n//#region src/methods/message/message.ts\n/**\n* Changes the local message configuration of a schema.\n*\n* @param schema The schema to configure.\n* @param message_ The error message.\n*\n* @returns The configured schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction message(schema, message_) {\n\treturn {\n\t\t...schema,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\treturn schema[\"~run\"](dataset, {\n\t\t\t\t...config$1,\n\t\t\t\tmessage: message_\n\t\t\t});\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/omit/omit.ts\n/**\n* Creates a modified copy of an object schema that does not contain the\n* selected entries.\n*\n* @param schema The schema to omit from.\n* @param keys The selected entries.\n*\n* @returns An object schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction omit(schema, keys) {\n\tconst entries$1 = { ...schema.entries };\n\tfor (const key of keys) delete entries$1[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/parse/parse.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parsed input.\n*/\nfunction parse(schema, input, config$1) {\n\tconst dataset = schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\tif (dataset.issues) throw new ValiError(dataset.issues);\n\treturn dataset.value;\n}\n\n//#endregion\n//#region src/methods/parse/parseAsync.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parsed input.\n*/\nasync function parseAsync(schema, input, config$1) {\n\tconst dataset = await schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\tif (dataset.issues) throw new ValiError(dataset.issues);\n\treturn dataset.value;\n}\n\n//#endregion\n//#region src/methods/parser/parser.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parser(schema, config$1) {\n\tconst func = (input) => parse(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/parser/parserAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction parserAsync(schema, config$1) {\n\tconst func = (input) => parseAsync(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/partial/partial.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partial(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ optional(schema.entries[key]) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/partial/partialAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction partialAsync(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ optionalAsync(schema.entries[key]) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/pick/pick.ts\n/**\n* Creates a modified copy of an object schema that contains only the selected\n* entries.\n*\n* @param schema The schema to pick from.\n* @param keys The selected entries.\n*\n* @returns An object schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction pick(schema, keys) {\n\tconst entries$1 = {};\n\tfor (const key of keys) entries$1[key] = schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/pipe/pipe.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction pipe(...pipe$1) {\n\treturn {\n\t\t...pipe$1[0],\n\t\tpipe: pipe$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\t\"~run\"(dataset, config$1) {\n\t\t\tfor (const item of pipe$1) if (item.kind !== \"metadata\") {\n\t\t\t\tif (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = item[\"~run\"](dataset, config$1);\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/pipe/pipeAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction pipeAsync(...pipe$1) {\n\treturn {\n\t\t...pipe$1[0],\n\t\tpipe: pipe$1,\n\t\tasync: true,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t},\n\t\tasync \"~run\"(dataset, config$1) {\n\t\t\tfor (const item of pipe$1) if (item.kind !== \"metadata\") {\n\t\t\t\tif (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n\t\t\t\t\tdataset.typed = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!dataset.issues || !config$1.abortEarly && !config$1.abortPipeEarly) dataset = await item[\"~run\"](dataset, config$1);\n\t\t\t}\n\t\t\treturn dataset;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/required/required.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction required(schema, arg2, arg3) {\n\tconst keys = Array.isArray(arg2) ? arg2 : void 0;\n\tconst message$1 = Array.isArray(arg2) ? arg3 : arg2;\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ nonOptional(schema.entries[key], message$1) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/required/requiredAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction requiredAsync(schema, arg2, arg3) {\n\tconst keys = Array.isArray(arg2) ? arg2 : void 0;\n\tconst message$1 = Array.isArray(arg2) ? arg3 : arg2;\n\tconst entries$1 = {};\n\tfor (const key in schema.entries) entries$1[key] = !keys || keys.includes(key) ? /* @__PURE__ */ nonOptionalAsync(schema.entries[key], message$1) : schema.entries[key];\n\treturn {\n\t\t...schema,\n\t\tentries: entries$1,\n\t\tget \"~standard\"() {\n\t\t\treturn /* @__PURE__ */ _getStandardProps(this);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParse/safeParse.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parse result.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParse(schema, input, config$1) {\n\tconst dataset = schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tsuccess: !dataset.issues,\n\t\toutput: dataset.value,\n\t\tissues: dataset.issues\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParse/safeParseAsync.ts\n/**\n* Parses an unknown input based on a schema.\n*\n* @param schema The schema to be used.\n* @param input The input to be parsed.\n* @param config The parse configuration.\n*\n* @returns The parse result.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nasync function safeParseAsync(schema, input, config$1) {\n\tconst dataset = await schema[\"~run\"]({ value: input }, /* @__PURE__ */ getGlobalConfig(config$1));\n\treturn {\n\t\ttyped: dataset.typed,\n\t\tsuccess: !dataset.issues,\n\t\toutput: dataset.value,\n\t\tissues: dataset.issues\n\t};\n}\n\n//#endregion\n//#region src/methods/safeParser/safeParser.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParser(schema, config$1) {\n\tconst func = (input) => /* @__PURE__ */ safeParse(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/safeParser/safeParserAsync.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction safeParserAsync(schema, config$1) {\n\tconst func = (input) => /* @__PURE__ */ safeParseAsync(schema, input, config$1);\n\tfunc.schema = schema;\n\tfunc.config = config$1;\n\treturn func;\n}\n\n//#endregion\n//#region src/methods/summarize/summarize.ts\n/**\n* Summarize the error messages of issues in a pretty-printable multi-line string.\n*\n* @param issues The list of issues.\n*\n* @returns A summary of the issues.\n*\n* @beta\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction summarize(issues) {\n\tlet summary = \"\";\n\tfor (const issue of issues) {\n\t\tif (summary) summary += \"\\n\";\n\t\tsummary += `× ${issue.message}`;\n\t\tconst dotPath = /* @__PURE__ */ getDotPath(issue);\n\t\tif (dotPath) summary += `\\n → at ${dotPath}`;\n\t}\n\treturn summary;\n}\n\n//#endregion\n//#region src/methods/unwrap/unwrap.ts\n/**\n* Unwraps the wrapped schema.\n*\n* @param schema The schema to be unwrapped.\n*\n* @returns The unwrapped schema.\n*/\n/* @__NO_SIDE_EFFECTS__ */\nfunction unwrap(schema) {\n\treturn schema.wrapped;\n}\n\n//#endregion\nexport { BASE64_REGEX, BIC_REGEX, CUID2_REGEX, DECIMAL_REGEX, DIGITS_REGEX, DOMAIN_REGEX, EMAIL_REGEX, EMOJI_REGEX, HEXADECIMAL_REGEX, HEX_COLOR_REGEX, IMEI_REGEX, IPV4_REGEX, IPV6_REGEX, IP_REGEX, ISO_DATE_REGEX, ISO_DATE_TIME_REGEX, ISO_DATE_TIME_SECOND_REGEX, ISO_TIMESTAMP_REGEX, ISO_TIME_REGEX, ISO_TIME_SECOND_REGEX, ISO_WEEK_REGEX, ISRC_REGEX, JWS_COMPACT_REGEX, MAC48_REGEX, MAC64_REGEX, MAC_REGEX, NANO_ID_REGEX, OCTAL_REGEX, RFC_EMAIL_REGEX, SLUG_REGEX, ULID_REGEX, UUID_REGEX, ValiError, _addIssue, _cloneDataset, _formatCase, _getByteCount, _getGraphemeCount, _getLastMetadata, _getStandardProps, _getWordCount, _isLuhnAlgo, _isValidObjectKey, _joinExpects, _stringify, any, args, argsAsync, array, arrayAsync, assert, awaitAsync, base64, bic, bigint, blob, boolean, brand, bytes, cache, cacheAsync, check, checkAsync, checkItems, checkItemsAsync, config, creditCard, cuid2, custom, customAsync, date, decimal, deleteGlobalConfig, deleteGlobalMessage, deleteSchemaMessage, deleteSpecificMessage, description, digits, domain, email, emoji, empty, endsWith, entries, entriesFromList, entriesFromObjects, enum_ as enum, enum_, everyItem, exactOptional, exactOptionalAsync, examples, excludes, fallback, fallbackAsync, file, filterItems, findItem, finite, flatten, flavor, forward, forwardAsync, function_ as function, function_, getDefault, getDefaults, getDefaultsAsync, getDescription, getDotPath, getExamples, getFallback, getFallbacks, getFallbacksAsync, getGlobalConfig, getGlobalMessage, getMetadata, getSchemaMessage, getSpecificMessage, getTitle, graphemes, gtValue, guard, hash, hexColor, hexadecimal, imei, includes, instance, integer, intersect, intersectAsync, ip, ipv4, ipv6, is, isOfKind, isOfType, isValiError, isbn, isoDate, isoDateTime, isoDateTimeSecond, isoTime, isoTimeSecond, isoTimestamp, isoWeek, isrc, jwsCompact, keyof, lazy, lazyAsync, length, literal, looseObject, looseObjectAsync, looseTuple, looseTupleAsync, ltValue, mac, mac48, mac64, map, mapAsync, mapItems, maxBytes, maxEntries, maxGraphemes, maxLength, maxSize, maxValue, maxWords, message, metadata, mimeType, minBytes, minEntries, minGraphemes, minLength, minSize, minValue, minWords, multipleOf, nan, nanoid, never, nonEmpty, nonNullable, nonNullableAsync, nonNullish, nonNullishAsync, nonOptional, nonOptionalAsync, normalize, notBytes, notEntries, notGraphemes, notLength, notSize, notValue, notValues, notWords, null_ as null, null_, nullable, nullableAsync, nullish, nullishAsync, number, object, objectAsync, objectWithRest, objectWithRestAsync, octal, omit, optional, optionalAsync, parse, parseAsync, parseBoolean, parseJson, parser, parserAsync, partial, partialAsync, partialCheck, partialCheckAsync, pick, picklist, pipe, pipeAsync, promise, rawCheck, rawCheckAsync, rawTransform, rawTransformAsync, readonly, record, recordAsync, reduceItems, regex, required, requiredAsync, returns, returnsAsync, rfcEmail, safeInteger, safeParse, safeParseAsync, safeParser, safeParserAsync, set, setAsync, setGlobalConfig, setGlobalMessage, setSchemaMessage, setSpecificMessage, size, slug, someItem, sortItems, startsWith, strictObject, strictObjectAsync, strictTuple, strictTupleAsync, string, stringifyJson, summarize, symbol, title, toBigint, toBoolean, toCamelCase, toDate, toKebabCase, toLowerCase, toMaxValue, toMinValue, toNumber, toPascalCase, toSnakeCase, toString, toUpperCase, transform, transformAsync, trim, trimEnd, trimStart, tuple, tupleAsync, tupleWithRest, tupleWithRestAsync, ulid, undefined_ as undefined, undefined_, undefinedable, undefinedableAsync, union, unionAsync, unknown, unwrap, url, uuid, value, values, variant, variantAsync, void_ as void, void_, words };","import { isValidSuiAddress, normalizeSuiAddress } from \"../../utils/sui-types.mjs\";\nimport { array, boolean, check, integer, lazy, literal, nullable, nullish, number, object, optional, pipe, record, string, transform, tuple, union, unknown } from \"valibot\";\n\n//#region src/transactions/data/internal.ts\nfunction safeEnum(options) {\n\treturn union(Object.keys(options).map((key) => withKind(key, object({ [key]: options[key] }))));\n}\nfunction withKind(key, schema) {\n\treturn pipe(object({\n\t\t...schema.entries,\n\t\t$kind: optional(literal(key))\n\t}), transform((value) => ({\n\t\t...value,\n\t\t$kind: key\n\t})));\n}\nconst SuiAddress = pipe(string(), transform((value) => normalizeSuiAddress(value)), check(isValidSuiAddress));\nconst ObjectID = SuiAddress;\nconst BCSBytes = string();\nconst JsonU64 = pipe(union([string(), pipe(number(), integer())]), check((val) => {\n\ttry {\n\t\tBigInt(val);\n\t\treturn BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n;\n\t} catch {\n\t\treturn false;\n\t}\n}, \"Invalid u64\"));\nconst U32 = pipe(number(), integer(), check((val) => val >= 0 && val < 2 ** 32, \"Invalid u32\"));\nconst ObjectRefSchema = object({\n\tobjectId: SuiAddress,\n\tversion: JsonU64,\n\tdigest: string()\n});\nconst ArgumentSchema = union([\n\twithKind(\"GasCoin\", object({ GasCoin: literal(true) })),\n\twithKind(\"Input\", object({\n\t\tInput: pipe(number(), integer()),\n\t\ttype: optional(union([\n\t\t\tliteral(\"pure\"),\n\t\t\tliteral(\"object\"),\n\t\t\tliteral(\"withdrawal\")\n\t\t]))\n\t})),\n\twithKind(\"Result\", object({ Result: pipe(number(), integer()) })),\n\twithKind(\"NestedResult\", object({ NestedResult: tuple([pipe(number(), integer()), pipe(number(), integer())]) }))\n]);\nconst GasDataSchema = object({\n\tbudget: nullable(JsonU64),\n\tprice: nullable(JsonU64),\n\towner: nullable(SuiAddress),\n\tpayment: nullable(array(ObjectRefSchema))\n});\nconst StructTagSchema = object({\n\taddress: string(),\n\tmodule: string(),\n\tname: string(),\n\ttypeParams: array(string())\n});\nconst OpenSignatureBodySchema = union([\n\tobject({ $kind: literal(\"address\") }),\n\tobject({ $kind: literal(\"bool\") }),\n\tobject({ $kind: literal(\"u8\") }),\n\tobject({ $kind: literal(\"u16\") }),\n\tobject({ $kind: literal(\"u32\") }),\n\tobject({ $kind: literal(\"u64\") }),\n\tobject({ $kind: literal(\"u128\") }),\n\tobject({ $kind: literal(\"u256\") }),\n\tobject({ $kind: literal(\"unknown\") }),\n\tobject({\n\t\t$kind: literal(\"vector\"),\n\t\tvector: lazy(() => OpenSignatureBodySchema)\n\t}),\n\tobject({\n\t\t$kind: literal(\"datatype\"),\n\t\tdatatype: object({\n\t\t\ttypeName: string(),\n\t\t\ttypeParameters: array(lazy(() => OpenSignatureBodySchema))\n\t\t})\n\t}),\n\tobject({\n\t\t$kind: literal(\"typeParameter\"),\n\t\tindex: pipe(number(), integer())\n\t})\n]);\nconst OpenSignatureSchema = object({\n\treference: nullable(union([\n\t\tliteral(\"mutable\"),\n\t\tliteral(\"immutable\"),\n\t\tliteral(\"unknown\")\n\t])),\n\tbody: OpenSignatureBodySchema\n});\nconst ProgrammableMoveCallSchema = object({\n\tpackage: ObjectID,\n\tmodule: string(),\n\tfunction: string(),\n\ttypeArguments: array(string()),\n\targuments: array(ArgumentSchema),\n\t_argumentTypes: optional(nullable(array(OpenSignatureSchema)))\n});\nconst $Intent = object({\n\tname: string(),\n\tinputs: record(string(), union([ArgumentSchema, array(ArgumentSchema)])),\n\tdata: record(string(), unknown())\n});\nconst CommandSchema = safeEnum({\n\tMoveCall: ProgrammableMoveCallSchema,\n\tTransferObjects: object({\n\t\tobjects: array(ArgumentSchema),\n\t\taddress: ArgumentSchema\n\t}),\n\tSplitCoins: object({\n\t\tcoin: ArgumentSchema,\n\t\tamounts: array(ArgumentSchema)\n\t}),\n\tMergeCoins: object({\n\t\tdestination: ArgumentSchema,\n\t\tsources: array(ArgumentSchema)\n\t}),\n\tPublish: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID)\n\t}),\n\tMakeMoveVec: object({\n\t\ttype: nullable(string()),\n\t\telements: array(ArgumentSchema)\n\t}),\n\tUpgrade: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID),\n\t\tpackage: ObjectID,\n\t\tticket: ArgumentSchema\n\t}),\n\t$Intent\n});\nconst ObjectArgSchema = safeEnum({\n\tImmOrOwnedObject: ObjectRefSchema,\n\tSharedObject: object({\n\t\tobjectId: ObjectID,\n\t\tinitialSharedVersion: JsonU64,\n\t\tmutable: boolean()\n\t}),\n\tReceiving: ObjectRefSchema\n});\nconst ReservationSchema = safeEnum({ MaxAmountU64: JsonU64 });\nconst WithdrawalTypeArgSchema = safeEnum({ Balance: string() });\nconst WithdrawFromSchema = safeEnum({\n\tSender: literal(true),\n\tSponsor: literal(true)\n});\nconst FundsWithdrawalArgSchema = object({\n\treservation: ReservationSchema,\n\ttypeArg: WithdrawalTypeArgSchema,\n\twithdrawFrom: WithdrawFromSchema\n});\nconst CallArgSchema = safeEnum({\n\tObject: ObjectArgSchema,\n\tPure: object({ bytes: BCSBytes }),\n\tUnresolvedPure: object({ value: unknown() }),\n\tUnresolvedObject: object({\n\t\tobjectId: ObjectID,\n\t\tversion: optional(nullable(JsonU64)),\n\t\tdigest: optional(nullable(string())),\n\t\tinitialSharedVersion: optional(nullable(JsonU64)),\n\t\tmutable: optional(nullable(boolean()))\n\t}),\n\tFundsWithdrawal: FundsWithdrawalArgSchema\n});\nconst NormalizedCallArg = safeEnum({\n\tObject: ObjectArgSchema,\n\tPure: object({ bytes: BCSBytes })\n});\nconst ValidDuringSchema = object({\n\tminEpoch: nullable(JsonU64),\n\tmaxEpoch: nullable(JsonU64),\n\tminTimestamp: nullable(JsonU64),\n\tmaxTimestamp: nullable(JsonU64),\n\tchain: string(),\n\tnonce: U32\n});\nconst TransactionExpiration = safeEnum({\n\tNone: literal(true),\n\tEpoch: JsonU64,\n\tValidDuring: ValidDuringSchema\n});\nconst TransactionDataSchema = object({\n\tversion: literal(2),\n\tsender: nullish(SuiAddress),\n\texpiration: nullish(TransactionExpiration),\n\tgasData: GasDataSchema,\n\tinputs: array(CallArgSchema),\n\tcommands: array(CommandSchema)\n});\n\n//#endregion\nexport { ArgumentSchema, BCSBytes, FundsWithdrawalArgSchema, JsonU64, NormalizedCallArg, ObjectID, ObjectRefSchema, SuiAddress, TransactionDataSchema, TransactionExpiration, ValidDuringSchema, safeEnum };\n//# sourceMappingURL=internal.mjs.map","import { normalizeSuiAddress } from \"./sui-types.mjs\";\nimport { TypeTagSerializer } from \"../bcs/type-tag-serializer.mjs\";\nimport { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { deriveDynamicFieldID } from \"./dynamic-fields.mjs\";\nimport { ObjectRefSchema } from \"../transactions/data/internal.mjs\";\nimport { fromBase58, fromHex, toBase58, toHex } from \"@mysten/bcs\";\nimport { parse } from \"valibot\";\n\n//#region src/utils/coin-reservation.ts\nconst SUI_ACCUMULATOR_ROOT_OBJECT_ID = normalizeSuiAddress(\"0xacc\");\nconst ACCUMULATOR_KEY_TYPE_TAG = TypeTagSerializer.parseFromStr(\"0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>\");\nconst COIN_RESERVATION_MAGIC = new Uint8Array([\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172,\n\t172\n]);\nfunction isCoinReservationDigest(digestBase58) {\n\treturn fromBase58(digestBase58).slice(12, 32).every((byte, i) => byte === COIN_RESERVATION_MAGIC[i]);\n}\n/**\n* Derives the accumulator dynamic field object ID for the given owner,\n* then XORs it with the chain identifier bytes to produce the objectId\n* for the coin reservation ref.\n*/\nfunction deriveReservationObjectId(owner, chainIdentifier) {\n\tconst accBytes = fromHex(deriveDynamicFieldID(SUI_ACCUMULATOR_ROOT_OBJECT_ID, ACCUMULATOR_KEY_TYPE_TAG, suiBcs.Address.serialize(owner).toBytes()).slice(2));\n\tconst chainBytes = fromBase58(chainIdentifier);\n\tif (chainBytes.length !== 32) throw new Error(`Invalid chain identifier length: expected 32 bytes, got ${chainBytes.length}`);\n\tconst xored = new Uint8Array(32);\n\tfor (let i = 0; i < 32; i++) xored[i] = accBytes[i] ^ chainBytes[i];\n\treturn `0x${toHex(xored)}`;\n}\nfunction createCoinReservationRef(reservedBalance, owner, chainIdentifier, epoch) {\n\tconst digestBytes = new Uint8Array(32);\n\tconst view = new DataView(digestBytes.buffer);\n\tview.setBigUint64(0, reservedBalance, true);\n\tconst epochNum = Number(epoch);\n\tif (!Number.isSafeInteger(epochNum) || epochNum < 0 || epochNum > 4294967295) throw new Error(`Epoch ${epoch} out of u32 range for coin reservation digest`);\n\tview.setUint32(8, epochNum, true);\n\tdigestBytes.set(COIN_RESERVATION_MAGIC, 12);\n\treturn parse(ObjectRefSchema, {\n\t\tobjectId: deriveReservationObjectId(owner, chainIdentifier),\n\t\tversion: \"0\",\n\t\tdigest: toBase58(digestBytes)\n\t});\n}\n\n//#endregion\nexport { createCoinReservationRef, isCoinReservationDigest };\n//# sourceMappingURL=coin-reservation.mjs.map","import { TypeTagSerializer } from \"../../bcs/type-tag-serializer.mjs\";\nimport { JsonU64, ObjectID, TransactionDataSchema, safeEnum } from \"./internal.mjs\";\nimport { fromBase64, toBase64 } from \"@mysten/bcs\";\nimport { array, bigint, boolean, check, integer, is, lazy, literal, nullable, nullish, number, object, optional, parse, pipe, string, union, unknown } from \"valibot\";\n\n//#region src/transactions/data/v1.ts\nconst ObjectRef = object({\n\tdigest: string(),\n\tobjectId: string(),\n\tversion: union([\n\t\tpipe(number(), integer()),\n\t\tstring(),\n\t\tbigint()\n\t])\n});\nconst ObjectArg = safeEnum({\n\tImmOrOwned: ObjectRef,\n\tShared: object({\n\t\tobjectId: ObjectID,\n\t\tinitialSharedVersion: JsonU64,\n\t\tmutable: boolean()\n\t}),\n\tReceiving: ObjectRef\n});\nconst NormalizedCallArg = safeEnum({\n\tObject: ObjectArg,\n\tPure: array(pipe(number(), integer()))\n});\nconst TransactionInput = union([object({\n\tkind: literal(\"Input\"),\n\tindex: pipe(number(), integer()),\n\tvalue: unknown(),\n\ttype: optional(literal(\"object\"))\n}), object({\n\tkind: literal(\"Input\"),\n\tindex: pipe(number(), integer()),\n\tvalue: unknown(),\n\ttype: literal(\"pure\")\n})]);\nconst TransactionExpiration = union([object({ Epoch: pipe(number(), integer()) }), object({ None: nullable(literal(true)) })]);\nconst StringEncodedBigint = pipe(union([\n\tnumber(),\n\tstring(),\n\tbigint()\n]), check((val) => {\n\tif (![\n\t\t\"string\",\n\t\t\"number\",\n\t\t\"bigint\"\n\t].includes(typeof val)) return false;\n\ttry {\n\t\tBigInt(val);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}));\nconst TypeTag = union([\n\tobject({ bool: nullable(literal(true)) }),\n\tobject({ u8: nullable(literal(true)) }),\n\tobject({ u64: nullable(literal(true)) }),\n\tobject({ u128: nullable(literal(true)) }),\n\tobject({ address: nullable(literal(true)) }),\n\tobject({ signer: nullable(literal(true)) }),\n\tobject({ vector: lazy(() => TypeTag) }),\n\tobject({ struct: lazy(() => StructTag) }),\n\tobject({ u16: nullable(literal(true)) }),\n\tobject({ u32: nullable(literal(true)) }),\n\tobject({ u256: nullable(literal(true)) })\n]);\nconst StructTag = object({\n\taddress: string(),\n\tmodule: string(),\n\tname: string(),\n\ttypeParams: array(TypeTag)\n});\nconst GasConfig = object({\n\tbudget: optional(StringEncodedBigint),\n\tprice: optional(StringEncodedBigint),\n\tpayment: optional(array(ObjectRef)),\n\towner: optional(string())\n});\nconst TransactionArgumentTypes = [\n\tTransactionInput,\n\tobject({ kind: literal(\"GasCoin\") }),\n\tobject({\n\t\tkind: literal(\"Result\"),\n\t\tindex: pipe(number(), integer())\n\t}),\n\tobject({\n\t\tkind: literal(\"NestedResult\"),\n\t\tindex: pipe(number(), integer()),\n\t\tresultIndex: pipe(number(), integer())\n\t})\n];\nconst TransactionArgument = union([...TransactionArgumentTypes]);\nconst MoveCallTransaction = object({\n\tkind: literal(\"MoveCall\"),\n\ttarget: pipe(string(), check((target) => target.split(\"::\").length === 3)),\n\ttypeArguments: array(string()),\n\targuments: array(TransactionArgument)\n});\nconst TransferObjectsTransaction = object({\n\tkind: literal(\"TransferObjects\"),\n\tobjects: array(TransactionArgument),\n\taddress: TransactionArgument\n});\nconst SplitCoinsTransaction = object({\n\tkind: literal(\"SplitCoins\"),\n\tcoin: TransactionArgument,\n\tamounts: array(TransactionArgument)\n});\nconst MergeCoinsTransaction = object({\n\tkind: literal(\"MergeCoins\"),\n\tdestination: TransactionArgument,\n\tsources: array(TransactionArgument)\n});\nconst MakeMoveVecTransaction = object({\n\tkind: literal(\"MakeMoveVec\"),\n\ttype: union([object({ Some: TypeTag }), object({ None: nullable(literal(true)) })]),\n\tobjects: array(TransactionArgument)\n});\nconst TransactionType = union([...[\n\tMoveCallTransaction,\n\tTransferObjectsTransaction,\n\tSplitCoinsTransaction,\n\tMergeCoinsTransaction,\n\tobject({\n\t\tkind: literal(\"Publish\"),\n\t\tmodules: array(array(pipe(number(), integer()))),\n\t\tdependencies: array(string())\n\t}),\n\tobject({\n\t\tkind: literal(\"Upgrade\"),\n\t\tmodules: array(array(pipe(number(), integer()))),\n\t\tdependencies: array(string()),\n\t\tpackageId: string(),\n\t\tticket: TransactionArgument\n\t}),\n\tMakeMoveVecTransaction\n]]);\nconst SerializedTransactionDataV1 = object({\n\tversion: literal(1),\n\tsender: optional(string()),\n\texpiration: nullish(TransactionExpiration),\n\tgasConfig: GasConfig,\n\tinputs: array(TransactionInput),\n\ttransactions: array(TransactionType)\n});\nfunction serializeV1TransactionData(transactionData) {\n\tconst inputs = transactionData.inputs.map((input, index) => {\n\t\tif (input.Object) return {\n\t\t\tkind: \"Input\",\n\t\t\tindex,\n\t\t\tvalue: { Object: input.Object.ImmOrOwnedObject ? { ImmOrOwned: input.Object.ImmOrOwnedObject } : input.Object.Receiving ? { Receiving: {\n\t\t\t\tdigest: input.Object.Receiving.digest,\n\t\t\t\tversion: input.Object.Receiving.version,\n\t\t\t\tobjectId: input.Object.Receiving.objectId\n\t\t\t} } : { Shared: {\n\t\t\t\tmutable: input.Object.SharedObject.mutable,\n\t\t\t\tinitialSharedVersion: input.Object.SharedObject.initialSharedVersion,\n\t\t\t\tobjectId: input.Object.SharedObject.objectId\n\t\t\t} } },\n\t\t\ttype: \"object\"\n\t\t};\n\t\tif (input.Pure) return {\n\t\t\tkind: \"Input\",\n\t\t\tindex,\n\t\t\tvalue: { Pure: Array.from(fromBase64(input.Pure.bytes)) },\n\t\t\ttype: \"pure\"\n\t\t};\n\t\tif (input.UnresolvedPure) return {\n\t\t\tkind: \"Input\",\n\t\t\ttype: \"pure\",\n\t\t\tindex,\n\t\t\tvalue: input.UnresolvedPure.value\n\t\t};\n\t\tif (input.UnresolvedObject) return {\n\t\t\tkind: \"Input\",\n\t\t\ttype: \"object\",\n\t\t\tindex,\n\t\t\tvalue: input.UnresolvedObject.objectId\n\t\t};\n\t\tthrow new Error(\"Invalid input\");\n\t});\n\treturn {\n\t\tversion: 1,\n\t\tsender: transactionData.sender ?? void 0,\n\t\texpiration: transactionData.expiration?.$kind === \"Epoch\" ? { Epoch: Number(transactionData.expiration.Epoch) } : transactionData.expiration ? { None: true } : null,\n\t\tgasConfig: {\n\t\t\towner: transactionData.gasData.owner ?? void 0,\n\t\t\tbudget: transactionData.gasData.budget ?? void 0,\n\t\t\tprice: transactionData.gasData.price ?? void 0,\n\t\t\tpayment: transactionData.gasData.payment ?? void 0\n\t\t},\n\t\tinputs,\n\t\ttransactions: transactionData.commands.map((command) => {\n\t\t\tif (command.MakeMoveVec) return {\n\t\t\t\tkind: \"MakeMoveVec\",\n\t\t\t\ttype: command.MakeMoveVec.type === null ? { None: true } : { Some: TypeTagSerializer.parseFromStr(command.MakeMoveVec.type) },\n\t\t\t\tobjects: command.MakeMoveVec.elements.map((arg) => convertTransactionArgument(arg, inputs))\n\t\t\t};\n\t\t\tif (command.MergeCoins) return {\n\t\t\t\tkind: \"MergeCoins\",\n\t\t\t\tdestination: convertTransactionArgument(command.MergeCoins.destination, inputs),\n\t\t\t\tsources: command.MergeCoins.sources.map((arg) => convertTransactionArgument(arg, inputs))\n\t\t\t};\n\t\t\tif (command.MoveCall) return {\n\t\t\t\tkind: \"MoveCall\",\n\t\t\t\ttarget: `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`,\n\t\t\t\ttypeArguments: command.MoveCall.typeArguments,\n\t\t\t\targuments: command.MoveCall.arguments.map((arg) => convertTransactionArgument(arg, inputs))\n\t\t\t};\n\t\t\tif (command.Publish) return {\n\t\t\t\tkind: \"Publish\",\n\t\t\t\tmodules: command.Publish.modules.map((mod) => Array.from(fromBase64(mod))),\n\t\t\t\tdependencies: command.Publish.dependencies\n\t\t\t};\n\t\t\tif (command.SplitCoins) return {\n\t\t\t\tkind: \"SplitCoins\",\n\t\t\t\tcoin: convertTransactionArgument(command.SplitCoins.coin, inputs),\n\t\t\t\tamounts: command.SplitCoins.amounts.map((arg) => convertTransactionArgument(arg, inputs))\n\t\t\t};\n\t\t\tif (command.TransferObjects) return {\n\t\t\t\tkind: \"TransferObjects\",\n\t\t\t\tobjects: command.TransferObjects.objects.map((arg) => convertTransactionArgument(arg, inputs)),\n\t\t\t\taddress: convertTransactionArgument(command.TransferObjects.address, inputs)\n\t\t\t};\n\t\t\tif (command.Upgrade) return {\n\t\t\t\tkind: \"Upgrade\",\n\t\t\t\tmodules: command.Upgrade.modules.map((mod) => Array.from(fromBase64(mod))),\n\t\t\t\tdependencies: command.Upgrade.dependencies,\n\t\t\t\tpackageId: command.Upgrade.package,\n\t\t\t\tticket: convertTransactionArgument(command.Upgrade.ticket, inputs)\n\t\t\t};\n\t\t\tthrow new Error(`Unknown transaction ${Object.keys(command)}`);\n\t\t})\n\t};\n}\nfunction convertTransactionArgument(arg, inputs) {\n\tif (arg.$kind === \"GasCoin\") return { kind: \"GasCoin\" };\n\tif (arg.$kind === \"Result\") return {\n\t\tkind: \"Result\",\n\t\tindex: arg.Result\n\t};\n\tif (arg.$kind === \"NestedResult\") return {\n\t\tkind: \"NestedResult\",\n\t\tindex: arg.NestedResult[0],\n\t\tresultIndex: arg.NestedResult[1]\n\t};\n\tif (arg.$kind === \"Input\") return inputs[arg.Input];\n\tthrow new Error(`Invalid argument ${Object.keys(arg)}`);\n}\nfunction transactionDataFromV1(data) {\n\treturn parse(TransactionDataSchema, {\n\t\tversion: 2,\n\t\tsender: data.sender ?? null,\n\t\texpiration: data.expiration ? \"Epoch\" in data.expiration ? { Epoch: data.expiration.Epoch } : { None: true } : null,\n\t\tgasData: {\n\t\t\towner: data.gasConfig.owner ?? null,\n\t\t\tbudget: data.gasConfig.budget?.toString() ?? null,\n\t\t\tprice: data.gasConfig.price?.toString() ?? null,\n\t\t\tpayment: data.gasConfig.payment?.map((ref) => ({\n\t\t\t\tdigest: ref.digest,\n\t\t\t\tobjectId: ref.objectId,\n\t\t\t\tversion: ref.version.toString()\n\t\t\t})) ?? null\n\t\t},\n\t\tinputs: data.inputs.map((input) => {\n\t\t\tif (input.kind === \"Input\") {\n\t\t\t\tif (is(NormalizedCallArg, input.value)) {\n\t\t\t\t\tconst value = parse(NormalizedCallArg, input.value);\n\t\t\t\t\tif (value.Object) {\n\t\t\t\t\t\tif (value.Object.ImmOrOwned) return { Object: { ImmOrOwnedObject: {\n\t\t\t\t\t\t\tobjectId: value.Object.ImmOrOwned.objectId,\n\t\t\t\t\t\t\tversion: String(value.Object.ImmOrOwned.version),\n\t\t\t\t\t\t\tdigest: value.Object.ImmOrOwned.digest\n\t\t\t\t\t\t} } };\n\t\t\t\t\t\tif (value.Object.Shared) return { Object: { SharedObject: {\n\t\t\t\t\t\t\tmutable: value.Object.Shared.mutable ?? null,\n\t\t\t\t\t\t\tinitialSharedVersion: value.Object.Shared.initialSharedVersion,\n\t\t\t\t\t\t\tobjectId: value.Object.Shared.objectId\n\t\t\t\t\t\t} } };\n\t\t\t\t\t\tif (value.Object.Receiving) return { Object: { Receiving: {\n\t\t\t\t\t\t\tdigest: value.Object.Receiving.digest,\n\t\t\t\t\t\t\tversion: String(value.Object.Receiving.version),\n\t\t\t\t\t\t\tobjectId: value.Object.Receiving.objectId\n\t\t\t\t\t\t} } };\n\t\t\t\t\t\tthrow new Error(\"Invalid object input\");\n\t\t\t\t\t}\n\t\t\t\t\treturn { Pure: { bytes: toBase64(new Uint8Array(value.Pure)) } };\n\t\t\t\t}\n\t\t\t\tif (input.type === \"object\") return { UnresolvedObject: { objectId: input.value } };\n\t\t\t\treturn { UnresolvedPure: { value: input.value } };\n\t\t\t}\n\t\t\tthrow new Error(\"Invalid input\");\n\t\t}),\n\t\tcommands: data.transactions.map((transaction) => {\n\t\t\tswitch (transaction.kind) {\n\t\t\t\tcase \"MakeMoveVec\": return { MakeMoveVec: {\n\t\t\t\t\ttype: \"Some\" in transaction.type ? TypeTagSerializer.tagToString(transaction.type.Some) : null,\n\t\t\t\t\telements: transaction.objects.map((arg) => parseV1TransactionArgument(arg))\n\t\t\t\t} };\n\t\t\t\tcase \"MergeCoins\": return { MergeCoins: {\n\t\t\t\t\tdestination: parseV1TransactionArgument(transaction.destination),\n\t\t\t\t\tsources: transaction.sources.map((arg) => parseV1TransactionArgument(arg))\n\t\t\t\t} };\n\t\t\t\tcase \"MoveCall\": {\n\t\t\t\t\tconst [pkg, mod, fn] = transaction.target.split(\"::\");\n\t\t\t\t\treturn { MoveCall: {\n\t\t\t\t\t\tpackage: pkg,\n\t\t\t\t\t\tmodule: mod,\n\t\t\t\t\t\tfunction: fn,\n\t\t\t\t\t\ttypeArguments: transaction.typeArguments,\n\t\t\t\t\t\targuments: transaction.arguments.map((arg) => parseV1TransactionArgument(arg))\n\t\t\t\t\t} };\n\t\t\t\t}\n\t\t\t\tcase \"Publish\": return { Publish: {\n\t\t\t\t\tmodules: transaction.modules.map((mod) => toBase64(Uint8Array.from(mod))),\n\t\t\t\t\tdependencies: transaction.dependencies\n\t\t\t\t} };\n\t\t\t\tcase \"SplitCoins\": return { SplitCoins: {\n\t\t\t\t\tcoin: parseV1TransactionArgument(transaction.coin),\n\t\t\t\t\tamounts: transaction.amounts.map((arg) => parseV1TransactionArgument(arg))\n\t\t\t\t} };\n\t\t\t\tcase \"TransferObjects\": return { TransferObjects: {\n\t\t\t\t\tobjects: transaction.objects.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\taddress: parseV1TransactionArgument(transaction.address)\n\t\t\t\t} };\n\t\t\t\tcase \"Upgrade\": return { Upgrade: {\n\t\t\t\t\tmodules: transaction.modules.map((mod) => toBase64(Uint8Array.from(mod))),\n\t\t\t\t\tdependencies: transaction.dependencies,\n\t\t\t\t\tpackage: transaction.packageId,\n\t\t\t\t\tticket: parseV1TransactionArgument(transaction.ticket)\n\t\t\t\t} };\n\t\t\t}\n\t\t\tthrow new Error(`Unknown transaction ${Object.keys(transaction)}`);\n\t\t})\n\t});\n}\nfunction parseV1TransactionArgument(arg) {\n\tswitch (arg.kind) {\n\t\tcase \"GasCoin\": return { GasCoin: true };\n\t\tcase \"Result\": return { Result: arg.index };\n\t\tcase \"NestedResult\": return { NestedResult: [arg.index, arg.resultIndex] };\n\t\tcase \"Input\": return { Input: arg.index };\n\t}\n}\n\n//#endregion\nexport { serializeV1TransactionData, transactionDataFromV1 };\n//# sourceMappingURL=v1.mjs.map","import { normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { ArgumentSchema } from \"./data/internal.mjs\";\nimport { is } from \"valibot\";\n\n//#region src/transactions/utils.ts\nfunction getIdFromCallArg(arg) {\n\tif (typeof arg === \"string\") return normalizeSuiAddress(arg);\n\tif (arg.Object) {\n\t\tif (arg.Object.ImmOrOwnedObject) return normalizeSuiAddress(arg.Object.ImmOrOwnedObject.objectId);\n\t\tif (arg.Object.Receiving) return normalizeSuiAddress(arg.Object.Receiving.objectId);\n\t\treturn normalizeSuiAddress(arg.Object.SharedObject.objectId);\n\t}\n\tif (arg.UnresolvedObject) return normalizeSuiAddress(arg.UnresolvedObject.objectId);\n}\nfunction isArgument(value) {\n\treturn is(ArgumentSchema, value);\n}\nfunction remapCommandArguments(command, inputMapping, commandMapping) {\n\tconst remapArg = (arg) => {\n\t\tswitch (arg.$kind) {\n\t\t\tcase \"Input\": {\n\t\t\t\tconst newInputIndex = inputMapping.get(arg.Input);\n\t\t\t\tif (newInputIndex === void 0) throw new Error(`Input ${arg.Input} not found in input mapping`);\n\t\t\t\treturn {\n\t\t\t\t\t...arg,\n\t\t\t\t\tInput: newInputIndex\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"Result\": {\n\t\t\t\tconst newCommandIndex = commandMapping.get(arg.Result);\n\t\t\t\tif (newCommandIndex !== void 0) return {\n\t\t\t\t\t...arg,\n\t\t\t\t\tResult: newCommandIndex\n\t\t\t\t};\n\t\t\t\treturn arg;\n\t\t\t}\n\t\t\tcase \"NestedResult\": {\n\t\t\t\tconst newCommandIndex = commandMapping.get(arg.NestedResult[0]);\n\t\t\t\tif (newCommandIndex !== void 0) return {\n\t\t\t\t\t...arg,\n\t\t\t\t\tNestedResult: [newCommandIndex, arg.NestedResult[1]]\n\t\t\t\t};\n\t\t\t\treturn arg;\n\t\t\t}\n\t\t\tdefault: return arg;\n\t\t}\n\t};\n\tswitch (command.$kind) {\n\t\tcase \"MoveCall\":\n\t\t\tcommand.MoveCall.arguments = command.MoveCall.arguments.map(remapArg);\n\t\t\tbreak;\n\t\tcase \"TransferObjects\":\n\t\t\tcommand.TransferObjects.objects = command.TransferObjects.objects.map(remapArg);\n\t\t\tcommand.TransferObjects.address = remapArg(command.TransferObjects.address);\n\t\t\tbreak;\n\t\tcase \"SplitCoins\":\n\t\t\tcommand.SplitCoins.coin = remapArg(command.SplitCoins.coin);\n\t\t\tcommand.SplitCoins.amounts = command.SplitCoins.amounts.map(remapArg);\n\t\t\tbreak;\n\t\tcase \"MergeCoins\":\n\t\t\tcommand.MergeCoins.destination = remapArg(command.MergeCoins.destination);\n\t\t\tcommand.MergeCoins.sources = command.MergeCoins.sources.map(remapArg);\n\t\t\tbreak;\n\t\tcase \"MakeMoveVec\":\n\t\t\tcommand.MakeMoveVec.elements = command.MakeMoveVec.elements.map(remapArg);\n\t\t\tbreak;\n\t\tcase \"Upgrade\":\n\t\t\tcommand.Upgrade.ticket = remapArg(command.Upgrade.ticket);\n\t\t\tbreak;\n\t\tcase \"$Intent\": {\n\t\t\tconst inputs = command.$Intent.inputs;\n\t\t\tcommand.$Intent.inputs = {};\n\t\t\tfor (const [key, value] of Object.entries(inputs)) command.$Intent.inputs[key] = Array.isArray(value) ? value.map(remapArg) : remapArg(value);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"Publish\": break;\n\t}\n}\n\n//#endregion\nexport { getIdFromCallArg, isArgument, remapCommandArguments };\n//# sourceMappingURL=utils.mjs.map","import { blake2b } from \"@noble/hashes/blake2.js\";\n\n//#region src/transactions/hash.ts\n/**\n* Generates a Blake2b hash of typed data as a base64 string.\n*\n* @param typeTag type tag (e.g. TransactionData, SenderSignedData)\n* @param data data to hash\n*/\nfunction hashTypedData(typeTag, data) {\n\tconst typeTagBytes = Array.from(`${typeTag}::`).map((e) => e.charCodeAt(0));\n\tconst dataWithTag = new Uint8Array(typeTagBytes.length + data.length);\n\tdataWithTag.set(typeTagBytes);\n\tdataWithTag.set(data, typeTagBytes.length);\n\treturn blake2b(dataWithTag, { dkLen: 32 });\n}\n\n//#endregion\nexport { hashTypedData };\n//# sourceMappingURL=hash.mjs.map","import { normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { ArgumentSchema, TransactionDataSchema } from \"./data/internal.mjs\";\nimport { transactionDataFromV1 } from \"./data/v1.mjs\";\nimport { hashTypedData } from \"./hash.mjs\";\nimport { getIdFromCallArg, remapCommandArguments } from \"./utils.mjs\";\nimport { toBase58 } from \"@mysten/bcs\";\nimport { parse } from \"valibot\";\n\n//#region src/transactions/TransactionData.ts\nfunction prepareSuiAddress(address) {\n\treturn normalizeSuiAddress(address).replace(\"0x\", \"\");\n}\nvar TransactionDataBuilder = class TransactionDataBuilder {\n\tstatic fromKindBytes(bytes) {\n\t\tconst programmableTx = suiBcs.TransactionKind.parse(bytes).ProgrammableTransaction;\n\t\tif (!programmableTx) throw new Error(\"Unable to deserialize from bytes.\");\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: null,\n\t\t\texpiration: null,\n\t\t\tgasData: {\n\t\t\t\tbudget: null,\n\t\t\t\towner: null,\n\t\t\t\tpayment: null,\n\t\t\t\tprice: null\n\t\t\t},\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands\n\t\t});\n\t}\n\tstatic fromBytes(bytes) {\n\t\tconst data = suiBcs.TransactionData.parse(bytes)?.V1;\n\t\tconst programmableTx = data.kind.ProgrammableTransaction;\n\t\tif (!data || !programmableTx) throw new Error(\"Unable to deserialize from bytes.\");\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: data.sender,\n\t\t\texpiration: data.expiration,\n\t\t\tgasData: data.gasData,\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands\n\t\t});\n\t}\n\tstatic restore(data) {\n\t\tif (data.version === 2) return new TransactionDataBuilder(parse(TransactionDataSchema, data));\n\t\telse return new TransactionDataBuilder(parse(TransactionDataSchema, transactionDataFromV1(data)));\n\t}\n\t/**\n\t* Generate transaction digest.\n\t*\n\t* @param bytes BCS serialized transaction data\n\t* @returns transaction digest.\n\t*/\n\tstatic getDigestFromBytes(bytes) {\n\t\treturn toBase58(hashTypedData(\"TransactionData\", bytes));\n\t}\n\tconstructor(clone) {\n\t\tthis.version = 2;\n\t\tthis.sender = clone?.sender ?? null;\n\t\tthis.expiration = clone?.expiration ?? null;\n\t\tthis.inputs = clone?.inputs ?? [];\n\t\tthis.commands = clone?.commands ?? [];\n\t\tthis.gasData = clone?.gasData ?? {\n\t\t\tbudget: null,\n\t\t\tprice: null,\n\t\t\towner: null,\n\t\t\tpayment: null\n\t\t};\n\t}\n\tbuild({ maxSizeBytes = Infinity, overrides, onlyTransactionKind } = {}) {\n\t\tconst inputs = this.inputs;\n\t\tconst commands = this.commands;\n\t\tconst kind = { ProgrammableTransaction: {\n\t\t\tinputs,\n\t\t\tcommands\n\t\t} };\n\t\tif (onlyTransactionKind) return suiBcs.TransactionKind.serialize(kind, { maxSize: maxSizeBytes }).toBytes();\n\t\tconst expiration = overrides?.expiration ?? this.expiration;\n\t\tconst sender = overrides?.sender ?? this.sender;\n\t\tconst gasData = {\n\t\t\t...this.gasData,\n\t\t\t...overrides?.gasData\n\t\t};\n\t\tif (!sender) throw new Error(\"Missing transaction sender\");\n\t\tif (!gasData.budget) throw new Error(\"Missing gas budget\");\n\t\tif (!gasData.payment) throw new Error(\"Missing gas payment\");\n\t\tif (!gasData.price) throw new Error(\"Missing gas price\");\n\t\tconst transactionData = {\n\t\t\tsender: prepareSuiAddress(sender),\n\t\t\texpiration: expiration ? expiration : { None: true },\n\t\t\tgasData: {\n\t\t\t\tpayment: gasData.payment,\n\t\t\t\towner: prepareSuiAddress(this.gasData.owner ?? sender),\n\t\t\t\tprice: BigInt(gasData.price),\n\t\t\t\tbudget: BigInt(gasData.budget)\n\t\t\t},\n\t\t\tkind: { ProgrammableTransaction: {\n\t\t\t\tinputs,\n\t\t\t\tcommands\n\t\t\t} }\n\t\t};\n\t\treturn suiBcs.TransactionData.serialize({ V1: transactionData }, { maxSize: maxSizeBytes }).toBytes();\n\t}\n\taddInput(type, arg) {\n\t\tconst index = this.inputs.length;\n\t\tthis.inputs.push(arg);\n\t\treturn {\n\t\t\tInput: index,\n\t\t\ttype,\n\t\t\t$kind: \"Input\"\n\t\t};\n\t}\n\tgetInputUses(index, fn) {\n\t\tthis.mapArguments((arg, command) => {\n\t\t\tif (arg.$kind === \"Input\" && arg.Input === index) fn(arg, command);\n\t\t\treturn arg;\n\t\t});\n\t}\n\tmapCommandArguments(index, fn) {\n\t\tconst command = this.commands[index];\n\t\tswitch (command.$kind) {\n\t\t\tcase \"MoveCall\":\n\t\t\t\tcommand.MoveCall.arguments = command.MoveCall.arguments.map((arg) => fn(arg, command, index));\n\t\t\t\tbreak;\n\t\t\tcase \"TransferObjects\":\n\t\t\t\tcommand.TransferObjects.objects = command.TransferObjects.objects.map((arg) => fn(arg, command, index));\n\t\t\t\tcommand.TransferObjects.address = fn(command.TransferObjects.address, command, index);\n\t\t\t\tbreak;\n\t\t\tcase \"SplitCoins\":\n\t\t\t\tcommand.SplitCoins.coin = fn(command.SplitCoins.coin, command, index);\n\t\t\t\tcommand.SplitCoins.amounts = command.SplitCoins.amounts.map((arg) => fn(arg, command, index));\n\t\t\t\tbreak;\n\t\t\tcase \"MergeCoins\":\n\t\t\t\tcommand.MergeCoins.destination = fn(command.MergeCoins.destination, command, index);\n\t\t\t\tcommand.MergeCoins.sources = command.MergeCoins.sources.map((arg) => fn(arg, command, index));\n\t\t\t\tbreak;\n\t\t\tcase \"MakeMoveVec\":\n\t\t\t\tcommand.MakeMoveVec.elements = command.MakeMoveVec.elements.map((arg) => fn(arg, command, index));\n\t\t\t\tbreak;\n\t\t\tcase \"Upgrade\":\n\t\t\t\tcommand.Upgrade.ticket = fn(command.Upgrade.ticket, command, index);\n\t\t\t\tbreak;\n\t\t\tcase \"$Intent\":\n\t\t\t\tconst inputs = command.$Intent.inputs;\n\t\t\t\tcommand.$Intent.inputs = {};\n\t\t\t\tfor (const [key, value] of Object.entries(inputs)) command.$Intent.inputs[key] = Array.isArray(value) ? value.map((arg) => fn(arg, command, index)) : fn(value, command, index);\n\t\t\t\tbreak;\n\t\t\tcase \"Publish\": break;\n\t\t\tdefault: throw new Error(`Unexpected transaction kind: ${command.$kind}`);\n\t\t}\n\t}\n\tmapArguments(fn) {\n\t\tfor (const commandIndex of this.commands.keys()) this.mapCommandArguments(commandIndex, fn);\n\t}\n\treplaceCommand(index, replacement, resultIndex = index) {\n\t\tif (!Array.isArray(replacement)) {\n\t\t\tthis.commands[index] = replacement;\n\t\t\treturn;\n\t\t}\n\t\tconst sizeDiff = replacement.length - 1;\n\t\tthis.commands.splice(index, 1, ...structuredClone(replacement));\n\t\tthis.mapArguments((arg, _command, commandIndex) => {\n\t\t\tif (commandIndex < index + replacement.length) return arg;\n\t\t\tif (typeof resultIndex !== \"number\") {\n\t\t\t\tif (arg.$kind === \"Result\" && arg.Result === index || arg.$kind === \"NestedResult\" && arg.NestedResult[0] === index) if (!(\"NestedResult\" in arg) || arg.NestedResult[1] === 0) return parse(ArgumentSchema, structuredClone(resultIndex));\n\t\t\t\telse throw new Error(`Cannot replace command ${index} with a specific result type: NestedResult[${index}, ${arg.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`);\n\t\t\t}\n\t\t\tswitch (arg.$kind) {\n\t\t\t\tcase \"Result\":\n\t\t\t\t\tif (arg.Result === index && typeof resultIndex === \"number\") arg.Result = resultIndex;\n\t\t\t\t\tif (arg.Result > index) arg.Result += sizeDiff;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"NestedResult\":\n\t\t\t\t\tif (arg.NestedResult[0] === index && typeof resultIndex === \"number\") return {\n\t\t\t\t\t\t$kind: \"NestedResult\",\n\t\t\t\t\t\tNestedResult: [resultIndex, arg.NestedResult[1]]\n\t\t\t\t\t};\n\t\t\t\t\tif (arg.NestedResult[0] > index) arg.NestedResult[0] += sizeDiff;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn arg;\n\t\t});\n\t}\n\treplaceCommandWithTransaction(index, otherTransaction, result) {\n\t\tif (result.$kind !== \"Result\" && result.$kind !== \"NestedResult\") throw new Error(\"Result must be of kind Result or NestedResult\");\n\t\tthis.insertTransaction(index, otherTransaction);\n\t\tthis.replaceCommand(index + otherTransaction.commands.length, [], \"Result\" in result ? { NestedResult: [result.Result + index, 0] } : { NestedResult: [result.NestedResult[0] + index, result.NestedResult[1]] });\n\t}\n\tinsertTransaction(atCommandIndex, otherTransaction) {\n\t\tconst inputMapping = /* @__PURE__ */ new Map();\n\t\tconst commandMapping = /* @__PURE__ */ new Map();\n\t\tfor (let i = 0; i < otherTransaction.inputs.length; i++) {\n\t\t\tconst otherInput = otherTransaction.inputs[i];\n\t\t\tconst id = getIdFromCallArg(otherInput);\n\t\t\tlet existingIndex = -1;\n\t\t\tif (id !== void 0) {\n\t\t\t\texistingIndex = this.inputs.findIndex((input) => getIdFromCallArg(input) === id);\n\t\t\t\tif (existingIndex !== -1 && this.inputs[existingIndex].Object?.SharedObject && otherInput.Object?.SharedObject) this.inputs[existingIndex].Object.SharedObject.mutable = this.inputs[existingIndex].Object.SharedObject.mutable || otherInput.Object.SharedObject.mutable;\n\t\t\t}\n\t\t\tif (existingIndex !== -1) inputMapping.set(i, existingIndex);\n\t\t\telse {\n\t\t\t\tconst newIndex = this.inputs.length;\n\t\t\t\tthis.inputs.push(otherInput);\n\t\t\t\tinputMapping.set(i, newIndex);\n\t\t\t}\n\t\t}\n\t\tfor (let i = 0; i < otherTransaction.commands.length; i++) commandMapping.set(i, atCommandIndex + i);\n\t\tconst remappedCommands = [];\n\t\tfor (let i = 0; i < otherTransaction.commands.length; i++) {\n\t\t\tconst command = structuredClone(otherTransaction.commands[i]);\n\t\t\tremapCommandArguments(command, inputMapping, commandMapping);\n\t\t\tremappedCommands.push(command);\n\t\t}\n\t\tthis.commands.splice(atCommandIndex, 0, ...remappedCommands);\n\t\tconst sizeDiff = remappedCommands.length;\n\t\tif (sizeDiff > 0) this.mapArguments((arg, _command, commandIndex) => {\n\t\t\tif (commandIndex >= atCommandIndex && commandIndex < atCommandIndex + remappedCommands.length) return arg;\n\t\t\tswitch (arg.$kind) {\n\t\t\t\tcase \"Result\":\n\t\t\t\t\tif (arg.Result >= atCommandIndex) arg.Result += sizeDiff;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"NestedResult\":\n\t\t\t\t\tif (arg.NestedResult[0] >= atCommandIndex) arg.NestedResult[0] += sizeDiff;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn arg;\n\t\t});\n\t}\n\tgetDigest() {\n\t\tconst bytes = this.build({ onlyTransactionKind: false });\n\t\treturn TransactionDataBuilder.getDigestFromBytes(bytes);\n\t}\n\tsnapshot() {\n\t\treturn parse(TransactionDataSchema, this);\n\t}\n\tshallowClone() {\n\t\treturn new TransactionDataBuilder({\n\t\t\tversion: this.version,\n\t\t\tsender: this.sender,\n\t\t\texpiration: this.expiration,\n\t\t\tgasData: { ...this.gasData },\n\t\t\tinputs: [...this.inputs],\n\t\t\tcommands: [...this.commands]\n\t\t});\n\t}\n\tapplyResolvedData(resolved) {\n\t\tif (!this.sender) this.sender = resolved.sender ?? null;\n\t\tif (!this.expiration) this.expiration = resolved.expiration ?? null;\n\t\tif (!this.gasData.budget) this.gasData.budget = resolved.gasData.budget;\n\t\tif (!this.gasData.owner) this.gasData.owner = resolved.gasData.owner ?? null;\n\t\tif (!this.gasData.payment) this.gasData.payment = resolved.gasData.payment;\n\t\tif (!this.gasData.price) this.gasData.price = resolved.gasData.price;\n\t\tfor (let i = 0; i < this.inputs.length; i++) {\n\t\t\tconst input = this.inputs[i];\n\t\t\tconst resolvedInput = resolved.inputs[i];\n\t\t\tswitch (input.$kind) {\n\t\t\t\tcase \"UnresolvedPure\":\n\t\t\t\t\tif (resolvedInput.$kind !== \"Pure\") throw new Error(`Expected input at index ${i} to resolve to a Pure argument, but got ${JSON.stringify(resolvedInput)}`);\n\t\t\t\t\tthis.inputs[i] = resolvedInput;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"UnresolvedObject\":\n\t\t\t\t\tif (resolvedInput.$kind !== \"Object\") throw new Error(`Expected input at index ${i} to resolve to an Object argument, but got ${JSON.stringify(resolvedInput)}`);\n\t\t\t\t\tif (resolvedInput.Object.$kind === \"ImmOrOwnedObject\" || resolvedInput.Object.$kind === \"Receiving\") {\n\t\t\t\t\t\tconst original = input.UnresolvedObject;\n\t\t\t\t\t\tconst resolved$1 = resolvedInput.Object.ImmOrOwnedObject ?? resolvedInput.Object.Receiving;\n\t\t\t\t\t\tif (normalizeSuiAddress(original.objectId) !== normalizeSuiAddress(resolved$1.objectId) || original.version != null && original.version !== resolved$1.version || original.digest != null && original.digest !== resolved$1.digest || original.mutable != null || original.initialSharedVersion != null) throw new Error(`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved$1)}`);\n\t\t\t\t\t} else if (resolvedInput.Object.$kind === \"SharedObject\") {\n\t\t\t\t\t\tconst original = input.UnresolvedObject;\n\t\t\t\t\t\tconst resolved$1 = resolvedInput.Object.SharedObject;\n\t\t\t\t\t\tif (normalizeSuiAddress(original.objectId) !== normalizeSuiAddress(resolved$1.objectId) || original.initialSharedVersion != null && original.initialSharedVersion !== resolved$1.initialSharedVersion || original.mutable != null && original.mutable !== resolved$1.mutable || original.version != null || original.digest != null) throw new Error(`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved$1)}`);\n\t\t\t\t\t} else throw new Error(`Input at index ${i} resolved to an unexpected Object kind: ${JSON.stringify(resolvedInput.Object)}`);\n\t\t\t\t\tthis.inputs[i] = resolvedInput;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\n//#endregion\nexport { TransactionDataBuilder };\n//# sourceMappingURL=TransactionData.mjs.map","import { normalizeSuiObjectId } from \"../utils/sui-types.mjs\";\nimport { ArgumentSchema } from \"./data/internal.mjs\";\nimport { toBase64 } from \"@mysten/bcs\";\nimport { parse } from \"valibot\";\n\n//#region src/transactions/Commands.ts\nlet UpgradePolicy = /* @__PURE__ */ function(UpgradePolicy$1) {\n\tUpgradePolicy$1[UpgradePolicy$1[\"COMPATIBLE\"] = 0] = \"COMPATIBLE\";\n\tUpgradePolicy$1[UpgradePolicy$1[\"ADDITIVE\"] = 128] = \"ADDITIVE\";\n\tUpgradePolicy$1[UpgradePolicy$1[\"DEP_ONLY\"] = 192] = \"DEP_ONLY\";\n\treturn UpgradePolicy$1;\n}({});\n/**\n* Simple helpers used to construct transactions:\n*/\nconst TransactionCommands = {\n\tMoveCall(input) {\n\t\tconst [pkg, mod = \"\", fn = \"\"] = \"target\" in input ? input.target.split(\"::\") : [\n\t\t\tinput.package,\n\t\t\tinput.module,\n\t\t\tinput.function\n\t\t];\n\t\treturn {\n\t\t\t$kind: \"MoveCall\",\n\t\t\tMoveCall: {\n\t\t\t\tpackage: pkg,\n\t\t\t\tmodule: mod,\n\t\t\t\tfunction: fn,\n\t\t\t\ttypeArguments: input.typeArguments ?? [],\n\t\t\t\targuments: input.arguments ?? []\n\t\t\t}\n\t\t};\n\t},\n\tTransferObjects(objects, address) {\n\t\treturn {\n\t\t\t$kind: \"TransferObjects\",\n\t\t\tTransferObjects: {\n\t\t\t\tobjects: objects.map((o) => parse(ArgumentSchema, o)),\n\t\t\t\taddress: parse(ArgumentSchema, address)\n\t\t\t}\n\t\t};\n\t},\n\tSplitCoins(coin, amounts) {\n\t\treturn {\n\t\t\t$kind: \"SplitCoins\",\n\t\t\tSplitCoins: {\n\t\t\t\tcoin: parse(ArgumentSchema, coin),\n\t\t\t\tamounts: amounts.map((o) => parse(ArgumentSchema, o))\n\t\t\t}\n\t\t};\n\t},\n\tMergeCoins(destination, sources) {\n\t\treturn {\n\t\t\t$kind: \"MergeCoins\",\n\t\t\tMergeCoins: {\n\t\t\t\tdestination: parse(ArgumentSchema, destination),\n\t\t\t\tsources: sources.map((o) => parse(ArgumentSchema, o))\n\t\t\t}\n\t\t};\n\t},\n\tPublish({ modules, dependencies }) {\n\t\treturn {\n\t\t\t$kind: \"Publish\",\n\t\t\tPublish: {\n\t\t\t\tmodules: modules.map((module) => typeof module === \"string\" ? module : toBase64(new Uint8Array(module))),\n\t\t\t\tdependencies: dependencies.map((dep) => normalizeSuiObjectId(dep))\n\t\t\t}\n\t\t};\n\t},\n\tUpgrade({ modules, dependencies, package: packageId, ticket }) {\n\t\treturn {\n\t\t\t$kind: \"Upgrade\",\n\t\t\tUpgrade: {\n\t\t\t\tmodules: modules.map((module) => typeof module === \"string\" ? module : toBase64(new Uint8Array(module))),\n\t\t\t\tdependencies: dependencies.map((dep) => normalizeSuiObjectId(dep)),\n\t\t\t\tpackage: packageId,\n\t\t\t\tticket: parse(ArgumentSchema, ticket)\n\t\t\t}\n\t\t};\n\t},\n\tMakeMoveVec({ type, elements }) {\n\t\treturn {\n\t\t\t$kind: \"MakeMoveVec\",\n\t\t\tMakeMoveVec: {\n\t\t\t\ttype: type ?? null,\n\t\t\t\telements: elements.map((o) => parse(ArgumentSchema, o))\n\t\t\t}\n\t\t};\n\t},\n\tIntent({ name, inputs = {}, data = {} }) {\n\t\treturn {\n\t\t\t$kind: \"$Intent\",\n\t\t\t$Intent: {\n\t\t\t\tname,\n\t\t\t\tinputs: Object.fromEntries(Object.entries(inputs).map(([key, value]) => [key, Array.isArray(value) ? value.map((o) => parse(ArgumentSchema, o)) : parse(ArgumentSchema, value)])),\n\t\t\t\tdata\n\t\t\t}\n\t\t};\n\t}\n};\n\n//#endregion\nexport { TransactionCommands, UpgradePolicy };\n//# sourceMappingURL=Commands.mjs.map","import { BCSBytes, FundsWithdrawalArgSchema, JsonU64, ObjectID, ObjectRefSchema, SuiAddress, ValidDuringSchema } from \"./internal.mjs\";\nimport { array, boolean, integer, literal, nullable, nullish, number, object, optional, pipe, record, string, tuple, union, unknown } from \"valibot\";\n\n//#region src/transactions/data/v2.ts\nfunction enumUnion(options) {\n\treturn union(Object.entries(options).map(([key, value]) => object({ [key]: value })));\n}\nconst Argument = enumUnion({\n\tGasCoin: literal(true),\n\tInput: pipe(number(), integer()),\n\tResult: pipe(number(), integer()),\n\tNestedResult: tuple([pipe(number(), integer()), pipe(number(), integer())])\n});\nconst GasData = object({\n\tbudget: nullable(JsonU64),\n\tprice: nullable(JsonU64),\n\towner: nullable(SuiAddress),\n\tpayment: nullable(array(ObjectRefSchema))\n});\nconst ProgrammableMoveCall = object({\n\tpackage: ObjectID,\n\tmodule: string(),\n\tfunction: string(),\n\ttypeArguments: array(string()),\n\targuments: array(Argument)\n});\nconst $Intent = object({\n\tname: string(),\n\tinputs: record(string(), union([Argument, array(Argument)])),\n\tdata: record(string(), unknown())\n});\nconst Command = enumUnion({\n\tMoveCall: ProgrammableMoveCall,\n\tTransferObjects: object({\n\t\tobjects: array(Argument),\n\t\taddress: Argument\n\t}),\n\tSplitCoins: object({\n\t\tcoin: Argument,\n\t\tamounts: array(Argument)\n\t}),\n\tMergeCoins: object({\n\t\tdestination: Argument,\n\t\tsources: array(Argument)\n\t}),\n\tPublish: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID)\n\t}),\n\tMakeMoveVec: object({\n\t\ttype: nullable(string()),\n\t\telements: array(Argument)\n\t}),\n\tUpgrade: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID),\n\t\tpackage: ObjectID,\n\t\tticket: Argument\n\t}),\n\t$Intent\n});\nconst CallArg = enumUnion({\n\tObject: enumUnion({\n\t\tImmOrOwnedObject: ObjectRefSchema,\n\t\tSharedObject: object({\n\t\t\tobjectId: ObjectID,\n\t\t\tinitialSharedVersion: JsonU64,\n\t\t\tmutable: boolean()\n\t\t}),\n\t\tReceiving: ObjectRefSchema\n\t}),\n\tPure: object({ bytes: BCSBytes }),\n\tUnresolvedPure: object({ value: unknown() }),\n\tUnresolvedObject: object({\n\t\tobjectId: ObjectID,\n\t\tversion: optional(nullable(JsonU64)),\n\t\tdigest: optional(nullable(string())),\n\t\tinitialSharedVersion: optional(nullable(JsonU64)),\n\t\tmutable: optional(nullable(boolean()))\n\t}),\n\tFundsWithdrawal: FundsWithdrawalArgSchema\n});\nconst TransactionExpiration = enumUnion({\n\tNone: literal(true),\n\tEpoch: JsonU64,\n\tValidDuring: ValidDuringSchema\n});\nconst SerializedTransactionDataV2Schema = object({\n\tversion: literal(2),\n\tsender: nullish(SuiAddress),\n\texpiration: nullish(TransactionExpiration),\n\tgasData: GasData,\n\tinputs: array(CallArg),\n\tcommands: array(Command),\n\tdigest: optional(nullable(string()))\n});\n\n//#endregion\nexport { SerializedTransactionDataV2Schema };\n//# sourceMappingURL=v2.mjs.map","import { normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { toBase64 } from \"@mysten/bcs\";\n\n//#region src/transactions/Inputs.ts\nfunction Pure(data) {\n\treturn {\n\t\t$kind: \"Pure\",\n\t\tPure: { bytes: data instanceof Uint8Array ? toBase64(data) : data.toBase64() }\n\t};\n}\nconst Inputs = {\n\tPure,\n\tObjectRef({ objectId, digest, version }) {\n\t\treturn {\n\t\t\t$kind: \"Object\",\n\t\t\tObject: {\n\t\t\t\t$kind: \"ImmOrOwnedObject\",\n\t\t\t\tImmOrOwnedObject: {\n\t\t\t\t\tdigest,\n\t\t\t\t\tversion,\n\t\t\t\t\tobjectId: normalizeSuiAddress(objectId)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t},\n\tSharedObjectRef({ objectId, mutable, initialSharedVersion }) {\n\t\treturn {\n\t\t\t$kind: \"Object\",\n\t\t\tObject: {\n\t\t\t\t$kind: \"SharedObject\",\n\t\t\t\tSharedObject: {\n\t\t\t\t\tmutable,\n\t\t\t\t\tinitialSharedVersion,\n\t\t\t\t\tobjectId: normalizeSuiAddress(objectId)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t},\n\tReceivingRef({ objectId, digest, version }) {\n\t\treturn {\n\t\t\t$kind: \"Object\",\n\t\t\tObject: {\n\t\t\t\t$kind: \"Receiving\",\n\t\t\t\tReceiving: {\n\t\t\t\t\tdigest,\n\t\t\t\t\tversion,\n\t\t\t\t\tobjectId: normalizeSuiAddress(objectId)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t},\n\tFundsWithdrawal({ reservation, typeArg, withdrawFrom }) {\n\t\treturn {\n\t\t\t$kind: \"FundsWithdrawal\",\n\t\t\tFundsWithdrawal: {\n\t\t\t\treservation,\n\t\t\t\ttypeArg,\n\t\t\t\twithdrawFrom\n\t\t\t}\n\t\t};\n\t}\n};\n\n//#endregion\nexport { Inputs };\n//# sourceMappingURL=Inputs.mjs.map","//#region src/client/errors.ts\nvar SuiClientError = class extends Error {};\nvar SimulationError = class extends SuiClientError {\n\tconstructor(message, options) {\n\t\tsuper(message, { cause: options?.cause });\n\t\tthis.executionError = options?.executionError;\n\t}\n};\nvar ObjectError = class ObjectError extends SuiClientError {\n\tconstructor(code, message) {\n\t\tsuper(message);\n\t\tthis.code = code;\n\t}\n\tstatic fromResponse(response, objectId) {\n\t\tswitch (response.code) {\n\t\t\tcase \"notExists\": return new ObjectError(response.code, `Object ${response.object_id} does not exist`);\n\t\t\tcase \"dynamicFieldNotFound\": return new ObjectError(response.code, `Dynamic field not found for object ${response.parent_object_id}`);\n\t\t\tcase \"deleted\": return new ObjectError(response.code, `Object ${response.object_id} has been deleted`);\n\t\t\tcase \"displayError\": return new ObjectError(response.code, `Display error: ${response.error}`);\n\t\t\tcase \"unknown\":\n\t\t\tdefault: return new ObjectError(response.code, `Unknown error while loading object${objectId ? ` ${objectId}` : \"\"}`);\n\t\t}\n\t}\n};\n\n//#endregion\nexport { ObjectError, SimulationError };\n//# sourceMappingURL=errors.mjs.map","//#region src/utils/constants.ts\nconst SUI_DECIMALS = 9;\nconst MIST_PER_SUI = BigInt(1e9);\nconst MOVE_STDLIB_ADDRESS = \"0x0000000000000000000000000000000000000000000000000000000000000001\";\nconst SUI_FRAMEWORK_ADDRESS = \"0x0000000000000000000000000000000000000000000000000000000000000002\";\nconst SUI_SYSTEM_ADDRESS = \"0x0000000000000000000000000000000000000000000000000000000000000003\";\nconst SUI_CLOCK_OBJECT_ID = \"0x0000000000000000000000000000000000000000000000000000000000000006\";\nconst SUI_SYSTEM_MODULE_NAME = \"sui_system\";\nconst SUI_TYPE_ARG = `${SUI_FRAMEWORK_ADDRESS}::sui::SUI`;\nconst SUI_SYSTEM_STATE_OBJECT_ID = \"0x0000000000000000000000000000000000000000000000000000000000000005\";\nconst SUI_RANDOM_OBJECT_ID = \"0x0000000000000000000000000000000000000000000000000000000000000008\";\nconst SUI_COIN_REGISTRY_OBJECT_ID = \"0x000000000000000000000000000000000000000000000000000000000000000c\";\nconst SUI_DENY_LIST_OBJECT_ID = \"0x0000000000000000000000000000000000000000000000000000000000000403\";\n\n//#endregion\nexport { MIST_PER_SUI, MOVE_STDLIB_ADDRESS, SUI_CLOCK_OBJECT_ID, SUI_COIN_REGISTRY_OBJECT_ID, SUI_DECIMALS, SUI_DENY_LIST_OBJECT_ID, SUI_FRAMEWORK_ADDRESS, SUI_RANDOM_OBJECT_ID, SUI_SYSTEM_ADDRESS, SUI_SYSTEM_MODULE_NAME, SUI_SYSTEM_STATE_OBJECT_ID, SUI_TYPE_ARG };\n//# sourceMappingURL=constants.mjs.map","import { normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { MOVE_STDLIB_ADDRESS, SUI_FRAMEWORK_ADDRESS } from \"../utils/constants.mjs\";\n\n//#region src/transactions/serializer.ts\n/**\n* Parses a type name like \"0x2::tx_context::TxContext\" into package, module, and name parts.\n*/\nfunction parseTypeName(typeName) {\n\tconst parts = typeName.split(\"::\");\n\tif (parts.length !== 3) throw new Error(`Invalid type name format: ${typeName}`);\n\treturn {\n\t\tpackage: parts[0],\n\t\tmodule: parts[1],\n\t\tname: parts[2]\n\t};\n}\nfunction isTxContext(param) {\n\tif (param.body.$kind !== \"datatype\") return false;\n\tconst { package: pkg, module, name } = parseTypeName(param.body.datatype.typeName);\n\treturn normalizeSuiAddress(pkg) === SUI_FRAMEWORK_ADDRESS && module === \"tx_context\" && name === \"TxContext\";\n}\nfunction getPureBcsSchema(typeSignature) {\n\tswitch (typeSignature.$kind) {\n\t\tcase \"address\": return suiBcs.Address;\n\t\tcase \"bool\": return suiBcs.Bool;\n\t\tcase \"u8\": return suiBcs.U8;\n\t\tcase \"u16\": return suiBcs.U16;\n\t\tcase \"u32\": return suiBcs.U32;\n\t\tcase \"u64\": return suiBcs.U64;\n\t\tcase \"u128\": return suiBcs.U128;\n\t\tcase \"u256\": return suiBcs.U256;\n\t\tcase \"vector\": {\n\t\t\tif (typeSignature.vector.$kind === \"u8\") return suiBcs.byteVector().transform({\n\t\t\t\tinput: (val) => typeof val === \"string\" ? new TextEncoder().encode(val) : val,\n\t\t\t\toutput: (val) => val\n\t\t\t});\n\t\t\tconst type = getPureBcsSchema(typeSignature.vector);\n\t\t\treturn type ? suiBcs.vector(type) : null;\n\t\t}\n\t\tcase \"datatype\": {\n\t\t\tconst { package: pkg, module, name } = parseTypeName(typeSignature.datatype.typeName);\n\t\t\tconst normalizedPkg = normalizeSuiAddress(pkg);\n\t\t\tif (normalizedPkg === MOVE_STDLIB_ADDRESS) {\n\t\t\t\tif (module === \"ascii\" && name === \"String\") return suiBcs.String;\n\t\t\t\tif (module === \"string\" && name === \"String\") return suiBcs.String;\n\t\t\t\tif (module === \"option\" && name === \"Option\") {\n\t\t\t\t\tconst type = getPureBcsSchema(typeSignature.datatype.typeParameters[0]);\n\t\t\t\t\treturn type ? suiBcs.vector(type) : null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (normalizedPkg === SUI_FRAMEWORK_ADDRESS) {\n\t\t\t\tif (module === \"object\" && name === \"ID\") return suiBcs.Address;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tcase \"typeParameter\":\n\t\tcase \"unknown\": return null;\n\t}\n}\nfunction normalizedTypeToMoveTypeSignature(type) {\n\tif (typeof type === \"object\" && \"Reference\" in type) return {\n\t\treference: \"immutable\",\n\t\tbody: normalizedTypeToMoveTypeSignatureBody(type.Reference)\n\t};\n\tif (typeof type === \"object\" && \"MutableReference\" in type) return {\n\t\treference: \"mutable\",\n\t\tbody: normalizedTypeToMoveTypeSignatureBody(type.MutableReference)\n\t};\n\treturn {\n\t\treference: null,\n\t\tbody: normalizedTypeToMoveTypeSignatureBody(type)\n\t};\n}\nfunction normalizedTypeToMoveTypeSignatureBody(type) {\n\tif (typeof type === \"string\") switch (type) {\n\t\tcase \"Address\": return { $kind: \"address\" };\n\t\tcase \"Bool\": return { $kind: \"bool\" };\n\t\tcase \"U8\": return { $kind: \"u8\" };\n\t\tcase \"U16\": return { $kind: \"u16\" };\n\t\tcase \"U32\": return { $kind: \"u32\" };\n\t\tcase \"U64\": return { $kind: \"u64\" };\n\t\tcase \"U128\": return { $kind: \"u128\" };\n\t\tcase \"U256\": return { $kind: \"u256\" };\n\t\tdefault: throw new Error(`Unexpected type ${type}`);\n\t}\n\tif (\"Vector\" in type) return {\n\t\t$kind: \"vector\",\n\t\tvector: normalizedTypeToMoveTypeSignatureBody(type.Vector)\n\t};\n\tif (\"Struct\" in type) return {\n\t\t$kind: \"datatype\",\n\t\tdatatype: {\n\t\t\ttypeName: `${type.Struct.address}::${type.Struct.module}::${type.Struct.name}`,\n\t\t\ttypeParameters: type.Struct.typeArguments.map(normalizedTypeToMoveTypeSignatureBody)\n\t\t}\n\t};\n\tif (\"TypeParameter\" in type) return {\n\t\t$kind: \"typeParameter\",\n\t\tindex: type.TypeParameter\n\t};\n\tthrow new Error(`Unexpected type ${JSON.stringify(type)}`);\n}\n\n//#endregion\nexport { getPureBcsSchema, isTxContext, normalizedTypeToMoveTypeSignature };\n//# sourceMappingURL=serializer.mjs.map","import { normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId } from \"../utils/sui-types.mjs\";\nimport { SimulationError } from \"./errors.mjs\";\nimport { SUI_TYPE_ARG } from \"../utils/constants.mjs\";\nimport { createCoinReservationRef } from \"../utils/coin-reservation.mjs\";\nimport { Inputs } from \"../transactions/Inputs.mjs\";\nimport { getPureBcsSchema, isTxContext } from \"../transactions/serializer.mjs\";\nimport { chunk } from \"@mysten/utils\";\n\n//#region src/client/core-resolver.ts\nconst MAX_OBJECTS_PER_FETCH = 50;\nconst GAS_SAFE_OVERHEAD = 1000n;\nconst MAX_GAS = 5e10;\n/** Compute a gas budget from gasUsed effects data. */\nfunction computeGasBudget(gasUsed, gasPrice = 1n) {\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(gasPrice);\n\tconst baseComputationCostWithOverhead = BigInt(gasUsed.computationCost) + safeOverhead;\n\tconst gasBudget = baseComputationCostWithOverhead + BigInt(gasUsed.storageCost) - BigInt(gasUsed.storageRebate);\n\treturn String(gasBudget > baseComputationCostWithOverhead ? gasBudget : baseComputationCostWithOverhead);\n}\nfunction getClient(options) {\n\tif (!options.client) throw new Error(`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`);\n\treturn options.client;\n}\nasync function coreClientResolveTransactionPlugin(transactionData, options, next) {\n\tconst client = getClient(options);\n\tconst needsGasPrice = !options.onlyTransactionKind && !transactionData.gasData.price;\n\tconst needsPayment = !options.onlyTransactionKind && !transactionData.gasData.payment;\n\tconst gasPayer = transactionData.gasData.owner ?? transactionData.sender;\n\tlet usesGasCoin = false;\n\tlet withdrawals = 0n;\n\ttransactionData.mapArguments((arg) => {\n\t\tif (arg.$kind === \"GasCoin\") usesGasCoin = true;\n\t\treturn arg;\n\t});\n\tconst normalizedGasPayer = gasPayer ? normalizeSuiAddress(gasPayer) : null;\n\tfor (const input of transactionData.inputs) {\n\t\tif (input.$kind !== \"FundsWithdrawal\" || !normalizedGasPayer) continue;\n\t\tif (normalizeStructTag(input.FundsWithdrawal.typeArg.Balance) !== SUI_TYPE_ARG) continue;\n\t\tconst withdrawalOwner = input.FundsWithdrawal.withdrawFrom.Sender ? transactionData.sender : gasPayer;\n\t\tif (withdrawalOwner && normalizeSuiAddress(withdrawalOwner) === normalizedGasPayer && input.FundsWithdrawal.reservation.$kind === \"MaxAmountU64\") withdrawals += BigInt(input.FundsWithdrawal.reservation.MaxAmountU64);\n\t}\n\tconst needsSimulateExpiration = !options.onlyTransactionKind && !transactionData.expiration && !transactionData.gasData.budget;\n\tconst needsSystemState = needsGasPrice || needsPayment && usesGasCoin || needsSimulateExpiration;\n\tconst needsChainId = needsPayment && usesGasCoin || needsSimulateExpiration;\n\tconst [, systemStateResult, balanceResult, coinsResult, chainIdResult] = await Promise.all([\n\t\tnormalizeInputs(transactionData, client),\n\t\tneedsSystemState ? client.core.getCurrentSystemState() : null,\n\t\tneedsPayment && gasPayer ? client.core.getBalance({ owner: gasPayer }) : null,\n\t\tneedsPayment && gasPayer ? client.core.listCoins({\n\t\t\towner: gasPayer,\n\t\t\tcoinType: SUI_TYPE_ARG\n\t\t}) : null,\n\t\tneedsChainId ? client.core.getChainIdentifier() : null\n\t]);\n\tawait resolveObjectReferences(transactionData, client);\n\tif (!options.onlyTransactionKind) {\n\t\tconst systemState = systemStateResult?.systemState ?? null;\n\t\tconst chainIdentifier = chainIdResult?.chainIdentifier ?? null;\n\t\tif (systemState && !transactionData.gasData.price) transactionData.gasData.price = systemState.referenceGasPrice;\n\t\tawait setGasBudget(transactionData, client, needsSimulateExpiration && systemState && chainIdentifier ? buildValidDuringExpiration(systemState, chainIdentifier) : void 0);\n\t\tif (needsPayment) {\n\t\t\tif (!balanceResult || !coinsResult) throw new Error(\"Could not resolve gas payment: a gas owner or sender must be set to fetch balance and coins.\");\n\t\t\tsetGasPayment({\n\t\t\t\ttransactionData,\n\t\t\t\tbalance: balanceResult,\n\t\t\t\tcoins: coinsResult,\n\t\t\t\tusesGasCoin,\n\t\t\t\twithdrawals,\n\t\t\t\tgasPayer,\n\t\t\t\tchainIdentifier,\n\t\t\t\tepoch: systemState?.epoch ?? null\n\t\t\t});\n\t\t}\n\t\tif (!transactionData.expiration && transactionData.gasData.payment?.length === 0) await setExpiration(transactionData, client, systemState, chainIdentifier);\n\t}\n\treturn await next();\n}\nasync function setGasBudget(transactionData, client, simulateExpiration) {\n\tif (transactionData.gasData.budget) return;\n\tconst simulateResult = await client.core.simulateTransaction({\n\t\ttransaction: transactionData.build({ overrides: {\n\t\t\tgasData: {\n\t\t\t\tbudget: String(MAX_GAS),\n\t\t\t\tpayment: []\n\t\t\t},\n\t\t\t...simulateExpiration && { expiration: simulateExpiration }\n\t\t} }),\n\t\tinclude: { effects: true }\n\t});\n\tif (simulateResult.$kind === \"FailedTransaction\") {\n\t\tconst executionError = simulateResult.FailedTransaction.status.error ?? void 0;\n\t\tthrow new SimulationError(`Transaction resolution failed: ${executionError?.message ?? \"Unknown error\"}`, {\n\t\t\tcause: simulateResult,\n\t\t\texecutionError\n\t\t});\n\t}\n\ttransactionData.gasData.budget = computeGasBudget(simulateResult.Transaction.effects.gasUsed, transactionData.gasData.price ? String(transactionData.gasData.price) : void 0);\n}\nfunction setGasPayment({ transactionData, balance, coins, usesGasCoin, withdrawals, gasPayer, chainIdentifier, epoch }) {\n\tconst budget = BigInt(transactionData.gasData.budget);\n\tconst addressBalance = BigInt(balance.balance.addressBalance);\n\tif (budget === 0n || !usesGasCoin && addressBalance >= budget + withdrawals) {\n\t\ttransactionData.gasData.payment = [];\n\t\treturn;\n\t}\n\tconst filteredCoins = coins.objects.filter((coin) => {\n\t\treturn !transactionData.inputs.find((input) => {\n\t\t\tif (input.Object?.ImmOrOwnedObject) return coin.objectId === input.Object.ImmOrOwnedObject.objectId;\n\t\t\treturn false;\n\t\t});\n\t});\n\tconst paymentCoins = filteredCoins.map((coin) => ({\n\t\tobjectId: coin.objectId,\n\t\tdigest: coin.digest,\n\t\tversion: coin.version\n\t}));\n\tconst reservationAmount = addressBalance - withdrawals;\n\tif (usesGasCoin && reservationAmount > 0n && chainIdentifier && epoch) transactionData.gasData.payment = [createCoinReservationRef(reservationAmount, gasPayer, chainIdentifier, epoch), ...paymentCoins];\n\telse if (!filteredCoins.length) throw new Error(\"No valid gas coins found for the transaction.\");\n\telse transactionData.gasData.payment = paymentCoins;\n}\nasync function setExpiration(transactionData, client, systemState, existingChainIdentifier = null) {\n\tconst [chainIdentifier, resolvedSystemState] = await Promise.all([existingChainIdentifier ?? client.core.getChainIdentifier().then((r) => r.chainIdentifier), systemState ?? client.core.getCurrentSystemState().then((r) => r.systemState)]);\n\ttransactionData.expiration = buildValidDuringExpiration(resolvedSystemState, chainIdentifier);\n}\nfunction buildValidDuringExpiration(systemState, chainIdentifier) {\n\tconst currentEpoch = BigInt(systemState.epoch);\n\treturn {\n\t\t$kind: \"ValidDuring\",\n\t\tValidDuring: {\n\t\t\tminEpoch: String(currentEpoch),\n\t\t\tmaxEpoch: String(currentEpoch + 1n),\n\t\t\tminTimestamp: null,\n\t\t\tmaxTimestamp: null,\n\t\t\tchain: chainIdentifier,\n\t\t\tnonce: Math.random() * 4294967296 >>> 0\n\t\t}\n\t};\n}\nasync function resolveObjectReferences(transactionData, client) {\n\tconst objectsToResolve = transactionData.inputs.filter((input) => {\n\t\treturn input.UnresolvedObject && !(input.UnresolvedObject.version || input.UnresolvedObject?.initialSharedVersion);\n\t});\n\tconst dedupedIds = [...new Set(objectsToResolve.map((input) => normalizeSuiObjectId(input.UnresolvedObject.objectId)))];\n\tconst objectChunks = dedupedIds.length ? chunk(dedupedIds, MAX_OBJECTS_PER_FETCH) : [];\n\tconst resolved = (await Promise.all(objectChunks.map((chunkIds) => client.core.getObjects({ objectIds: chunkIds })))).flatMap((result) => result.objects);\n\tconst responsesById = new Map(dedupedIds.map((id, index) => {\n\t\treturn [id, resolved[index]];\n\t}));\n\tconst invalidObjects = Array.from(responsesById).filter(([_, obj]) => obj instanceof Error).map(([_, obj]) => obj.message);\n\tif (invalidObjects.length) throw new Error(`The following input objects are invalid: ${invalidObjects.join(\", \")}`);\n\tconst objects = resolved.map((object) => {\n\t\tif (object instanceof Error) throw new Error(`Failed to fetch object: ${object.message}`);\n\t\tconst owner = object.owner;\n\t\tconst initialSharedVersion = owner && typeof owner === \"object\" ? owner.$kind === \"Shared\" ? owner.Shared.initialSharedVersion : owner.$kind === \"ConsensusAddressOwner\" ? owner.ConsensusAddressOwner.startVersion : null : null;\n\t\treturn {\n\t\t\tobjectId: object.objectId,\n\t\t\tdigest: object.digest,\n\t\t\tversion: object.version,\n\t\t\tinitialSharedVersion\n\t\t};\n\t});\n\tconst objectsById = new Map(dedupedIds.map((id, index) => {\n\t\treturn [id, objects[index]];\n\t}));\n\tfor (const [index, input] of transactionData.inputs.entries()) {\n\t\tif (!input.UnresolvedObject) continue;\n\t\tlet updated;\n\t\tconst id = normalizeSuiAddress(input.UnresolvedObject.objectId);\n\t\tconst object = objectsById.get(id);\n\t\tif (input.UnresolvedObject.initialSharedVersion ?? object?.initialSharedVersion) updated = Inputs.SharedObjectRef({\n\t\t\tobjectId: id,\n\t\t\tinitialSharedVersion: input.UnresolvedObject.initialSharedVersion || object?.initialSharedVersion,\n\t\t\tmutable: input.UnresolvedObject.mutable || isUsedAsMutable(transactionData, index)\n\t\t});\n\t\telse if (isUsedAsReceiving(transactionData, index)) updated = Inputs.ReceivingRef({\n\t\t\tobjectId: id,\n\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest,\n\t\t\tversion: input.UnresolvedObject.version ?? object?.version\n\t\t});\n\t\ttransactionData.inputs[transactionData.inputs.indexOf(input)] = updated ?? Inputs.ObjectRef({\n\t\t\tobjectId: id,\n\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest,\n\t\t\tversion: input.UnresolvedObject.version ?? object?.version\n\t\t});\n\t}\n}\nasync function normalizeInputs(transactionData, client) {\n\tconst { inputs, commands } = transactionData;\n\tconst moveCallsToResolve = [];\n\tconst moveFunctionsToResolve = /* @__PURE__ */ new Set();\n\tcommands.forEach((command) => {\n\t\tif (command.MoveCall) {\n\t\t\tif (command.MoveCall._argumentTypes) return;\n\t\t\tif (command.MoveCall.arguments.map((arg) => {\n\t\t\t\tif (arg.$kind === \"Input\") return transactionData.inputs[arg.Input];\n\t\t\t\treturn null;\n\t\t\t}).some((input) => input?.UnresolvedPure || input?.UnresolvedObject && typeof input?.UnresolvedObject.mutable !== \"boolean\")) {\n\t\t\t\tconst functionName = `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`;\n\t\t\t\tmoveFunctionsToResolve.add(functionName);\n\t\t\t\tmoveCallsToResolve.push(command.MoveCall);\n\t\t\t}\n\t\t}\n\t});\n\tconst moveFunctionParameters = /* @__PURE__ */ new Map();\n\tif (moveFunctionsToResolve.size > 0) await Promise.all([...moveFunctionsToResolve].map(async (functionName) => {\n\t\tconst [packageId, moduleName, name] = functionName.split(\"::\");\n\t\tconst { function: def } = await client.core.getMoveFunction({\n\t\t\tpackageId,\n\t\t\tmoduleName,\n\t\t\tname\n\t\t});\n\t\tmoveFunctionParameters.set(functionName, def.parameters);\n\t}));\n\tif (moveCallsToResolve.length) await Promise.all(moveCallsToResolve.map(async (moveCall) => {\n\t\tconst parameters = moveFunctionParameters.get(`${moveCall.package}::${moveCall.module}::${moveCall.function}`);\n\t\tif (!parameters) return;\n\t\tmoveCall._argumentTypes = parameters.length > 0 && isTxContext(parameters.at(-1)) ? parameters.slice(0, parameters.length - 1) : parameters;\n\t}));\n\tcommands.forEach((command) => {\n\t\tif (!command.MoveCall) return;\n\t\tconst moveCall = command.MoveCall;\n\t\tconst fnName = `${moveCall.package}::${moveCall.module}::${moveCall.function}`;\n\t\tconst params = moveCall._argumentTypes;\n\t\tif (!params) return;\n\t\tif (params.length !== command.MoveCall.arguments.length) throw new Error(`Incorrect number of arguments for ${fnName}`);\n\t\tparams.forEach((param, i) => {\n\t\t\tconst arg = moveCall.arguments[i];\n\t\t\tif (arg.$kind !== \"Input\") return;\n\t\t\tconst input = inputs[arg.Input];\n\t\t\tif (!input.UnresolvedPure && !input.UnresolvedObject) return;\n\t\t\tconst inputValue = input.UnresolvedPure?.value ?? input.UnresolvedObject?.objectId;\n\t\t\tconst schema = getPureBcsSchema(param.body);\n\t\t\tif (schema) {\n\t\t\t\targ.type = \"pure\";\n\t\t\t\tinputs[inputs.indexOf(input)] = Inputs.Pure(schema.serialize(inputValue));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (typeof inputValue !== \"string\") throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(inputValue, null, 2)}`);\n\t\t\targ.type = \"object\";\n\t\t\tconst unresolvedObject = input.UnresolvedPure ? {\n\t\t\t\t$kind: \"UnresolvedObject\",\n\t\t\t\tUnresolvedObject: { objectId: inputValue }\n\t\t\t} : input;\n\t\t\tinputs[arg.Input] = unresolvedObject;\n\t\t});\n\t});\n}\nfunction isUsedAsMutable(transactionData, index) {\n\tlet usedAsMutable = false;\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsMutable = tx.MoveCall._argumentTypes[argIndex].reference !== \"immutable\" || usedAsMutable;\n\t\t}\n\t\tif (tx.$kind === \"MakeMoveVec\" || tx.$kind === \"MergeCoins\" || tx.$kind === \"SplitCoins\" || tx.$kind === \"TransferObjects\") usedAsMutable = true;\n\t});\n\treturn usedAsMutable;\n}\nfunction isUsedAsReceiving(transactionData, index) {\n\tlet usedAsReceiving = false;\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsReceiving = isReceivingType(tx.MoveCall._argumentTypes[argIndex]) || usedAsReceiving;\n\t\t}\n\t});\n\treturn usedAsReceiving;\n}\nconst RECEIVING_TYPE = \"0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving\";\nfunction isReceivingType(type) {\n\tif (type.body.$kind !== \"datatype\") return false;\n\treturn type.body.datatype.typeName === RECEIVING_TYPE;\n}\n\n//#endregion\nexport { computeGasBudget, coreClientResolveTransactionPlugin };\n//# sourceMappingURL=core-resolver.mjs.map","import { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { Inputs } from \"./Inputs.mjs\";\nimport { coreClientResolveTransactionPlugin } from \"../client/core-resolver.mjs\";\n\n//#region src/transactions/resolve.ts\nfunction needsTransactionResolution(data, options) {\n\tif (data.inputs.some((input) => {\n\t\treturn input.UnresolvedObject || input.UnresolvedPure;\n\t})) return true;\n\tif (!options.onlyTransactionKind) {\n\t\tif (!data.gasData.price || !data.gasData.budget || !data.gasData.payment) return true;\n\t\tif (data.gasData.payment.length === 0 && !data.expiration) return true;\n\t}\n\treturn false;\n}\nasync function resolveTransactionPlugin(transactionData, options, next) {\n\tnormalizeRawArguments(transactionData);\n\tif (!needsTransactionResolution(transactionData, options)) {\n\t\tawait validate(transactionData);\n\t\treturn next();\n\t}\n\treturn (getClient(options).core?.resolveTransactionPlugin() ?? coreClientResolveTransactionPlugin)(transactionData, options, async () => {\n\t\tawait validate(transactionData);\n\t\tawait next();\n\t});\n}\nfunction validate(transactionData) {\n\ttransactionData.inputs.forEach((input, index) => {\n\t\tif (input.$kind !== \"Object\" && input.$kind !== \"Pure\" && input.$kind !== \"FundsWithdrawal\") throw new Error(`Input at index ${index} has not been resolved. Expected a Pure, Object, or FundsWithdrawal input, but found ${JSON.stringify(input)}`);\n\t});\n}\nfunction getClient(options) {\n\tif (!options.client) throw new Error(`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`);\n\treturn options.client;\n}\nfunction normalizeRawArguments(transactionData) {\n\tfor (const command of transactionData.commands) switch (command.$kind) {\n\t\tcase \"SplitCoins\":\n\t\t\tcommand.SplitCoins.amounts.forEach((amount) => {\n\t\t\t\tnormalizeRawArgument(amount, suiBcs.U64, transactionData);\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"TransferObjects\":\n\t\t\tnormalizeRawArgument(command.TransferObjects.address, suiBcs.Address, transactionData);\n\t\t\tbreak;\n\t}\n}\nfunction normalizeRawArgument(arg, schema, transactionData) {\n\tif (arg.$kind !== \"Input\") return;\n\tconst input = transactionData.inputs[arg.Input];\n\tif (input.$kind !== \"UnresolvedPure\") return;\n\ttransactionData.inputs[arg.Input] = Inputs.Pure(schema.serialize(input.UnresolvedPure.value));\n}\n\n//#endregion\nexport { needsTransactionResolution, resolveTransactionPlugin };\n//# sourceMappingURL=resolve.mjs.map","import { MOVE_STDLIB_ADDRESS, SUI_CLOCK_OBJECT_ID, SUI_DENY_LIST_OBJECT_ID, SUI_RANDOM_OBJECT_ID, SUI_SYSTEM_STATE_OBJECT_ID } from \"../utils/constants.mjs\";\nimport { Inputs } from \"./Inputs.mjs\";\n\n//#region src/transactions/object.ts\nfunction createObjectMethods(makeObject) {\n\tfunction object(value) {\n\t\treturn makeObject(value);\n\t}\n\tobject.system = (options) => {\n\t\tconst mutable = options?.mutable;\n\t\tif (mutable !== void 0) return object(Inputs.SharedObjectRef({\n\t\t\tobjectId: SUI_SYSTEM_STATE_OBJECT_ID,\n\t\t\tinitialSharedVersion: 1,\n\t\t\tmutable\n\t\t}));\n\t\treturn object({\n\t\t\t$kind: \"UnresolvedObject\",\n\t\t\tUnresolvedObject: {\n\t\t\t\tobjectId: SUI_SYSTEM_STATE_OBJECT_ID,\n\t\t\t\tinitialSharedVersion: 1\n\t\t\t}\n\t\t});\n\t};\n\tobject.clock = () => object(Inputs.SharedObjectRef({\n\t\tobjectId: SUI_CLOCK_OBJECT_ID,\n\t\tinitialSharedVersion: 1,\n\t\tmutable: false\n\t}));\n\tobject.random = () => object({\n\t\t$kind: \"UnresolvedObject\",\n\t\tUnresolvedObject: {\n\t\t\tobjectId: SUI_RANDOM_OBJECT_ID,\n\t\t\tmutable: false\n\t\t}\n\t});\n\tobject.denyList = (options) => {\n\t\treturn object({\n\t\t\t$kind: \"UnresolvedObject\",\n\t\t\tUnresolvedObject: {\n\t\t\t\tobjectId: SUI_DENY_LIST_OBJECT_ID,\n\t\t\t\tmutable: options?.mutable\n\t\t\t}\n\t\t});\n\t};\n\tobject.option = ({ type, value }) => (tx) => tx.moveCall({\n\t\ttypeArguments: [type],\n\t\ttarget: `${MOVE_STDLIB_ADDRESS}::option::${value === null ? \"none\" : \"some\"}`,\n\t\targuments: value === null ? [] : [tx.object(value)]\n\t});\n\treturn object;\n}\n\n//#endregion\nexport { createObjectMethods };\n//# sourceMappingURL=object.mjs.map","import { pureBcsSchemaFromTypeName } from \"../bcs/pure.mjs\";\nimport { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { isSerializedBcs } from \"@mysten/bcs\";\n\n//#region src/transactions/pure.ts\nfunction createPure(makePure) {\n\tfunction pure(typeOrSerializedValue, value) {\n\t\tif (typeof typeOrSerializedValue === \"string\") return makePure(pureBcsSchemaFromTypeName(typeOrSerializedValue).serialize(value));\n\t\tif (typeOrSerializedValue instanceof Uint8Array || isSerializedBcs(typeOrSerializedValue)) return makePure(typeOrSerializedValue);\n\t\tthrow new Error(\"tx.pure must be called either a bcs type name, or a serialized bcs value\");\n\t}\n\tpure.u8 = (value) => makePure(suiBcs.U8.serialize(value));\n\tpure.u16 = (value) => makePure(suiBcs.U16.serialize(value));\n\tpure.u32 = (value) => makePure(suiBcs.U32.serialize(value));\n\tpure.u64 = (value) => makePure(suiBcs.U64.serialize(value));\n\tpure.u128 = (value) => makePure(suiBcs.U128.serialize(value));\n\tpure.u256 = (value) => makePure(suiBcs.U256.serialize(value));\n\tpure.bool = (value) => makePure(suiBcs.Bool.serialize(value));\n\tpure.string = (value) => makePure(suiBcs.String.serialize(value));\n\tpure.address = (value) => makePure(suiBcs.Address.serialize(value));\n\tpure.id = pure.address;\n\tpure.vector = (type, value) => {\n\t\treturn makePure(suiBcs.vector(pureBcsSchemaFromTypeName(type)).serialize(value));\n\t};\n\tpure.option = (type, value) => {\n\t\treturn makePure(suiBcs.option(pureBcsSchemaFromTypeName(type)).serialize(value));\n\t};\n\treturn pure;\n}\n\n//#endregion\nexport { createPure };\n//# sourceMappingURL=pure.mjs.map","import { findNamesInTransaction, replaceNames } from \"../../client/mvr.mjs\";\n\n//#region src/transactions/plugins/NamedPackagesPlugin.ts\n/**\n* Internal plugin that automatically resolves MVR names in transactions.\n* This plugin is automatically added to all transactions and uses the client's\n* MVR resolver to convert .move names to on-chain addresses.\n*/\nfunction namedPackagesPlugin() {\n\treturn async (transactionData, buildOptions, next) => {\n\t\tconst names = findNamesInTransaction(transactionData);\n\t\tif (names.types.length === 0 && names.packages.length === 0) return next();\n\t\tif (!buildOptions.client) throw new Error(`Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()`);\n\t\treplaceNames(transactionData, await buildOptions.client.core.mvr.resolve({\n\t\t\ttypes: names.types,\n\t\t\tpackages: names.packages\n\t\t}));\n\t\tawait next();\n\t};\n}\n\n//#endregion\nexport { namedPackagesPlugin };\n//# sourceMappingURL=NamedPackagesPlugin.mjs.map","import { normalizeStructTag } from \"../../utils/sui-types.mjs\";\nimport { bcs as suiBcs } from \"../../bcs/index.mjs\";\nimport { TransactionCommands } from \"../Commands.mjs\";\nimport { Inputs } from \"../Inputs.mjs\";\nimport { bigint, object, optional, parse, picklist, string } from \"valibot\";\n\n//#region src/transactions/intents/CoinWithBalance.ts\nconst COIN_WITH_BALANCE = \"CoinWithBalance\";\nconst SUI_TYPE = normalizeStructTag(\"0x2::sui::SUI\");\nfunction coinWithBalance({ type = SUI_TYPE, balance, useGasCoin = true }) {\n\tlet coinResult = null;\n\treturn (tx) => {\n\t\tif (coinResult) return coinResult;\n\t\ttx.addIntentResolver(COIN_WITH_BALANCE, resolveCoinBalance);\n\t\tconst coinType = type === \"gas\" ? type : normalizeStructTag(type);\n\t\tcoinResult = tx.add(TransactionCommands.Intent({\n\t\t\tname: COIN_WITH_BALANCE,\n\t\t\tinputs: {},\n\t\t\tdata: {\n\t\t\t\ttype: coinType === SUI_TYPE && useGasCoin ? \"gas\" : coinType,\n\t\t\t\tbalance: BigInt(balance),\n\t\t\t\toutputKind: \"coin\"\n\t\t\t}\n\t\t}));\n\t\treturn coinResult;\n\t};\n}\nfunction createBalance({ type = SUI_TYPE, balance, useGasCoin = true }) {\n\tlet balanceResult = null;\n\treturn (tx) => {\n\t\tif (balanceResult) return balanceResult;\n\t\ttx.addIntentResolver(COIN_WITH_BALANCE, resolveCoinBalance);\n\t\tconst coinType = type === \"gas\" ? type : normalizeStructTag(type);\n\t\tbalanceResult = tx.add(TransactionCommands.Intent({\n\t\t\tname: COIN_WITH_BALANCE,\n\t\t\tinputs: {},\n\t\t\tdata: {\n\t\t\t\ttype: coinType === SUI_TYPE && useGasCoin ? \"gas\" : coinType,\n\t\t\t\tbalance: BigInt(balance),\n\t\t\t\toutputKind: \"balance\"\n\t\t\t}\n\t\t}));\n\t\treturn balanceResult;\n\t};\n}\nconst CoinWithBalanceData = object({\n\ttype: string(),\n\tbalance: bigint(),\n\toutputKind: optional(picklist([\"coin\", \"balance\"]))\n});\nasync function resolveCoinBalance(transactionData, buildOptions, next) {\n\tconst coinTypes = /* @__PURE__ */ new Set();\n\tconst totalByType = /* @__PURE__ */ new Map();\n\tconst intentsByType = /* @__PURE__ */ new Map();\n\tif (!transactionData.sender) throw new Error(\"Sender must be set to resolve CoinWithBalance\");\n\tfor (const [i, command] of transactionData.commands.entries()) {\n\t\tif (command.$kind !== \"$Intent\" || command.$Intent.name !== COIN_WITH_BALANCE) continue;\n\t\tconst { type, balance, outputKind } = parse(CoinWithBalanceData, command.$Intent.data);\n\t\tif (balance === 0n) {\n\t\t\tconst coinType = type === \"gas\" ? SUI_TYPE : type;\n\t\t\ttransactionData.replaceCommand(i, TransactionCommands.MoveCall({\n\t\t\t\ttarget: (outputKind ?? \"coin\") === \"balance\" ? \"0x2::balance::zero\" : \"0x2::coin::zero\",\n\t\t\t\ttypeArguments: [coinType]\n\t\t\t}));\n\t\t\tcontinue;\n\t\t}\n\t\tif (type !== \"gas\") coinTypes.add(type);\n\t\ttotalByType.set(type, (totalByType.get(type) ?? 0n) + balance);\n\t\tif (!intentsByType.has(type)) intentsByType.set(type, []);\n\t\tintentsByType.get(type).push({\n\t\t\tbalance,\n\t\t\toutputKind: outputKind ?? \"coin\"\n\t\t});\n\t}\n\tif (totalByType.has(\"gas\") && totalByType.has(SUI_TYPE)) throw new Error(\"Cannot mix SUI CoinWithBalance intents that use the gas coin with ones that do not (useGasCoin: false). Use one or the other.\");\n\tconst usedIds = /* @__PURE__ */ new Set();\n\tfor (const input of transactionData.inputs) {\n\t\tif (input.Object?.ImmOrOwnedObject) usedIds.add(input.Object.ImmOrOwnedObject.objectId);\n\t\tif (input.UnresolvedObject?.objectId) usedIds.add(input.UnresolvedObject.objectId);\n\t}\n\tconst coinsByType = /* @__PURE__ */ new Map();\n\tconst addressBalanceByType = /* @__PURE__ */ new Map();\n\tconst client = buildOptions.client;\n\tif (!client) throw new Error(\"Client must be provided to build or serialize transactions with CoinWithBalance intents\");\n\tawait Promise.all([...[...coinTypes].map(async (coinType) => {\n\t\tconst { coins, addressBalance } = await getCoinsAndBalanceOfType({\n\t\t\tcoinType,\n\t\t\tbalance: totalByType.get(coinType),\n\t\t\tclient,\n\t\t\towner: transactionData.sender,\n\t\t\tusedIds\n\t\t});\n\t\tcoinsByType.set(coinType, coins);\n\t\taddressBalanceByType.set(coinType, addressBalance);\n\t}), totalByType.has(\"gas\") ? await client.core.getBalance({\n\t\towner: transactionData.sender,\n\t\tcoinType: SUI_TYPE\n\t}).then(({ balance }) => {\n\t\taddressBalanceByType.set(\"gas\", BigInt(balance.addressBalance));\n\t}) : null]);\n\tconst mergedCoins = /* @__PURE__ */ new Map();\n\tconst exactBalanceByType = /* @__PURE__ */ new Map();\n\tconst usedAddressBalance = /* @__PURE__ */ new Set();\n\tconst typeState = /* @__PURE__ */ new Map();\n\tlet index = 0;\n\twhile (index < transactionData.commands.length) {\n\t\tconst transaction = transactionData.commands[index];\n\t\tif (transaction.$kind !== \"$Intent\" || transaction.$Intent.name !== COIN_WITH_BALANCE) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\t\tconst { type, balance } = transaction.$Intent.data;\n\t\tconst coinType = type === \"gas\" ? SUI_TYPE : type;\n\t\tconst totalRequired = totalByType.get(type);\n\t\tconst addressBalance = addressBalanceByType.get(type) ?? 0n;\n\t\tconst commands = [];\n\t\tlet intentResult;\n\t\tconst intentsForType = intentsByType.get(type) ?? [];\n\t\tif (intentsForType.every((i) => i.outputKind === \"balance\") && addressBalance >= totalRequired) {\n\t\t\tcommands.push(TransactionCommands.MoveCall({\n\t\t\t\ttarget: \"0x2::balance::redeem_funds\",\n\t\t\t\ttypeArguments: [coinType],\n\t\t\t\targuments: [transactionData.addInput(\"withdrawal\", Inputs.FundsWithdrawal({\n\t\t\t\t\treservation: {\n\t\t\t\t\t\t$kind: \"MaxAmountU64\",\n\t\t\t\t\t\tMaxAmountU64: String(balance)\n\t\t\t\t\t},\n\t\t\t\t\ttypeArg: {\n\t\t\t\t\t\t$kind: \"Balance\",\n\t\t\t\t\t\tBalance: coinType\n\t\t\t\t\t},\n\t\t\t\t\twithdrawFrom: {\n\t\t\t\t\t\t$kind: \"Sender\",\n\t\t\t\t\t\tSender: true\n\t\t\t\t\t}\n\t\t\t\t}))]\n\t\t\t}));\n\t\t\tintentResult = {\n\t\t\t\t$kind: \"NestedResult\",\n\t\t\t\tNestedResult: [index + commands.length - 1, 0]\n\t\t\t};\n\t\t} else {\n\t\t\tif (!typeState.has(type)) {\n\t\t\t\tconst intents = intentsForType;\n\t\t\t\tconst sources = [];\n\t\t\t\tif (addressBalance >= totalRequired) {\n\t\t\t\t\tusedAddressBalance.add(type);\n\t\t\t\t\tcommands.push(TransactionCommands.MoveCall({\n\t\t\t\t\t\ttarget: \"0x2::coin::redeem_funds\",\n\t\t\t\t\t\ttypeArguments: [coinType],\n\t\t\t\t\t\targuments: [transactionData.addInput(\"withdrawal\", Inputs.FundsWithdrawal({\n\t\t\t\t\t\t\treservation: {\n\t\t\t\t\t\t\t\t$kind: \"MaxAmountU64\",\n\t\t\t\t\t\t\t\tMaxAmountU64: String(totalRequired)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttypeArg: {\n\t\t\t\t\t\t\t\t$kind: \"Balance\",\n\t\t\t\t\t\t\t\tBalance: coinType\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twithdrawFrom: {\n\t\t\t\t\t\t\t\t$kind: \"Sender\",\n\t\t\t\t\t\t\t\tSender: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}))]\n\t\t\t\t\t}));\n\t\t\t\t\tsources.push({\n\t\t\t\t\t\t$kind: \"Result\",\n\t\t\t\t\t\tResult: index + commands.length - 1\n\t\t\t\t\t});\n\t\t\t\t} else if (type === \"gas\") sources.push({\n\t\t\t\t\t$kind: \"GasCoin\",\n\t\t\t\t\tGasCoin: true\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tconst coins = coinsByType.get(type);\n\t\t\t\t\tconst loadedCoinBalance = coins.reduce((sum, c) => sum + BigInt(c.balance), 0n);\n\t\t\t\t\tconst abNeeded = totalRequired > loadedCoinBalance ? totalRequired - loadedCoinBalance : 0n;\n\t\t\t\t\texactBalanceByType.set(type, loadedCoinBalance + abNeeded === totalRequired);\n\t\t\t\t\tfor (const coin of coins) sources.push(transactionData.addInput(\"object\", Inputs.ObjectRef({\n\t\t\t\t\t\tobjectId: coin.objectId,\n\t\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\t\tversion: coin.version\n\t\t\t\t\t})));\n\t\t\t\t\tif (abNeeded > 0n) {\n\t\t\t\t\t\tusedAddressBalance.add(type);\n\t\t\t\t\t\tcommands.push(TransactionCommands.MoveCall({\n\t\t\t\t\t\t\ttarget: \"0x2::coin::redeem_funds\",\n\t\t\t\t\t\t\ttypeArguments: [coinType],\n\t\t\t\t\t\t\targuments: [transactionData.addInput(\"withdrawal\", Inputs.FundsWithdrawal({\n\t\t\t\t\t\t\t\treservation: {\n\t\t\t\t\t\t\t\t\t$kind: \"MaxAmountU64\",\n\t\t\t\t\t\t\t\t\tMaxAmountU64: String(abNeeded)\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttypeArg: {\n\t\t\t\t\t\t\t\t\t$kind: \"Balance\",\n\t\t\t\t\t\t\t\t\tBalance: coinType\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\twithdrawFrom: {\n\t\t\t\t\t\t\t\t\t$kind: \"Sender\",\n\t\t\t\t\t\t\t\t\tSender: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}))]\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tsources.push({\n\t\t\t\t\t\t\t$kind: \"Result\",\n\t\t\t\t\t\t\tResult: index + commands.length - 1\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst baseCoin = sources[0];\n\t\t\t\tconst rest = sources.slice(1);\n\t\t\t\tfor (let i = 0; i < rest.length; i += 500) commands.push(TransactionCommands.MergeCoins(baseCoin, rest.slice(i, i + 500)));\n\t\t\t\tmergedCoins.set(type, baseCoin);\n\t\t\t\tconst splitCmdIndex = index + commands.length;\n\t\t\t\tcommands.push(TransactionCommands.SplitCoins(baseCoin, intents.map((i) => transactionData.addInput(\"pure\", Inputs.Pure(suiBcs.u64().serialize(i.balance))))));\n\t\t\t\tconst results = [];\n\t\t\t\tfor (let i = 0; i < intents.length; i++) {\n\t\t\t\t\tconst splitResult = {\n\t\t\t\t\t\t$kind: \"NestedResult\",\n\t\t\t\t\t\tNestedResult: [splitCmdIndex, i]\n\t\t\t\t\t};\n\t\t\t\t\tif (intents[i].outputKind === \"balance\") {\n\t\t\t\t\t\tcommands.push(TransactionCommands.MoveCall({\n\t\t\t\t\t\t\ttarget: \"0x2::coin::into_balance\",\n\t\t\t\t\t\t\ttypeArguments: [coinType],\n\t\t\t\t\t\t\targuments: [splitResult]\n\t\t\t\t\t\t}));\n\t\t\t\t\t\tresults.push({\n\t\t\t\t\t\t\t$kind: \"NestedResult\",\n\t\t\t\t\t\t\tNestedResult: [index + commands.length - 1, 0]\n\t\t\t\t\t\t});\n\t\t\t\t\t} else results.push(splitResult);\n\t\t\t\t}\n\t\t\t\ttypeState.set(type, {\n\t\t\t\t\tresults,\n\t\t\t\t\tnextIntent: 0\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst state = typeState.get(type);\n\t\t\tintentResult = state.results[state.nextIntent++];\n\t\t}\n\t\ttransactionData.replaceCommand(index, commands, intentResult);\n\t\tindex += commands.length;\n\t}\n\tfor (const [type, mergedCoin] of mergedCoins) {\n\t\tif (type === \"gas\" && !usedAddressBalance.has(type)) continue;\n\t\tconst coinType = type === \"gas\" ? SUI_TYPE : type;\n\t\tconst hasBalanceIntent = intentsByType.get(type)?.some((i) => i.outputKind === \"balance\");\n\t\tconst sourcedFromAB = usedAddressBalance.has(type);\n\t\tif (hasBalanceIntent || sourcedFromAB) transactionData.commands.push(TransactionCommands.MoveCall({\n\t\t\ttarget: \"0x2::coin::send_funds\",\n\t\t\ttypeArguments: [coinType],\n\t\t\targuments: [mergedCoin, transactionData.addInput(\"pure\", Inputs.Pure(suiBcs.Address.serialize(transactionData.sender)))]\n\t\t}));\n\t\telse if (exactBalanceByType.get(type)) transactionData.commands.push(TransactionCommands.MoveCall({\n\t\t\ttarget: \"0x2::coin::destroy_zero\",\n\t\t\ttypeArguments: [coinType],\n\t\t\targuments: [mergedCoin]\n\t\t}));\n\t}\n\treturn next();\n}\nasync function getCoinsAndBalanceOfType({ coinType, balance, client, owner, usedIds }) {\n\tlet remainingBalance = balance;\n\tconst coins = [];\n\tconst balanceRequest = client.core.getBalance({\n\t\towner,\n\t\tcoinType\n\t}).then(({ balance: balance$1 }) => {\n\t\tremainingBalance -= BigInt(balance$1.addressBalance);\n\t\treturn balance$1;\n\t});\n\tconst [allCoins, balanceResponse] = await Promise.all([loadMoreCoins(), balanceRequest]);\n\tif (BigInt(balanceResponse.balance) < balance) throw new Error(`Insufficient balance of ${coinType} for owner ${owner}. Required: ${balance}, Available: ${balance - remainingBalance}`);\n\treturn {\n\t\tcoins: allCoins,\n\t\tbalance: BigInt(balanceResponse.coinBalance),\n\t\taddressBalance: BigInt(balanceResponse.addressBalance),\n\t\tcoinBalance: BigInt(balanceResponse.coinBalance)\n\t};\n\tasync function loadMoreCoins(cursor = null) {\n\t\tconst { objects, hasNextPage, cursor: nextCursor } = await client.core.listCoins({\n\t\t\towner,\n\t\t\tcoinType,\n\t\t\tcursor\n\t\t});\n\t\tawait balanceRequest;\n\t\tfor (const coin of objects) {\n\t\t\tif (usedIds.has(coin.objectId)) continue;\n\t\t\tcoins.push(coin);\n\t\t\tremainingBalance -= BigInt(coin.balance);\n\t\t}\n\t\tif (remainingBalance > 0n && hasNextPage) return loadMoreCoins(nextCursor);\n\t\treturn coins;\n\t}\n}\n\n//#endregion\nexport { COIN_WITH_BALANCE, coinWithBalance, createBalance, resolveCoinBalance };\n//# sourceMappingURL=CoinWithBalance.mjs.map","import { normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { ArgumentSchema, NormalizedCallArg, ObjectRefSchema, TransactionExpiration } from \"./data/internal.mjs\";\nimport { serializeV1TransactionData } from \"./data/v1.mjs\";\nimport { getIdFromCallArg } from \"./utils.mjs\";\nimport { TransactionDataBuilder } from \"./TransactionData.mjs\";\nimport { TransactionCommands } from \"./Commands.mjs\";\nimport { SerializedTransactionDataV2Schema } from \"./data/v2.mjs\";\nimport { Inputs } from \"./Inputs.mjs\";\nimport { needsTransactionResolution, resolveTransactionPlugin } from \"./resolve.mjs\";\nimport { createObjectMethods } from \"./object.mjs\";\nimport { createPure } from \"./pure.mjs\";\nimport { namedPackagesPlugin } from \"./plugins/NamedPackagesPlugin.mjs\";\nimport { COIN_WITH_BALANCE, coinWithBalance, createBalance, resolveCoinBalance } from \"./intents/CoinWithBalance.mjs\";\nimport { fromBase64, isSerializedBcs } from \"@mysten/bcs\";\nimport { is, parse } from \"valibot\";\n\n//#region src/transactions/Transaction.ts\nfunction createTransactionResult(index, length = Infinity) {\n\tconst baseResult = {\n\t\t$kind: \"Result\",\n\t\tget Result() {\n\t\t\treturn typeof index === \"function\" ? index() : index;\n\t\t}\n\t};\n\tconst nestedResults = [];\n\tconst nestedResultFor = (resultIndex) => nestedResults[resultIndex] ??= {\n\t\t$kind: \"NestedResult\",\n\t\tget NestedResult() {\n\t\t\treturn [typeof index === \"function\" ? index() : index, resultIndex];\n\t\t}\n\t};\n\treturn new Proxy(baseResult, {\n\t\tset() {\n\t\t\tthrow new Error(\"The transaction result is a proxy, and does not support setting properties directly\");\n\t\t},\n\t\tget(target, property) {\n\t\t\tif (property in target) return Reflect.get(target, property);\n\t\t\tif (property === Symbol.iterator) return function* () {\n\t\t\t\tlet i = 0;\n\t\t\t\twhile (i < length) {\n\t\t\t\t\tyield nestedResultFor(i);\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (typeof property === \"symbol\") return;\n\t\t\tconst resultIndex = parseInt(property, 10);\n\t\t\tif (Number.isNaN(resultIndex) || resultIndex < 0) return;\n\t\t\treturn nestedResultFor(resultIndex);\n\t\t}\n\t});\n}\nconst TRANSACTION_BRAND = Symbol.for(\"@mysten/transaction\");\nfunction isTransaction(obj) {\n\treturn !!obj && typeof obj === \"object\" && obj[TRANSACTION_BRAND] === true;\n}\n/**\n* Transaction Builder\n*/\nvar Transaction = class Transaction {\n\t#serializationPlugins;\n\t#buildPlugins;\n\t#intentResolvers = /* @__PURE__ */ new Map();\n\t#inputSection = [];\n\t#commandSection = [];\n\t#availableResults = /* @__PURE__ */ new Set();\n\t#pendingPromises = /* @__PURE__ */ new Set();\n\t#added = /* @__PURE__ */ new Map();\n\t/**\n\t* Converts from a serialize transaction kind (built with `build({ onlyTransactionKind: true })`) to a `Transaction` class.\n\t* Supports either a byte array, or base64-encoded bytes.\n\t*/\n\tstatic fromKind(serialized) {\n\t\tconst tx = new Transaction();\n\t\ttx.#data = TransactionDataBuilder.fromKindBytes(typeof serialized === \"string\" ? fromBase64(serialized) : serialized);\n\t\ttx.#inputSection = tx.#data.inputs.slice();\n\t\ttx.#commandSection = tx.#data.commands.slice();\n\t\ttx.#availableResults = new Set(tx.#commandSection.map((_, i) => i));\n\t\treturn tx;\n\t}\n\t/**\n\t* Converts from a serialized transaction format to a `Transaction` class.\n\t* There are two supported serialized formats:\n\t* - A string returned from `Transaction#serialize`. The serialized format must be compatible, or it will throw an error.\n\t* - A byte array (or base64-encoded bytes) containing BCS transaction data.\n\t*/\n\tstatic from(transaction) {\n\t\tconst newTransaction = new Transaction();\n\t\tif (isTransaction(transaction)) newTransaction.#data = TransactionDataBuilder.restore(transaction.getData());\n\t\telse if (typeof transaction !== \"string\" || !transaction.startsWith(\"{\")) newTransaction.#data = TransactionDataBuilder.fromBytes(typeof transaction === \"string\" ? fromBase64(transaction) : transaction);\n\t\telse newTransaction.#data = TransactionDataBuilder.restore(JSON.parse(transaction));\n\t\tnewTransaction.#inputSection = newTransaction.#data.inputs.slice();\n\t\tnewTransaction.#commandSection = newTransaction.#data.commands.slice();\n\t\tnewTransaction.#availableResults = new Set(newTransaction.#commandSection.map((_, i) => i));\n\t\tif (!newTransaction.isPreparedForSerialization({ supportedIntents: [COIN_WITH_BALANCE] })) throw new Error(\"Transaction has unresolved intents or async thunks. Call `prepareForSerialization` before copying.\");\n\t\tif (newTransaction.#data.commands.some((cmd) => cmd.$Intent?.name === COIN_WITH_BALANCE)) newTransaction.addIntentResolver(COIN_WITH_BALANCE, resolveCoinBalance);\n\t\treturn newTransaction;\n\t}\n\taddSerializationPlugin(step) {\n\t\tthis.#serializationPlugins.push(step);\n\t}\n\taddBuildPlugin(step) {\n\t\tthis.#buildPlugins.push(step);\n\t}\n\taddIntentResolver(intent, resolver) {\n\t\tif (this.#intentResolvers.has(intent) && this.#intentResolvers.get(intent) !== resolver) throw new Error(`Intent resolver for ${intent} already exists`);\n\t\tthis.#intentResolvers.set(intent, resolver);\n\t}\n\tsetSender(sender) {\n\t\tthis.#data.sender = sender;\n\t}\n\t/**\n\t* Sets the sender only if it has not already been set.\n\t* This is useful for sponsored transaction flows where the sender may not be the same as the signer address.\n\t*/\n\tsetSenderIfNotSet(sender) {\n\t\tif (!this.#data.sender) this.#data.sender = sender;\n\t}\n\tsetExpiration(expiration) {\n\t\tthis.#data.expiration = expiration ? parse(TransactionExpiration, expiration) : null;\n\t}\n\tsetGasPrice(price) {\n\t\tthis.#data.gasData.price = String(price);\n\t}\n\tsetGasBudget(budget) {\n\t\tthis.#data.gasData.budget = String(budget);\n\t}\n\tsetGasBudgetIfNotSet(budget) {\n\t\tif (this.#data.gasData.budget == null) this.#data.gasData.budget = String(budget);\n\t}\n\tsetGasOwner(owner) {\n\t\tthis.#data.gasData.owner = owner;\n\t}\n\tsetGasPayment(payments) {\n\t\tthis.#data.gasData.payment = payments.map((payment) => parse(ObjectRefSchema, payment));\n\t}\n\t#data;\n\t/** Get a snapshot of the transaction data, in JSON form: */\n\tgetData() {\n\t\treturn this.#data.snapshot();\n\t}\n\tget [TRANSACTION_BRAND]() {\n\t\treturn true;\n\t}\n\tget pure() {\n\t\tObject.defineProperty(this, \"pure\", {\n\t\t\tenumerable: false,\n\t\t\tvalue: createPure((value) => {\n\t\t\t\tif (isSerializedBcs(value)) return this.#addInput(\"pure\", {\n\t\t\t\t\t$kind: \"Pure\",\n\t\t\t\t\tPure: { bytes: value.toBase64() }\n\t\t\t\t});\n\t\t\t\treturn this.#addInput(\"pure\", is(NormalizedCallArg, value) ? parse(NormalizedCallArg, value) : value instanceof Uint8Array ? Inputs.Pure(value) : {\n\t\t\t\t\t$kind: \"UnresolvedPure\",\n\t\t\t\t\tUnresolvedPure: { value }\n\t\t\t\t});\n\t\t\t})\n\t\t});\n\t\treturn this.pure;\n\t}\n\tconstructor() {\n\t\tthis.object = createObjectMethods((value) => {\n\t\t\tif (typeof value === \"function\") return this.object(this.add(value));\n\t\t\tif (typeof value === \"object\" && is(ArgumentSchema, value)) return value;\n\t\t\tconst id = getIdFromCallArg(value);\n\t\t\tconst inserted = this.#data.inputs.find((i) => id === getIdFromCallArg(i));\n\t\t\tif (inserted?.Object?.SharedObject && typeof value === \"object\" && value.Object?.SharedObject) inserted.Object.SharedObject.mutable = inserted.Object.SharedObject.mutable || value.Object.SharedObject.mutable;\n\t\t\treturn inserted ? {\n\t\t\t\t$kind: \"Input\",\n\t\t\t\tInput: this.#data.inputs.indexOf(inserted),\n\t\t\t\ttype: \"object\"\n\t\t\t} : this.#addInput(\"object\", typeof value === \"string\" ? {\n\t\t\t\t$kind: \"UnresolvedObject\",\n\t\t\t\tUnresolvedObject: { objectId: normalizeSuiAddress(value) }\n\t\t\t} : value);\n\t\t});\n\t\tthis.#data = new TransactionDataBuilder();\n\t\tthis.#buildPlugins = [];\n\t\tthis.#serializationPlugins = [];\n\t}\n\t/** Returns an argument for the gas coin, to be used in a transaction. */\n\tget gas() {\n\t\treturn {\n\t\t\t$kind: \"GasCoin\",\n\t\t\tGasCoin: true\n\t\t};\n\t}\n\t/**\n\t* Creates a coin of the specified type and balance.\n\t* Sourced from address balance when available, falling back to owned coins.\n\t*/\n\tcoin({ type, balance, useGasCoin }) {\n\t\treturn this.add(coinWithBalance({\n\t\t\ttype,\n\t\t\tbalance,\n\t\t\tuseGasCoin\n\t\t}));\n\t}\n\t/**\n\t* Creates a Balance object of the specified type and balance.\n\t* Sourced from address balance when available, falling back to owned coins.\n\t*/\n\tbalance({ type, balance, useGasCoin }) {\n\t\treturn this.add(createBalance({\n\t\t\ttype,\n\t\t\tbalance,\n\t\t\tuseGasCoin\n\t\t}));\n\t}\n\t/**\n\t* Add a new object input to the transaction using the fully-resolved object reference.\n\t* If you only have an object ID, use `builder.object(id)` instead.\n\t*/\n\tobjectRef(...args) {\n\t\treturn this.object(Inputs.ObjectRef(...args));\n\t}\n\t/**\n\t* Add a new receiving input to the transaction using the fully-resolved object reference.\n\t* If you only have an object ID, use `builder.object(id)` instead.\n\t*/\n\treceivingRef(...args) {\n\t\treturn this.object(Inputs.ReceivingRef(...args));\n\t}\n\t/**\n\t* Add a new shared object input to the transaction using the fully-resolved shared object reference.\n\t* If you only have an object ID, use `builder.object(id)` instead.\n\t*/\n\tsharedObjectRef(...args) {\n\t\treturn this.object(Inputs.SharedObjectRef(...args));\n\t}\n\t#fork() {\n\t\tconst fork = new Transaction();\n\t\tfork.#data = this.#data;\n\t\tfork.#serializationPlugins = this.#serializationPlugins;\n\t\tfork.#buildPlugins = this.#buildPlugins;\n\t\tfork.#intentResolvers = this.#intentResolvers;\n\t\tfork.#pendingPromises = this.#pendingPromises;\n\t\tfork.#availableResults = new Set(this.#availableResults);\n\t\tfork.#added = this.#added;\n\t\tthis.#inputSection.push(fork.#inputSection);\n\t\tthis.#commandSection.push(fork.#commandSection);\n\t\treturn fork;\n\t}\n\tadd(command) {\n\t\tif (typeof command === \"function\") {\n\t\t\tif (this.#added.has(command)) return this.#added.get(command);\n\t\t\tconst fork = this.#fork();\n\t\t\tconst result = command(fork);\n\t\t\tif (!(result && typeof result === \"object\" && \"then\" in result)) {\n\t\t\t\tthis.#availableResults = fork.#availableResults;\n\t\t\t\tthis.#added.set(command, result);\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tconst placeholder = this.#addCommand({\n\t\t\t\t$kind: \"$Intent\",\n\t\t\t\t$Intent: {\n\t\t\t\t\tname: \"AsyncTransactionThunk\",\n\t\t\t\t\tinputs: {},\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tresultIndex: this.#data.commands.length,\n\t\t\t\t\t\tresult: null\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.#pendingPromises.add(Promise.resolve(result).then((result$1) => {\n\t\t\t\tplaceholder.$Intent.data.result = result$1;\n\t\t\t}));\n\t\t\tconst txResult = createTransactionResult(() => placeholder.$Intent.data.resultIndex);\n\t\t\tthis.#added.set(command, txResult);\n\t\t\treturn txResult;\n\t\t} else this.#addCommand(command);\n\t\treturn createTransactionResult(this.#data.commands.length - 1);\n\t}\n\t#addCommand(command) {\n\t\tconst resultIndex = this.#data.commands.length;\n\t\tthis.#commandSection.push(command);\n\t\tthis.#availableResults.add(resultIndex);\n\t\tthis.#data.commands.push(command);\n\t\tthis.#data.mapCommandArguments(resultIndex, (arg) => {\n\t\t\tif (arg.$kind === \"Result\" && !this.#availableResults.has(arg.Result)) throw new Error(`Result { Result: ${arg.Result} } is not available to use in the current transaction`);\n\t\t\tif (arg.$kind === \"NestedResult\" && !this.#availableResults.has(arg.NestedResult[0])) throw new Error(`Result { NestedResult: [${arg.NestedResult[0]}, ${arg.NestedResult[1]}] } is not available to use in the current transaction`);\n\t\t\tif (arg.$kind === \"Input\" && arg.Input >= this.#data.inputs.length) throw new Error(`Input { Input: ${arg.Input} } references an input that does not exist in the current transaction`);\n\t\t\treturn arg;\n\t\t});\n\t\treturn command;\n\t}\n\t#addInput(type, input) {\n\t\tthis.#inputSection.push(input);\n\t\treturn this.#data.addInput(type, input);\n\t}\n\t#normalizeTransactionArgument(arg) {\n\t\tif (isSerializedBcs(arg)) return this.pure(arg);\n\t\treturn this.#resolveArgument(arg);\n\t}\n\t#resolveArgument(arg) {\n\t\tif (typeof arg === \"function\") {\n\t\t\tconst resolved = this.add(arg);\n\t\t\tif (typeof resolved === \"function\") return this.#resolveArgument(resolved);\n\t\t\treturn parse(ArgumentSchema, resolved);\n\t\t}\n\t\treturn parse(ArgumentSchema, arg);\n\t}\n\tsplitCoins(coin, amounts) {\n\t\tconst command = TransactionCommands.SplitCoins(typeof coin === \"string\" ? this.object(coin) : this.#resolveArgument(coin), amounts.map((amount) => typeof amount === \"number\" || typeof amount === \"bigint\" || typeof amount === \"string\" ? this.pure.u64(amount) : this.#normalizeTransactionArgument(amount)));\n\t\tthis.#addCommand(command);\n\t\treturn createTransactionResult(this.#data.commands.length - 1, amounts.length);\n\t}\n\tmergeCoins(destination, sources) {\n\t\treturn this.add(TransactionCommands.MergeCoins(this.object(destination), sources.map((src) => this.object(src))));\n\t}\n\tpublish({ modules, dependencies }) {\n\t\treturn this.add(TransactionCommands.Publish({\n\t\t\tmodules,\n\t\t\tdependencies\n\t\t}));\n\t}\n\tupgrade({ modules, dependencies, package: packageId, ticket }) {\n\t\treturn this.add(TransactionCommands.Upgrade({\n\t\t\tmodules,\n\t\t\tdependencies,\n\t\t\tpackage: packageId,\n\t\t\tticket: this.object(ticket)\n\t\t}));\n\t}\n\tmoveCall({ arguments: args, ...input }) {\n\t\treturn this.add(TransactionCommands.MoveCall({\n\t\t\t...input,\n\t\t\targuments: args?.map((arg) => this.#normalizeTransactionArgument(arg))\n\t\t}));\n\t}\n\ttransferObjects(objects, address) {\n\t\treturn this.add(TransactionCommands.TransferObjects(objects.map((obj) => this.object(obj)), typeof address === \"string\" ? this.pure.address(address) : this.#normalizeTransactionArgument(address)));\n\t}\n\tmakeMoveVec({ type, elements }) {\n\t\treturn this.add(TransactionCommands.MakeMoveVec({\n\t\t\ttype,\n\t\t\telements: elements.map((obj) => this.object(obj))\n\t\t}));\n\t}\n\t/**\n\t* Create a FundsWithdrawal input for withdrawing Balance<T> from an address balance accumulator.\n\t* This is used for gas payments from address balances.\n\t*\n\t* @param options.amount - The Amount to withdraw (u64).\n\t* @param options.type - The balance type (e.g., \"0x2::sui::SUI\"). Defaults to SUI.\n\t*/\n\twithdrawal({ amount, type }) {\n\t\tconst input = {\n\t\t\t$kind: \"FundsWithdrawal\",\n\t\t\tFundsWithdrawal: {\n\t\t\t\treservation: {\n\t\t\t\t\t$kind: \"MaxAmountU64\",\n\t\t\t\t\tMaxAmountU64: String(amount)\n\t\t\t\t},\n\t\t\t\ttypeArg: {\n\t\t\t\t\t$kind: \"Balance\",\n\t\t\t\t\tBalance: type ?? \"0x2::sui::SUI\"\n\t\t\t\t},\n\t\t\t\twithdrawFrom: {\n\t\t\t\t\t$kind: \"Sender\",\n\t\t\t\t\tSender: true\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn this.#addInput(\"object\", input);\n\t}\n\t/**\n\t* @deprecated Use toJSON instead.\n\t* For synchronous serialization, you can use `getData()`\n\t* */\n\tserialize() {\n\t\treturn JSON.stringify(serializeV1TransactionData(this.#data.snapshot()));\n\t}\n\tasync toJSON(options = {}) {\n\t\tawait this.prepareForSerialization(options);\n\t\tconst fullyResolved = this.isFullyResolved();\n\t\treturn JSON.stringify(parse(SerializedTransactionDataV2Schema, fullyResolved ? {\n\t\t\t...this.#data.snapshot(),\n\t\t\tdigest: this.#data.getDigest()\n\t\t} : this.#data.snapshot()), (_key, value) => typeof value === \"bigint\" ? value.toString() : value, 2);\n\t}\n\t/** Build the transaction to BCS bytes, and sign it with the provided keypair. */\n\tasync sign(options) {\n\t\tconst { signer, ...buildOptions } = options;\n\t\tconst bytes = await this.build(buildOptions);\n\t\treturn signer.signTransaction(bytes);\n\t}\n\t/**\n\t* Checks if the transaction is prepared for serialization to JSON.\n\t* This means:\n\t* - All async thunks have been fully resolved\n\t* - All transaction intents have been resolved (unless in supportedIntents)\n\t*\n\t* Unlike `isFullyResolved()`, this does not require the sender, gas payment,\n\t* budget, or object versions to be set.\n\t*/\n\tisPreparedForSerialization(options = {}) {\n\t\tif (this.#pendingPromises.size > 0) return false;\n\t\tif (this.#data.commands.some((cmd) => cmd.$Intent && !options.supportedIntents?.includes(cmd.$Intent.name))) return false;\n\t\treturn true;\n\t}\n\t/**\n\t* Ensures that:\n\t* - All objects have been fully resolved to a specific version\n\t* - All pure inputs have been serialized to bytes\n\t* - All async thunks have been fully resolved\n\t* - All transaction intents have been resolved\n\t* \t- The gas payment, budget, and price have been set\n\t* - The transaction sender has been set\n\t*\n\t* When true, the transaction will always be built to the same bytes and digest (unless the transaction is mutated)\n\t*/\n\tisFullyResolved() {\n\t\tif (!this.isPreparedForSerialization()) return false;\n\t\tif (!this.#data.sender) return false;\n\t\tif (needsTransactionResolution(this.#data, {})) return false;\n\t\treturn true;\n\t}\n\t/** Build the transaction to BCS bytes. */\n\tasync build(options = {}) {\n\t\tawait this.prepareForSerialization(options);\n\t\tawait this.#prepareBuild(options);\n\t\treturn this.#data.build({ onlyTransactionKind: options.onlyTransactionKind });\n\t}\n\t/** Derive transaction digest */\n\tasync getDigest(options = {}) {\n\t\tawait this.prepareForSerialization(options);\n\t\tawait this.#prepareBuild(options);\n\t\treturn this.#data.getDigest();\n\t}\n\t/**\n\t* Prepare the transaction by validating the transaction data and resolving all inputs\n\t* so that it can be built into bytes.\n\t*/\n\tasync #prepareBuild(options) {\n\t\tif (!options.onlyTransactionKind && !this.#data.sender) throw new Error(\"Missing transaction sender\");\n\t\tawait this.#runPlugins([...this.#buildPlugins, resolveTransactionPlugin], options);\n\t}\n\tasync #runPlugins(plugins, options) {\n\t\ttry {\n\t\t\tconst createNext = (i) => {\n\t\t\t\tif (i >= plugins.length) return () => {};\n\t\t\t\tconst plugin = plugins[i];\n\t\t\t\treturn async () => {\n\t\t\t\t\tconst next = createNext(i + 1);\n\t\t\t\t\tlet calledNext = false;\n\t\t\t\t\tlet nextResolved = false;\n\t\t\t\t\tawait plugin(this.#data, options, async () => {\n\t\t\t\t\t\tif (calledNext) throw new Error(`next() was call multiple times in TransactionPlugin ${i}`);\n\t\t\t\t\t\tcalledNext = true;\n\t\t\t\t\t\tawait next();\n\t\t\t\t\t\tnextResolved = true;\n\t\t\t\t\t});\n\t\t\t\t\tif (!calledNext) throw new Error(`next() was not called in TransactionPlugin ${i}`);\n\t\t\t\t\tif (!nextResolved) throw new Error(`next() was not awaited in TransactionPlugin ${i}`);\n\t\t\t\t};\n\t\t\t};\n\t\t\tawait createNext(0)();\n\t\t} finally {\n\t\t\tthis.#inputSection = this.#data.inputs.slice();\n\t\t\tthis.#commandSection = this.#data.commands.slice();\n\t\t\tthis.#availableResults = new Set(this.#commandSection.map((_, i) => i));\n\t\t}\n\t}\n\tasync #waitForPendingTasks() {\n\t\twhile (this.#pendingPromises.size > 0) {\n\t\t\tconst newPromise = Promise.all(this.#pendingPromises);\n\t\t\tthis.#pendingPromises.clear();\n\t\t\tthis.#pendingPromises.add(newPromise);\n\t\t\tawait newPromise;\n\t\t\tthis.#pendingPromises.delete(newPromise);\n\t\t}\n\t}\n\t#sortCommandsAndInputs() {\n\t\tconst unorderedCommands = this.#data.commands;\n\t\tconst unorderedInputs = this.#data.inputs;\n\t\tconst orderedCommands = this.#commandSection.flat(Infinity);\n\t\tconst orderedInputs = this.#inputSection.flat(Infinity);\n\t\tif (orderedCommands.length !== unorderedCommands.length) throw new Error(\"Unexpected number of commands found in transaction data\");\n\t\tif (orderedInputs.length !== unorderedInputs.length) throw new Error(\"Unexpected number of inputs found in transaction data\");\n\t\tconst filteredCommands = orderedCommands.filter((cmd) => cmd.$Intent?.name !== \"AsyncTransactionThunk\");\n\t\tthis.#data.commands = filteredCommands;\n\t\tthis.#data.inputs = orderedInputs;\n\t\tthis.#commandSection = filteredCommands;\n\t\tthis.#inputSection = orderedInputs;\n\t\tthis.#availableResults = new Set(filteredCommands.map((_, i) => i));\n\t\tfunction getOriginalIndex(index) {\n\t\t\tconst command = unorderedCommands[index];\n\t\t\tif (command.$Intent?.name === \"AsyncTransactionThunk\") {\n\t\t\t\tconst result = command.$Intent.data.result;\n\t\t\t\tif (result == null) throw new Error(\"AsyncTransactionThunk has not been resolved\");\n\t\t\t\treturn getOriginalIndex(result.Result);\n\t\t\t}\n\t\t\tconst updated = filteredCommands.indexOf(command);\n\t\t\tif (updated === -1) throw new Error(\"Unable to find original index for command\");\n\t\t\treturn updated;\n\t\t}\n\t\tthis.#data.mapArguments((arg) => {\n\t\t\tif (arg.$kind === \"Input\") {\n\t\t\t\tconst updated = orderedInputs.indexOf(unorderedInputs[arg.Input]);\n\t\t\t\tif (updated === -1) throw new Error(\"Input has not been resolved\");\n\t\t\t\treturn {\n\t\t\t\t\t...arg,\n\t\t\t\t\tInput: updated\n\t\t\t\t};\n\t\t\t} else if (arg.$kind === \"Result\") {\n\t\t\t\tconst updated = getOriginalIndex(arg.Result);\n\t\t\t\treturn {\n\t\t\t\t\t...arg,\n\t\t\t\t\tResult: updated\n\t\t\t\t};\n\t\t\t} else if (arg.$kind === \"NestedResult\") {\n\t\t\t\tconst updated = getOriginalIndex(arg.NestedResult[0]);\n\t\t\t\treturn {\n\t\t\t\t\t...arg,\n\t\t\t\t\tNestedResult: [updated, arg.NestedResult[1]]\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn arg;\n\t\t});\n\t\tfor (const [i, cmd] of unorderedCommands.entries()) if (cmd.$Intent?.name === \"AsyncTransactionThunk\") try {\n\t\t\tcmd.$Intent.data.resultIndex = getOriginalIndex(i);\n\t\t} catch {}\n\t}\n\tasync prepareForSerialization(options) {\n\t\tawait this.#waitForPendingTasks();\n\t\tthis.#sortCommandsAndInputs();\n\t\tconst intents = /* @__PURE__ */ new Set();\n\t\tfor (const command of this.#data.commands) if (command.$Intent) intents.add(command.$Intent.name);\n\t\tconst steps = [...this.#serializationPlugins];\n\t\tfor (const intent of intents) {\n\t\t\tif (options.supportedIntents?.includes(intent)) continue;\n\t\t\tif (!this.#intentResolvers.has(intent)) throw new Error(`Missing intent resolver for ${intent}`);\n\t\t\tsteps.push(this.#intentResolvers.get(intent));\n\t\t}\n\t\tsteps.push(namedPackagesPlugin());\n\t\tawait this.#runPlugins(steps, options);\n\t}\n};\n\n//#endregion\nexport { Transaction, isTransaction };\n//# sourceMappingURL=Transaction.mjs.map","import { SUI_ADDRESS_LENGTH, normalizeStructTag, parseStructTag } from \"../utils/sui-types.mjs\";\nimport { TypeTagSerializer } from \"../bcs/type-tag-serializer.mjs\";\nimport { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { BaseClient } from \"./client.mjs\";\nimport { deriveDynamicFieldID } from \"../utils/dynamic-fields.mjs\";\nimport { MvrClient } from \"./mvr.mjs\";\n\n//#region src/client/core.ts\nconst DEFAULT_MVR_URLS = {\n\tmainnet: \"https://mainnet.mvr.mystenlabs.com\",\n\ttestnet: \"https://testnet.mvr.mystenlabs.com\"\n};\nvar CoreClient = class extends BaseClient {\n\tconstructor(options) {\n\t\tsuper(options);\n\t\tthis.core = this;\n\t\tthis.mvr = new MvrClient({\n\t\t\tcache: this.cache.scope(\"core.mvr\"),\n\t\t\turl: options.mvr?.url ?? DEFAULT_MVR_URLS[this.network],\n\t\t\tpageSize: options.mvr?.pageSize,\n\t\t\toverrides: options.mvr?.overrides\n\t\t});\n\t}\n\tasync getObject(options) {\n\t\tconst { objectId } = options;\n\t\tconst { objects: [result] } = await this.getObjects({\n\t\t\tobjectIds: [objectId],\n\t\t\tsignal: options.signal,\n\t\t\tinclude: options.include\n\t\t});\n\t\tif (result instanceof Error) throw result;\n\t\treturn { object: result };\n\t}\n\tasync getDynamicField(options) {\n\t\tconst normalizedNameType = TypeTagSerializer.parseFromStr((await this.core.mvr.resolveType({ type: options.name.type })).type);\n\t\tconst fieldId = deriveDynamicFieldID(options.parentId, normalizedNameType, options.name.bcs);\n\t\tconst { objects: [fieldObject] } = await this.getObjects({\n\t\t\tobjectIds: [fieldId],\n\t\t\tsignal: options.signal,\n\t\t\tinclude: {\n\t\t\t\tpreviousTransaction: true,\n\t\t\t\tcontent: true\n\t\t\t}\n\t\t});\n\t\tif (fieldObject instanceof Error) throw fieldObject;\n\t\tconst fieldType = parseStructTag(fieldObject.type);\n\t\tconst content = await fieldObject.content;\n\t\tconst nameTypeParam = fieldType.typeParams[0];\n\t\tconst isDynamicObject = typeof nameTypeParam !== \"string\" && nameTypeParam.module === \"dynamic_object_field\" && nameTypeParam.name === \"Wrapper\";\n\t\tconst valueBcs = content.slice(SUI_ADDRESS_LENGTH + options.name.bcs.length);\n\t\tconst valueType = typeof fieldType.typeParams[1] === \"string\" ? fieldType.typeParams[1] : normalizeStructTag(fieldType.typeParams[1]);\n\t\treturn { dynamicField: {\n\t\t\t$kind: isDynamicObject ? \"DynamicObject\" : \"DynamicField\",\n\t\t\tfieldId: fieldObject.objectId,\n\t\t\tdigest: fieldObject.digest,\n\t\t\tversion: fieldObject.version,\n\t\t\ttype: fieldObject.type,\n\t\t\tpreviousTransaction: fieldObject.previousTransaction,\n\t\t\tname: {\n\t\t\t\ttype: typeof nameTypeParam === \"string\" ? nameTypeParam : normalizeStructTag(nameTypeParam),\n\t\t\t\tbcs: options.name.bcs\n\t\t\t},\n\t\t\tvalue: {\n\t\t\t\ttype: valueType,\n\t\t\t\tbcs: valueBcs\n\t\t\t},\n\t\t\tchildId: isDynamicObject ? suiBcs.Address.parse(valueBcs) : void 0\n\t\t} };\n\t}\n\tasync getDynamicObjectField(options) {\n\t\tconst wrappedType = `0x2::dynamic_object_field::Wrapper<${(await this.core.mvr.resolveType({ type: options.name.type })).type}>`;\n\t\tconst { dynamicField } = await this.getDynamicField({\n\t\t\tparentId: options.parentId,\n\t\t\tname: {\n\t\t\t\ttype: wrappedType,\n\t\t\t\tbcs: options.name.bcs\n\t\t\t},\n\t\t\tsignal: options.signal\n\t\t});\n\t\tconst { object } = await this.getObject({\n\t\t\tobjectId: dynamicField.childId,\n\t\t\tsignal: options.signal,\n\t\t\tinclude: options.include\n\t\t});\n\t\treturn { object };\n\t}\n\tasync waitForTransaction(options) {\n\t\tconst { signal, timeout = 60 * 1e3, pollSchedule, include } = options;\n\t\tconst digest = \"result\" in options && options.result ? (options.result.Transaction ?? options.result.FailedTransaction).digest : options.digest;\n\t\tconst abortSignal = signal ? AbortSignal.any([AbortSignal.timeout(timeout), signal]) : AbortSignal.timeout(timeout);\n\t\tconst abortPromise = new Promise((_, reject) => {\n\t\t\tabortSignal.addEventListener(\"abort\", () => reject(abortSignal.reason));\n\t\t});\n\t\tabortPromise.catch(() => {});\n\t\tconst schedule = pollSchedule ?? [\n\t\t\t0,\n\t\t\t300,\n\t\t\t600,\n\t\t\t1500,\n\t\t\t3500\n\t\t];\n\t\tconst t0 = Date.now();\n\t\tlet scheduleIndex = 0;\n\t\tconst lastInterval = schedule.length > 0 ? schedule[schedule.length - 1] - (schedule[schedule.length - 2] ?? 0) : 2e3;\n\t\twhile (true) {\n\t\t\tif (scheduleIndex < schedule.length) {\n\t\t\t\tconst remaining = t0 + schedule[scheduleIndex] - Date.now();\n\t\t\t\tscheduleIndex++;\n\t\t\t\tif (remaining > 0) await Promise.race([new Promise((resolve) => setTimeout(resolve, remaining)), abortPromise]);\n\t\t\t} else await Promise.race([new Promise((resolve) => setTimeout(resolve, lastInterval)), abortPromise]);\n\t\t\tabortSignal.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransaction({\n\t\t\t\t\tdigest,\n\t\t\t\t\tinclude,\n\t\t\t\t\tsignal: abortSignal\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t}\n\t}\n\tasync signAndExecuteTransaction({ transaction, signer, additionalSignatures = [], ...input }) {\n\t\tlet transactionBytes;\n\t\tif (transaction instanceof Uint8Array) transactionBytes = transaction;\n\t\telse {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\t\tconst { signature } = await signer.signTransaction(transactionBytes);\n\t\treturn this.executeTransaction({\n\t\t\ttransaction: transactionBytes,\n\t\t\tsignatures: [signature, ...additionalSignatures],\n\t\t\t...input\n\t\t});\n\t}\n};\n\n//#endregion\nexport { CoreClient };\n//# sourceMappingURL=core.mjs.map","import { ExecutionStatus } from \"../bcs/effects.mjs\";\nimport { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { TransactionDataBuilder } from \"../transactions/TransactionData.mjs\";\nimport { toBase64 } from \"@mysten/utils\";\n\n//#region src/client/utils.ts\nconst ordinalRules = new Intl.PluralRules(\"en-US\", { type: \"ordinal\" });\nconst ordinalSuffixes = new Map([\n\t[\"one\", \"st\"],\n\t[\"two\", \"nd\"],\n\t[\"few\", \"rd\"],\n\t[\"other\", \"th\"]\n]);\nfunction formatOrdinal(n) {\n\treturn `${n}${ordinalSuffixes.get(ordinalRules.select(n))}`;\n}\nfunction formatMoveAbortMessage(options) {\n\tconst { command, location, abortCode, cleverError } = options;\n\tconst parts = [];\n\tif (command != null) parts.push(`MoveAbort in ${formatOrdinal(command + 1)} command`);\n\telse parts.push(\"MoveAbort\");\n\tif (cleverError?.constantName) {\n\t\tconst errorStr = cleverError.value ? `'${cleverError.constantName}': ${cleverError.value}` : `'${cleverError.constantName}'`;\n\t\tparts.push(errorStr);\n\t} else parts.push(`abort code: ${abortCode}`);\n\tif (location?.package && location?.module) {\n\t\tconst locationStr = [`in '${[\n\t\t\tlocation.package.startsWith(\"0x\") ? location.package : `0x${location.package}`,\n\t\t\tlocation.module,\n\t\t\tlocation.functionName\n\t\t].filter(Boolean).join(\"::\")}'`];\n\t\tif (cleverError?.lineNumber != null) locationStr.push(`(line ${cleverError.lineNumber})`);\n\t\telse if (location.instruction != null) locationStr.push(`(instruction ${location.instruction})`);\n\t\tparts.push(locationStr.join(\" \"));\n\t}\n\treturn parts.join(\", \");\n}\nconst MinimalEffectsWithError = suiBcs.struct(\"MinimalEffectsWithError\", { status: ExecutionStatus });\nconst MinimalTransactionEffectsWithError = suiBcs.enum(\"MinimalTransactionEffectsWithError\", {\n\tV1: MinimalEffectsWithError,\n\tV2: MinimalEffectsWithError\n});\nconst MinimalExecutionStatusNoError = suiBcs.enum(\"MinimalExecutionStatusNoError\", {\n\tSuccess: null,\n\tFailed: null\n});\nconst MinimalEffectsNoError = suiBcs.struct(\"MinimalEffectsNoError\", { status: MinimalExecutionStatusNoError });\nconst MinimalTransactionEffectsNoError = suiBcs.enum(\"MinimalTransactionEffectsNoError\", {\n\tV1: MinimalEffectsNoError,\n\tV2: MinimalEffectsNoError\n});\nfunction formatErrorMessage($kind, data) {\n\tif (data !== null && data !== void 0 && typeof data !== \"boolean\") return `${$kind}(${JSON.stringify(data, (_key, value) => typeof value === \"bigint\" ? value.toString() : value)})`;\n\treturn $kind;\n}\nfunction parseBcsExecutionError(failure) {\n\tconst error = failure.error;\n\tconst command = failure.command != null ? Number(failure.command) : void 0;\n\tswitch (error.$kind) {\n\t\tcase \"MoveAbort\": {\n\t\t\tconst [location, abortCode] = error.MoveAbort;\n\t\t\tconst moveLocation = {\n\t\t\t\tpackage: location.module.address,\n\t\t\t\tmodule: location.module.name,\n\t\t\t\tfunction: location.function,\n\t\t\t\tfunctionName: location.functionName ?? void 0,\n\t\t\t\tinstruction: location.instruction\n\t\t\t};\n\t\t\treturn {\n\t\t\t\t$kind: \"MoveAbort\",\n\t\t\t\tmessage: formatMoveAbortMessage({\n\t\t\t\t\tcommand,\n\t\t\t\t\tlocation: moveLocation,\n\t\t\t\t\tabortCode: String(abortCode)\n\t\t\t\t}),\n\t\t\t\tcommand,\n\t\t\t\tMoveAbort: {\n\t\t\t\t\tabortCode: String(abortCode),\n\t\t\t\t\tlocation: moveLocation\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tcase \"MoveObjectTooBig\": return {\n\t\t\t$kind: \"SizeError\",\n\t\t\tmessage: formatErrorMessage(\"MoveObjectTooBig\", error.MoveObjectTooBig),\n\t\t\tcommand,\n\t\t\tSizeError: {\n\t\t\t\tname: \"ObjectTooBig\",\n\t\t\t\tsize: Number(error.MoveObjectTooBig.objectSize),\n\t\t\t\tmaxSize: Number(error.MoveObjectTooBig.maxObjectSize)\n\t\t\t}\n\t\t};\n\t\tcase \"MovePackageTooBig\": return {\n\t\t\t$kind: \"SizeError\",\n\t\t\tmessage: formatErrorMessage(\"MovePackageTooBig\", error.MovePackageTooBig),\n\t\t\tcommand,\n\t\t\tSizeError: {\n\t\t\t\tname: \"PackageTooBig\",\n\t\t\t\tsize: Number(error.MovePackageTooBig.objectSize),\n\t\t\t\tmaxSize: Number(error.MovePackageTooBig.maxObjectSize)\n\t\t\t}\n\t\t};\n\t\tcase \"EffectsTooLarge\": return {\n\t\t\t$kind: \"SizeError\",\n\t\t\tmessage: formatErrorMessage(\"EffectsTooLarge\", error.EffectsTooLarge),\n\t\t\tcommand,\n\t\t\tSizeError: {\n\t\t\t\tname: \"EffectsTooLarge\",\n\t\t\t\tsize: Number(error.EffectsTooLarge.currentSize),\n\t\t\t\tmaxSize: Number(error.EffectsTooLarge.maxSize)\n\t\t\t}\n\t\t};\n\t\tcase \"WrittenObjectsTooLarge\": return {\n\t\t\t$kind: \"SizeError\",\n\t\t\tmessage: formatErrorMessage(\"WrittenObjectsTooLarge\", error.WrittenObjectsTooLarge),\n\t\t\tcommand,\n\t\t\tSizeError: {\n\t\t\t\tname: \"WrittenObjectsTooLarge\",\n\t\t\t\tsize: Number(error.WrittenObjectsTooLarge.currentSize),\n\t\t\t\tmaxSize: Number(error.WrittenObjectsTooLarge.maxSize)\n\t\t\t}\n\t\t};\n\t\tcase \"MoveVectorElemTooBig\": return {\n\t\t\t$kind: \"SizeError\",\n\t\t\tmessage: formatErrorMessage(\"MoveVectorElemTooBig\", error.MoveVectorElemTooBig),\n\t\t\tcommand,\n\t\t\tSizeError: {\n\t\t\t\tname: \"MoveVectorElemTooBig\",\n\t\t\t\tsize: Number(error.MoveVectorElemTooBig.valueSize),\n\t\t\t\tmaxSize: Number(error.MoveVectorElemTooBig.maxScaledSize)\n\t\t\t}\n\t\t};\n\t\tcase \"MoveRawValueTooBig\": return {\n\t\t\t$kind: \"SizeError\",\n\t\t\tmessage: formatErrorMessage(\"MoveRawValueTooBig\", error.MoveRawValueTooBig),\n\t\t\tcommand,\n\t\t\tSizeError: {\n\t\t\t\tname: \"MoveRawValueTooBig\",\n\t\t\t\tsize: Number(error.MoveRawValueTooBig.valueSize),\n\t\t\t\tmaxSize: Number(error.MoveRawValueTooBig.maxScaledSize)\n\t\t\t}\n\t\t};\n\t\tcase \"CommandArgumentError\": return {\n\t\t\t$kind: \"CommandArgumentError\",\n\t\t\tmessage: formatErrorMessage(\"CommandArgumentError\", error.CommandArgumentError),\n\t\t\tcommand,\n\t\t\tCommandArgumentError: {\n\t\t\t\targument: error.CommandArgumentError.argIdx,\n\t\t\t\tname: error.CommandArgumentError.kind.$kind\n\t\t\t}\n\t\t};\n\t\tcase \"TypeArgumentError\": return {\n\t\t\t$kind: \"TypeArgumentError\",\n\t\t\tmessage: formatErrorMessage(\"TypeArgumentError\", error.TypeArgumentError),\n\t\t\tcommand,\n\t\t\tTypeArgumentError: {\n\t\t\t\ttypeArgument: error.TypeArgumentError.argumentIdx,\n\t\t\t\tname: error.TypeArgumentError.kind.$kind\n\t\t\t}\n\t\t};\n\t\tcase \"PackageUpgradeError\": {\n\t\t\tconst upgradeError = error.PackageUpgradeError.upgradeError;\n\t\t\treturn {\n\t\t\t\t$kind: \"PackageUpgradeError\",\n\t\t\t\tmessage: formatErrorMessage(\"PackageUpgradeError\", error.PackageUpgradeError),\n\t\t\t\tcommand,\n\t\t\t\tPackageUpgradeError: {\n\t\t\t\t\tname: upgradeError.$kind,\n\t\t\t\t\tpackageId: upgradeError.$kind === \"UnableToFetchPackage\" ? upgradeError.UnableToFetchPackage.packageId : void 0,\n\t\t\t\t\tdigest: upgradeError.$kind === \"DigestDoesNotMatch\" ? toBase64(upgradeError.DigestDoesNotMatch.digest) : void 0\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tcase \"ExecutionCancelledDueToSharedObjectCongestion\": return {\n\t\t\t$kind: \"CongestedObjects\",\n\t\t\tmessage: formatErrorMessage(\"ExecutionCancelledDueToSharedObjectCongestion\", error.ExecutionCancelledDueToSharedObjectCongestion),\n\t\t\tcommand,\n\t\t\tCongestedObjects: {\n\t\t\t\tname: \"ExecutionCanceledDueToConsensusObjectCongestion\",\n\t\t\t\tobjects: error.ExecutionCancelledDueToSharedObjectCongestion.congested_objects\n\t\t\t}\n\t\t};\n\t\tcase \"AddressDeniedForCoin\": return {\n\t\t\t$kind: \"CoinDenyListError\",\n\t\t\tmessage: formatErrorMessage(\"AddressDeniedForCoin\", error.AddressDeniedForCoin),\n\t\t\tcommand,\n\t\t\tCoinDenyListError: {\n\t\t\t\tname: \"AddressDeniedForCoin\",\n\t\t\t\taddress: error.AddressDeniedForCoin.address,\n\t\t\t\tcoinType: error.AddressDeniedForCoin.coinType\n\t\t\t}\n\t\t};\n\t\tcase \"CoinTypeGlobalPause\": return {\n\t\t\t$kind: \"CoinDenyListError\",\n\t\t\tmessage: formatErrorMessage(\"CoinTypeGlobalPause\", error.CoinTypeGlobalPause),\n\t\t\tcommand,\n\t\t\tCoinDenyListError: {\n\t\t\t\tname: \"CoinTypeGlobalPause\",\n\t\t\t\tcoinType: error.CoinTypeGlobalPause.coinType\n\t\t\t}\n\t\t};\n\t\tcase \"CircularObjectOwnership\": return {\n\t\t\t$kind: \"ObjectIdError\",\n\t\t\tmessage: formatErrorMessage(\"CircularObjectOwnership\", error.CircularObjectOwnership),\n\t\t\tcommand,\n\t\t\tObjectIdError: {\n\t\t\t\tname: \"CircularObjectOwnership\",\n\t\t\t\tobjectId: error.CircularObjectOwnership.object\n\t\t\t}\n\t\t};\n\t\tcase \"InvalidGasObject\": return {\n\t\t\t$kind: \"ObjectIdError\",\n\t\t\tmessage: \"InvalidGasObject\",\n\t\t\tcommand,\n\t\t\tObjectIdError: {\n\t\t\t\tname: \"InvalidGasObject\",\n\t\t\t\tobjectId: \"\"\n\t\t\t}\n\t\t};\n\t\tcase \"InputObjectDeleted\": return {\n\t\t\t$kind: \"ObjectIdError\",\n\t\t\tmessage: \"InputObjectDeleted\",\n\t\t\tcommand,\n\t\t\tObjectIdError: {\n\t\t\t\tname: \"InputObjectDeleted\",\n\t\t\t\tobjectId: \"\"\n\t\t\t}\n\t\t};\n\t\tcase \"InvalidTransferObject\": return {\n\t\t\t$kind: \"ObjectIdError\",\n\t\t\tmessage: \"InvalidTransferObject\",\n\t\t\tcommand,\n\t\t\tObjectIdError: {\n\t\t\t\tname: \"InvalidTransferObject\",\n\t\t\t\tobjectId: \"\"\n\t\t\t}\n\t\t};\n\t\tcase \"NonExclusiveWriteInputObjectModified\": return {\n\t\t\t$kind: \"Unknown\",\n\t\t\tmessage: formatErrorMessage(\"NonExclusiveWriteInputObjectModified\", error.NonExclusiveWriteInputObjectModified),\n\t\t\tcommand,\n\t\t\tUnknown: null\n\t\t};\n\t\tcase \"InsufficientGas\":\n\t\tcase \"InvariantViolation\":\n\t\tcase \"FeatureNotYetSupported\":\n\t\tcase \"InsufficientCoinBalance\":\n\t\tcase \"CoinBalanceOverflow\":\n\t\tcase \"PublishErrorNonZeroAddress\":\n\t\tcase \"SuiMoveVerificationError\":\n\t\tcase \"MovePrimitiveRuntimeError\":\n\t\tcase \"VMVerificationOrDeserializationError\":\n\t\tcase \"VMInvariantViolation\":\n\t\tcase \"FunctionNotFound\":\n\t\tcase \"ArityMismatch\":\n\t\tcase \"TypeArityMismatch\":\n\t\tcase \"NonEntryFunctionInvoked\":\n\t\tcase \"UnusedValueWithoutDrop\":\n\t\tcase \"InvalidPublicFunctionReturnType\":\n\t\tcase \"PublishUpgradeMissingDependency\":\n\t\tcase \"PublishUpgradeDependencyDowngrade\":\n\t\tcase \"CertificateDenied\":\n\t\tcase \"SuiMoveVerificationTimedout\":\n\t\tcase \"SharedObjectOperationNotAllowed\":\n\t\tcase \"ExecutionCancelledDueToRandomnessUnavailable\":\n\t\tcase \"InvalidLinkage\":\n\t\tcase \"InsufficientBalanceForWithdraw\": return {\n\t\t\t$kind: \"Unknown\",\n\t\t\tmessage: error.$kind,\n\t\t\tcommand,\n\t\t\tUnknown: null\n\t\t};\n\t\tdefault: return {\n\t\t\t$kind: \"Unknown\",\n\t\t\tmessage: \"Unknown error\",\n\t\t\tcommand,\n\t\t\tUnknown: null\n\t\t};\n\t}\n}\nfunction parseTransactionBcs(bytes, onlyTransactionKind = false) {\n\treturn (onlyTransactionKind ? TransactionDataBuilder.fromKindBytes(bytes) : TransactionDataBuilder.fromBytes(bytes)).snapshot();\n}\n/**\n* Extracts just the status from transaction effects BCS without fully parsing.\n* This is optimized for cases where we only need the status (success/failure)\n* without parsing the entire effects structure.\n*\n* Uses a minimal BCS struct that only parses fields up to and including status,\n* since BCS fields are read sequentially. First tries to parse with full error details,\n* then falls back to a version without error parsing if the error enum has unknown variants.\n*\n* For errors with data, serializes the error as JSON to preserve all information.\n*/\nfunction extractStatusFromEffectsBcs(effectsBytes) {\n\tlet parsed = null;\n\ttry {\n\t\tparsed = MinimalTransactionEffectsWithError.parse(effectsBytes);\n\t} catch {\n\t\tconst parsedNoError = MinimalTransactionEffectsNoError.parse(effectsBytes);\n\t\tif ((parsedNoError.V1 ?? parsedNoError.V2).status.$kind === \"Success\") return {\n\t\t\tsuccess: true,\n\t\t\terror: null\n\t\t};\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\t$kind: \"Unknown\",\n\t\t\t\tmessage: \"ExecutionFailed\",\n\t\t\t\tUnknown: null\n\t\t\t}\n\t\t};\n\t}\n\tconst status = (parsed.V1 ?? parsed.V2).status;\n\tif (status.$kind === \"Success\") return {\n\t\tsuccess: true,\n\t\terror: null\n\t};\n\treturn {\n\t\tsuccess: false,\n\t\terror: parseBcsExecutionError(status.Failure)\n\t};\n}\nfunction parseTransactionEffectsBcs(effects) {\n\tconst parsed = suiBcs.TransactionEffects.parse(effects);\n\tswitch (parsed.$kind) {\n\t\tcase \"V1\": return parseTransactionEffectsV1({\n\t\t\tbytes: effects,\n\t\t\teffects: parsed.V1\n\t\t});\n\t\tcase \"V2\": return parseTransactionEffectsV2({\n\t\t\tbytes: effects,\n\t\t\teffects: parsed.V2\n\t\t});\n\t\tdefault: throw new Error(`Unknown transaction effects version: ${parsed.$kind}`);\n\t}\n}\nfunction parseTransactionEffectsV1(_) {\n\tthrow new Error(\"V1 effects are not supported yet\");\n}\nfunction parseTransactionEffectsV2({ bytes, effects }) {\n\tconst changedObjects = effects.changedObjects.map(([id, change]) => {\n\t\treturn {\n\t\t\tobjectId: id,\n\t\t\tinputState: change.inputState.$kind === \"Exist\" ? \"Exists\" : \"DoesNotExist\",\n\t\t\tinputVersion: change.inputState.Exist?.[0][0] ?? null,\n\t\t\tinputDigest: change.inputState.Exist?.[0][1] ?? null,\n\t\t\tinputOwner: change.inputState.Exist?.[1] ?? null,\n\t\t\toutputState: change.outputState.$kind === \"NotExist\" ? \"DoesNotExist\" : change.outputState.$kind,\n\t\t\toutputVersion: change.outputState.$kind === \"PackageWrite\" ? change.outputState.PackageWrite?.[0] : change.outputState.$kind === \"ObjectWrite\" ? effects.lamportVersion : null,\n\t\t\toutputDigest: change.outputState.$kind === \"PackageWrite\" ? change.outputState.PackageWrite?.[1] : change.outputState.$kind === \"ObjectWrite\" ? change.outputState.ObjectWrite?.[0] ?? null : null,\n\t\t\toutputOwner: change.outputState.$kind === \"ObjectWrite\" ? change.outputState.ObjectWrite[1] : null,\n\t\t\tidOperation: change.idOperation.$kind\n\t\t};\n\t});\n\treturn {\n\t\tbcs: bytes,\n\t\tversion: 2,\n\t\tstatus: effects.status.$kind === \"Success\" ? {\n\t\t\tsuccess: true,\n\t\t\terror: null\n\t\t} : {\n\t\t\tsuccess: false,\n\t\t\terror: parseBcsExecutionError(effects.status.Failure)\n\t\t},\n\t\tgasUsed: effects.gasUsed,\n\t\ttransactionDigest: effects.transactionDigest,\n\t\tgasObject: effects.gasObjectIndex === null ? null : changedObjects[effects.gasObjectIndex] ?? null,\n\t\teventsDigest: effects.eventsDigest,\n\t\tdependencies: effects.dependencies,\n\t\tlamportVersion: effects.lamportVersion,\n\t\tchangedObjects,\n\t\tunchangedConsensusObjects: effects.unchangedConsensusObjects.map(([objectId, object]) => {\n\t\t\treturn {\n\t\t\t\tkind: object.$kind,\n\t\t\t\tobjectId,\n\t\t\t\tversion: object.$kind === \"ReadOnlyRoot\" ? object.ReadOnlyRoot[0] : object[object.$kind],\n\t\t\t\tdigest: object.$kind === \"ReadOnlyRoot\" ? object.ReadOnlyRoot[1] : null\n\t\t\t};\n\t\t}),\n\t\tauxiliaryDataDigest: effects.auxDataDigest\n\t};\n}\n\n//#endregion\nexport { extractStatusFromEffectsBcs, formatMoveAbortMessage, parseTransactionBcs, parseTransactionEffectsBcs };\n//# sourceMappingURL=utils.mjs.map","import { normalizeStructTag, normalizeSuiAddress } from \"../utils/sui-types.mjs\";\nimport { TypeTagSerializer } from \"../bcs/type-tag-serializer.mjs\";\nimport { bcs as suiBcs } from \"../bcs/index.mjs\";\nimport { deriveDynamicFieldID } from \"../utils/dynamic-fields.mjs\";\nimport { CoreClient } from \"../client/core.mjs\";\nimport { TransactionDataBuilder } from \"../transactions/TransactionData.mjs\";\nimport { formatMoveAbortMessage, parseTransactionBcs, parseTransactionEffectsBcs } from \"../client/utils.mjs\";\nimport { ObjectError } from \"../client/errors.mjs\";\nimport { SUI_FRAMEWORK_ADDRESS, SUI_SYSTEM_ADDRESS } from \"../utils/constants.mjs\";\nimport { computeGasBudget, coreClientResolveTransactionPlugin } from \"../client/core-resolver.mjs\";\nimport { Transaction } from \"../transactions/Transaction.mjs\";\nimport { fromBase64 } from \"@mysten/bcs\";\nimport { chunk } from \"@mysten/utils\";\n\n//#region src/jsonRpc/core.ts\nconst MAX_GAS = 5e10;\nfunction parseJsonRpcExecutionStatus(status, abortError) {\n\tif (status.status === \"success\") return {\n\t\tsuccess: true,\n\t\terror: null\n\t};\n\tconst rawMessage = status.error ?? \"Unknown\";\n\tif (abortError) {\n\t\tconst commandMatch = rawMessage.match(/in command (\\d+)/);\n\t\tconst command = commandMatch ? parseInt(commandMatch[1], 10) : void 0;\n\t\tconst instructionMatch = rawMessage.match(/instruction:\\s*(\\d+)/);\n\t\tconst instruction = instructionMatch ? parseInt(instructionMatch[1], 10) : void 0;\n\t\tconst moduleParts = abortError.module_id?.split(\"::\") ?? [];\n\t\tconst pkg = moduleParts[0] ? normalizeSuiAddress(moduleParts[0]) : void 0;\n\t\tconst module = moduleParts[1];\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\t$kind: \"MoveAbort\",\n\t\t\t\tmessage: formatMoveAbortMessage({\n\t\t\t\t\tcommand,\n\t\t\t\t\tlocation: pkg && module ? {\n\t\t\t\t\t\tpackage: pkg,\n\t\t\t\t\t\tmodule,\n\t\t\t\t\t\tfunctionName: abortError.function ?? void 0,\n\t\t\t\t\t\tinstruction\n\t\t\t\t\t} : void 0,\n\t\t\t\t\tabortCode: String(abortError.error_code ?? 0),\n\t\t\t\t\tcleverError: abortError.line != null ? { lineNumber: abortError.line } : void 0\n\t\t\t\t}),\n\t\t\t\tcommand,\n\t\t\t\tMoveAbort: {\n\t\t\t\t\tabortCode: String(abortError.error_code ?? 0),\n\t\t\t\t\tlocation: abortError.module_id ? {\n\t\t\t\t\t\tpackage: normalizeSuiAddress(abortError.module_id.split(\"::\")[0] ?? \"\"),\n\t\t\t\t\t\tmodule: abortError.module_id.split(\"::\")[1] ?? \"\",\n\t\t\t\t\t\tfunctionName: abortError.function ?? void 0,\n\t\t\t\t\t\tinstruction\n\t\t\t\t\t} : void 0\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\treturn {\n\t\tsuccess: false,\n\t\terror: {\n\t\t\t$kind: \"Unknown\",\n\t\t\tmessage: rawMessage,\n\t\t\tUnknown: null\n\t\t}\n\t};\n}\nvar JSONRpcCoreClient = class extends CoreClient {\n\t#jsonRpcClient;\n\tconstructor({ jsonRpcClient, mvr }) {\n\t\tsuper({\n\t\t\tnetwork: jsonRpcClient.network,\n\t\t\tbase: jsonRpcClient,\n\t\t\tmvr\n\t\t});\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\tasync getObjects(options) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results = [];\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: options.include?.content || options.include?.objectBcs ? true : false,\n\t\t\t\t\tshowPreviousTransaction: options.include?.previousTransaction || options.include?.objectBcs ? true : false,\n\t\t\t\t\tshowStorageRebate: options.include?.objectBcs ?? false,\n\t\t\t\t\tshowContent: options.include?.json ?? false,\n\t\t\t\t\tshowDisplay: options.include?.display ?? false\n\t\t\t\t},\n\t\t\t\tsignal: options.signal\n\t\t\t});\n\t\t\tfor (const [idx, object] of objects.entries()) if (object.error) results.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\telse results.push(parseObject(object.data, options.include));\n\t\t}\n\t\treturn { objects: results };\n\t}\n\tasync listOwnedObjects(options) {\n\t\tlet filter = null;\n\t\tif (options.type) {\n\t\t\tconst parts = options.type.split(\"::\");\n\t\t\tif (parts.length === 1) filter = { Package: options.type };\n\t\t\telse if (parts.length === 2) filter = { MoveModule: {\n\t\t\t\tpackage: parts[0],\n\t\t\t\tmodule: parts[1]\n\t\t\t} };\n\t\t\telse filter = { StructType: options.type };\n\t\t}\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.owner,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: options.include?.content || options.include?.objectBcs ? true : false,\n\t\t\t\tshowPreviousTransaction: options.include?.previousTransaction || options.include?.objectBcs ? true : false,\n\t\t\t\tshowStorageRebate: options.include?.objectBcs ?? false,\n\t\t\t\tshowContent: options.include?.json ?? false,\n\t\t\t\tshowDisplay: options.include?.display ?? false\n\t\t\t},\n\t\t\tfilter,\n\t\t\tsignal: options.signal\n\t\t});\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) throw ObjectError.fromResponse(result.error);\n\t\t\t\treturn parseObject(result.data, options.include);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null\n\t\t};\n\t}\n\tasync listCoins(options) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.owner,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal\n\t\t});\n\t\treturn {\n\t\t\tobjects: coins.data.map((coin) => ({\n\t\t\t\tobjectId: coin.coinObjectId,\n\t\t\t\tversion: coin.version,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tbalance: coin.balance,\n\t\t\t\ttype: normalizeStructTag(`0x2::coin::Coin<${coin.coinType}>`),\n\t\t\t\towner: {\n\t\t\t\t\t$kind: \"AddressOwner\",\n\t\t\t\t\tAddressOwner: options.owner\n\t\t\t\t}\n\t\t\t})),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null\n\t\t};\n\t}\n\tasync getBalance(options) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.owner,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal\n\t\t});\n\t\tconst addressBalance = balance.fundsInAddressBalance ?? \"0\";\n\t\tconst coinBalance = String(BigInt(balance.totalBalance) - BigInt(addressBalance));\n\t\treturn { balance: {\n\t\t\tcoinType: normalizeStructTag(balance.coinType),\n\t\t\tbalance: balance.totalBalance,\n\t\t\tcoinBalance,\n\t\t\taddressBalance\n\t\t} };\n\t}\n\tasync getCoinMetadata(options) {\n\t\tconst coinType = (await this.mvr.resolveType({ type: options.coinType })).type;\n\t\tconst result = await this.#jsonRpcClient.getCoinMetadata({\n\t\t\tcoinType,\n\t\t\tsignal: options.signal\n\t\t});\n\t\tif (!result) return { coinMetadata: null };\n\t\treturn { coinMetadata: {\n\t\t\tid: result.id ?? null,\n\t\t\tdecimals: result.decimals,\n\t\t\tname: result.name,\n\t\t\tsymbol: result.symbol,\n\t\t\tdescription: result.description,\n\t\t\ticonUrl: result.iconUrl ?? null\n\t\t} };\n\t}\n\tasync listBalances(options) {\n\t\treturn {\n\t\t\tbalances: (await this.#jsonRpcClient.getAllBalances({\n\t\t\t\towner: options.owner,\n\t\t\t\tsignal: options.signal\n\t\t\t})).map((balance) => {\n\t\t\t\tconst addressBalance = balance.fundsInAddressBalance ?? \"0\";\n\t\t\t\tconst coinBalance = String(BigInt(balance.totalBalance) - BigInt(addressBalance));\n\t\t\t\treturn {\n\t\t\t\t\tcoinType: normalizeStructTag(balance.coinType),\n\t\t\t\t\tbalance: balance.totalBalance,\n\t\t\t\t\tcoinBalance,\n\t\t\t\t\taddressBalance\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null\n\t\t};\n\t}\n\tasync getTransaction(options) {\n\t\treturn parseTransaction(await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowObjectChanges: options.include?.objectTypes ?? false,\n\t\t\t\tshowRawEffects: options.include?.effects ?? false,\n\t\t\t\tshowEvents: options.include?.events ?? false,\n\t\t\t\tshowBalanceChanges: options.include?.balanceChanges ?? false\n\t\t\t},\n\t\t\tsignal: options.signal\n\t\t}), options.include);\n\t}\n\tasync executeTransaction(options) {\n\t\treturn parseTransaction(await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowRawEffects: options.include?.effects ?? false,\n\t\t\t\tshowEvents: options.include?.events ?? false,\n\t\t\t\tshowObjectChanges: options.include?.objectTypes ?? false,\n\t\t\t\tshowBalanceChanges: options.include?.balanceChanges ?? false\n\t\t\t},\n\t\t\tsignal: options.signal\n\t\t}), options.include);\n\t}\n\tasync simulateTransaction(options) {\n\t\tif (!(options.transaction instanceof Uint8Array)) await options.transaction.build({\n\t\t\tclient: this,\n\t\t\tonlyTransactionKind: true\n\t\t});\n\t\tconst tx = Transaction.from(options.transaction);\n\t\tconst data = options.transaction instanceof Uint8Array ? null : TransactionDataBuilder.restore(options.transaction.getData());\n\t\tconst transactionBytes = data ? data.build({ overrides: { gasData: {\n\t\t\tbudget: data.gasData.budget ?? String(MAX_GAS),\n\t\t\tprice: data.gasData.price ?? String(await this.#jsonRpcClient.getReferenceGasPrice()),\n\t\t\tpayment: data.gasData.payment ?? []\n\t\t} } }) : options.transaction;\n\t\tconst sender = tx.getData().sender ?? normalizeSuiAddress(\"0x0\");\n\t\tconst checksDisabled = options.checksEnabled === false;\n\t\tlet dryRunResult = null;\n\t\ttry {\n\t\t\tdryRunResult = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\t\ttransactionBlock: transactionBytes,\n\t\t\t\tsignal: options.signal\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (!checksDisabled) throw e;\n\t\t}\n\t\tlet devInspectResult = null;\n\t\tif (options.include?.commandResults || checksDisabled) try {\n\t\t\tdevInspectResult = await this.#jsonRpcClient.devInspectTransactionBlock({\n\t\t\t\tsender,\n\t\t\t\ttransactionBlock: tx,\n\t\t\t\tsignal: options.signal\n\t\t\t});\n\t\t} catch {}\n\t\tconst dryRunFailed = !dryRunResult || dryRunResult.effects.status.status !== \"success\";\n\t\tconst effectsSource = checksDisabled && dryRunFailed && devInspectResult ? devInspectResult : dryRunResult ?? devInspectResult;\n\t\tif (!effectsSource) throw new Error(\"simulateTransaction failed: no results from dryRun or devInspect\");\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: effectsSource.effects,\n\t\t\tobjectChanges: (!dryRunFailed ? dryRunResult?.objectChanges : null) ?? []\n\t\t});\n\t\tlet parsedTransaction;\n\t\tif (options.include?.transaction) {\n\t\t\tparsedTransaction = parseTransactionBcs(transactionBytes);\n\t\t\tif (data && !dryRunFailed && effects.gasUsed) {\n\t\t\t\tif (!data.gasData.budget) parsedTransaction.gasData.budget = computeGasBudget(effects.gasUsed);\n\t\t\t}\n\t\t}\n\t\tconst transactionData = {\n\t\t\tdigest: TransactionDataBuilder.getDigestFromBytes(transactionBytes),\n\t\t\tepoch: null,\n\t\t\tstatus: effects.status,\n\t\t\teffects: options.include?.effects ? effects : void 0,\n\t\t\tobjectTypes: options.include?.objectTypes ? objectTypes : void 0,\n\t\t\tsignatures: [],\n\t\t\ttransaction: parsedTransaction ?? void 0,\n\t\t\tbcs: options.include?.bcs ? transactionBytes : void 0,\n\t\t\tbalanceChanges: options.include?.balanceChanges && dryRunResult && !dryRunFailed ? dryRunResult.balanceChanges.map((change) => ({\n\t\t\t\tcoinType: normalizeStructTag(change.coinType),\n\t\t\t\taddress: parseOwnerAddress(change.owner),\n\t\t\t\tamount: change.amount\n\t\t\t})) : void 0,\n\t\t\tevents: options.include?.events ? effectsSource.events?.map((event) => ({\n\t\t\t\tpackageId: event.packageId,\n\t\t\t\tmodule: event.transactionModule,\n\t\t\t\tsender: event.sender,\n\t\t\t\teventType: event.type,\n\t\t\t\tbcs: \"bcs\" in event ? fromBase64(event.bcs) : new Uint8Array(),\n\t\t\t\tjson: event.parsedJson ?? null\n\t\t\t})) ?? [] : void 0\n\t\t};\n\t\tlet commandResults;\n\t\tif (options.include?.commandResults && devInspectResult?.results) commandResults = devInspectResult.results.map((result) => ({\n\t\t\treturnValues: (result.returnValues ?? []).map(([bytes]) => ({ bcs: new Uint8Array(bytes) })),\n\t\t\tmutatedReferences: (result.mutableReferenceOutputs ?? []).map(([, bytes]) => ({ bcs: new Uint8Array(bytes) }))\n\t\t}));\n\t\treturn effects.status.success ? {\n\t\t\t$kind: \"Transaction\",\n\t\t\tTransaction: transactionData,\n\t\t\tcommandResults\n\t\t} : {\n\t\t\t$kind: \"FailedTransaction\",\n\t\t\tFailedTransaction: transactionData,\n\t\t\tcommandResults\n\t\t};\n\t}\n\tasync getReferenceGasPrice(options) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({ signal: options?.signal });\n\t\treturn { referenceGasPrice: String(referenceGasPrice) };\n\t}\n\tasync getProtocolConfig(options) {\n\t\tconst result = await this.#jsonRpcClient.getProtocolConfig({ signal: options?.signal });\n\t\tconst attributes = {};\n\t\tfor (const [key, value] of Object.entries(result.attributes)) if (value === null) attributes[key] = null;\n\t\telse if (\"u16\" in value) attributes[key] = value.u16;\n\t\telse if (\"u32\" in value) attributes[key] = value.u32;\n\t\telse if (\"u64\" in value) attributes[key] = value.u64;\n\t\telse if (\"f64\" in value) attributes[key] = value.f64;\n\t\telse if (\"bool\" in value) attributes[key] = value.bool;\n\t\telse {\n\t\t\tconst entries = Object.entries(value);\n\t\t\tattributes[key] = entries.length === 1 ? String(entries[0][1]) : JSON.stringify(value);\n\t\t}\n\t\treturn { protocolConfig: {\n\t\t\tprotocolVersion: result.protocolVersion,\n\t\t\tfeatureFlags: { ...result.featureFlags },\n\t\t\tattributes\n\t\t} };\n\t}\n\tasync getCurrentSystemState(options) {\n\t\tconst systemState = await this.#jsonRpcClient.getLatestSuiSystemState({ signal: options?.signal });\n\t\treturn { systemState: {\n\t\t\tsystemStateVersion: systemState.systemStateVersion,\n\t\t\tepoch: systemState.epoch,\n\t\t\tprotocolVersion: systemState.protocolVersion,\n\t\t\treferenceGasPrice: systemState.referenceGasPrice?.toString() ?? null,\n\t\t\tepochStartTimestampMs: systemState.epochStartTimestampMs,\n\t\t\tsafeMode: systemState.safeMode,\n\t\t\tsafeModeStorageRewards: systemState.safeModeStorageRewards,\n\t\t\tsafeModeComputationRewards: systemState.safeModeComputationRewards,\n\t\t\tsafeModeStorageRebates: systemState.safeModeStorageRebates,\n\t\t\tsafeModeNonRefundableStorageFee: systemState.safeModeNonRefundableStorageFee,\n\t\t\tparameters: {\n\t\t\t\tepochDurationMs: systemState.epochDurationMs,\n\t\t\t\tstakeSubsidyStartEpoch: systemState.stakeSubsidyStartEpoch,\n\t\t\t\tmaxValidatorCount: systemState.maxValidatorCount,\n\t\t\t\tminValidatorJoiningStake: systemState.minValidatorJoiningStake,\n\t\t\t\tvalidatorLowStakeThreshold: systemState.validatorLowStakeThreshold,\n\t\t\t\tvalidatorLowStakeGracePeriod: systemState.validatorLowStakeGracePeriod\n\t\t\t},\n\t\t\tstorageFund: {\n\t\t\t\ttotalObjectStorageRebates: systemState.storageFundTotalObjectStorageRebates,\n\t\t\t\tnonRefundableBalance: systemState.storageFundNonRefundableBalance\n\t\t\t},\n\t\t\tstakeSubsidy: {\n\t\t\t\tbalance: systemState.stakeSubsidyBalance,\n\t\t\t\tdistributionCounter: systemState.stakeSubsidyDistributionCounter,\n\t\t\t\tcurrentDistributionAmount: systemState.stakeSubsidyCurrentDistributionAmount,\n\t\t\t\tstakeSubsidyPeriodLength: systemState.stakeSubsidyPeriodLength,\n\t\t\t\tstakeSubsidyDecreaseRate: systemState.stakeSubsidyDecreaseRate\n\t\t\t}\n\t\t} };\n\t}\n\tasync listDynamicFields(options) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor\n\t\t});\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField) => {\n\t\t\t\tconst isDynamicObject = dynamicField.type === \"DynamicObject\";\n\t\t\t\tconst fullType = isDynamicObject ? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>, 0x2::object::ID>` : `0x2::dynamic_field::Field<${dynamicField.name.type}, ${dynamicField.objectType}>`;\n\t\t\t\tconst bcsBytes = fromBase64(dynamicField.bcsName);\n\t\t\t\tconst derivedNameType = isDynamicObject ? `0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>` : dynamicField.name.type;\n\t\t\t\treturn {\n\t\t\t\t\t$kind: isDynamicObject ? \"DynamicObject\" : \"DynamicField\",\n\t\t\t\t\tfieldId: deriveDynamicFieldID(options.parentId, derivedNameType, bcsBytes),\n\t\t\t\t\ttype: normalizeStructTag(fullType),\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: bcsBytes\n\t\t\t\t\t},\n\t\t\t\t\tvalueType: dynamicField.objectType,\n\t\t\t\t\tchildId: isDynamicObject ? dynamicField.objectId : void 0\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor\n\t\t};\n\t}\n\tasync verifyZkLoginSignature(options) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.address\n\t\t});\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors\n\t\t};\n\t}\n\tasync defaultNameServiceName(options) {\n\t\treturn { data: { name: (await this.#jsonRpcClient.resolveNameServiceNames(options)).data[0] ?? null } };\n\t}\n\tresolveTransactionPlugin() {\n\t\treturn coreClientResolveTransactionPlugin;\n\t}\n\tasync getMoveFunction(options) {\n\t\tconst resolvedPackageId = (await this.mvr.resolvePackage({ package: options.packageId })).package;\n\t\tconst result = await this.#jsonRpcClient.getNormalizedMoveFunction({\n\t\t\tpackage: resolvedPackageId,\n\t\t\tmodule: options.moduleName,\n\t\t\tfunction: options.name\n\t\t});\n\t\treturn { function: {\n\t\t\tpackageId: normalizeSuiAddress(resolvedPackageId),\n\t\t\tmoduleName: options.moduleName,\n\t\t\tname: options.name,\n\t\t\tvisibility: parseVisibility(result.visibility),\n\t\t\tisEntry: result.isEntry,\n\t\t\ttypeParameters: result.typeParameters.map((abilities) => ({\n\t\t\t\tisPhantom: false,\n\t\t\t\tconstraints: parseAbilities(abilities)\n\t\t\t})),\n\t\t\tparameters: result.parameters.map((param) => parseNormalizedSuiMoveType(param)),\n\t\t\treturns: result.return.map((ret) => parseNormalizedSuiMoveType(ret))\n\t\t} };\n\t}\n\tasync getChainIdentifier(_options) {\n\t\treturn this.cache.read([\"chainIdentifier\"], async () => {\n\t\t\treturn { chainIdentifier: (await this.#jsonRpcClient.getCheckpoint({ id: \"0\" })).digest };\n\t\t});\n\t}\n};\nfunction serializeObjectToBcs(object) {\n\tif (object.bcs?.dataType !== \"moveObject\") return;\n\ttry {\n\t\tconst typeStr = normalizeStructTag(object.bcs.type);\n\t\tlet moveObjectType;\n\t\tconst normalizedSuiFramework = normalizeSuiAddress(SUI_FRAMEWORK_ADDRESS);\n\t\tconst gasCoinType = normalizeStructTag(`${SUI_FRAMEWORK_ADDRESS}::coin::Coin<${SUI_FRAMEWORK_ADDRESS}::sui::SUI>`);\n\t\tconst stakedSuiType = normalizeStructTag(`${SUI_SYSTEM_ADDRESS}::staking_pool::StakedSui`);\n\t\tconst coinPrefix = `${normalizedSuiFramework}::coin::Coin<`;\n\t\tif (typeStr === gasCoinType) moveObjectType = { GasCoin: null };\n\t\telse if (typeStr === stakedSuiType) moveObjectType = { StakedSui: null };\n\t\telse if (typeStr.startsWith(coinPrefix)) {\n\t\t\tconst innerTypeMatch = typeStr.match(/* @__PURE__ */ new RegExp(`${normalizedSuiFramework.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")}::coin::Coin<(.+)>$`));\n\t\t\tif (innerTypeMatch) moveObjectType = { Coin: TypeTagSerializer.parseFromStr(innerTypeMatch[1], true) };\n\t\t\telse throw new Error(\"Failed to parse Coin type\");\n\t\t} else {\n\t\t\tconst typeTag = TypeTagSerializer.parseFromStr(typeStr, true);\n\t\t\tif (typeof typeTag !== \"object\" || !(\"struct\" in typeTag)) throw new Error(\"Expected struct type tag\");\n\t\t\tmoveObjectType = { Other: typeTag.struct };\n\t\t}\n\t\tconst contents = fromBase64(object.bcs.bcsBytes);\n\t\tconst owner = convertOwnerToBcs(object.owner);\n\t\treturn suiBcs.Object.serialize({\n\t\t\tdata: { Move: {\n\t\t\t\ttype: moveObjectType,\n\t\t\t\thasPublicTransfer: object.bcs.hasPublicTransfer,\n\t\t\t\tversion: object.bcs.version,\n\t\t\t\tcontents\n\t\t\t} },\n\t\t\towner,\n\t\t\tpreviousTransaction: object.previousTransaction,\n\t\t\tstorageRebate: object.storageRebate\n\t\t}).toBytes();\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction parseObject(object, include) {\n\tconst bcsContent = object.bcs?.dataType === \"moveObject\" ? fromBase64(object.bcs.bcsBytes) : void 0;\n\tconst objectBcs = include?.objectBcs ? serializeObjectToBcs(object) : void 0;\n\tconst type = object.type && object.type.includes(\"::\") ? normalizeStructTag(object.type) : object.type ?? \"\";\n\tconst jsonContent = include?.json && object.content?.dataType === \"moveObject\" ? object.content.fields : include?.json ? null : void 0;\n\tconst displayData = include?.display ? object.display?.data != null ? {\n\t\toutput: object.display.data,\n\t\terrors: null\n\t} : null : void 0;\n\treturn {\n\t\tobjectId: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype,\n\t\tcontent: include?.content ? bcsContent : void 0,\n\t\towner: parseOwner(object.owner),\n\t\tpreviousTransaction: include?.previousTransaction ? object.previousTransaction ?? void 0 : void 0,\n\t\tobjectBcs,\n\t\tjson: jsonContent,\n\t\tdisplay: displayData\n\t};\n}\nfunction parseOwner(owner) {\n\tif (owner === \"Immutable\") return {\n\t\t$kind: \"Immutable\",\n\t\tImmutable: true\n\t};\n\tif (\"ConsensusAddressOwner\" in owner) return {\n\t\t$kind: \"ConsensusAddressOwner\",\n\t\tConsensusAddressOwner: {\n\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version\n\t\t}\n\t};\n\tif (\"AddressOwner\" in owner) return {\n\t\t$kind: \"AddressOwner\",\n\t\tAddressOwner: owner.AddressOwner\n\t};\n\tif (\"ObjectOwner\" in owner) return {\n\t\t$kind: \"ObjectOwner\",\n\t\tObjectOwner: owner.ObjectOwner\n\t};\n\tif (\"Shared\" in owner) return {\n\t\t$kind: \"Shared\",\n\t\tShared: { initialSharedVersion: owner.Shared.initial_shared_version }\n\t};\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\nfunction convertOwnerToBcs(owner) {\n\tif (owner === \"Immutable\") return { Immutable: null };\n\tif (\"AddressOwner\" in owner) return { AddressOwner: owner.AddressOwner };\n\tif (\"ObjectOwner\" in owner) return { ObjectOwner: owner.ObjectOwner };\n\tif (\"Shared\" in owner) return { Shared: { initialSharedVersion: owner.Shared.initial_shared_version } };\n\tif (typeof owner === \"object\" && owner !== null && \"ConsensusAddressOwner\" in owner) return { ConsensusAddressOwner: {\n\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\towner: owner.ConsensusAddressOwner.owner\n\t} };\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\nfunction parseOwnerAddress(owner) {\n\tif (owner === \"Immutable\") return null;\n\tif (\"ConsensusAddressOwner\" in owner) return owner.ConsensusAddressOwner.owner;\n\tif (\"AddressOwner\" in owner) return owner.AddressOwner;\n\tif (\"ObjectOwner\" in owner) return owner.ObjectOwner;\n\tif (\"Shared\" in owner) return null;\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\nfunction parseTransaction(transaction, include) {\n\tconst objectTypes = {};\n\tif (include?.objectTypes) transaction.objectChanges?.forEach((change) => {\n\t\tif (change.type !== \"published\") objectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t});\n\tlet transactionData;\n\tlet signatures = [];\n\tlet bcsBytes;\n\tif (transaction.rawTransaction) {\n\t\tconst parsedTx = suiBcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction))[0];\n\t\tsignatures = parsedTx.txSignatures;\n\t\tif (include?.transaction || include?.bcs) {\n\t\t\tconst bytes = suiBcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\t\t\tif (include?.bcs) bcsBytes = bytes;\n\t\t\tif (include?.transaction) transactionData = { ...TransactionDataBuilder.restore({\n\t\t\t\tversion: 2,\n\t\t\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\t\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\t\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\t\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction.inputs,\n\t\t\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction.commands\n\t\t\t}) };\n\t\t}\n\t}\n\tconst status = transaction.effects?.status ? parseJsonRpcExecutionStatus(transaction.effects.status, transaction.effects.abortError) : {\n\t\tsuccess: false,\n\t\terror: {\n\t\t\t$kind: \"Unknown\",\n\t\t\tmessage: \"Unknown\",\n\t\t\tUnknown: null\n\t\t}\n\t};\n\tconst effectsBytes = transaction.rawEffects ? new Uint8Array(transaction.rawEffects) : null;\n\tconst result = {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\tstatus,\n\t\teffects: include?.effects && effectsBytes ? parseTransactionEffectsBcs(effectsBytes) : void 0,\n\t\tobjectTypes: include?.objectTypes ? objectTypes : void 0,\n\t\ttransaction: transactionData,\n\t\tbcs: bcsBytes,\n\t\tsignatures,\n\t\tbalanceChanges: include?.balanceChanges ? transaction.balanceChanges?.map((change) => ({\n\t\t\tcoinType: normalizeStructTag(change.coinType),\n\t\t\taddress: parseOwnerAddress(change.owner),\n\t\t\tamount: change.amount\n\t\t})) ?? [] : void 0,\n\t\tevents: include?.events ? transaction.events?.map((event) => ({\n\t\t\tpackageId: event.packageId,\n\t\t\tmodule: event.transactionModule,\n\t\t\tsender: event.sender,\n\t\t\teventType: event.type,\n\t\t\tbcs: \"bcs\" in event ? fromBase64(event.bcs) : new Uint8Array(),\n\t\t\tjson: event.parsedJson ?? null\n\t\t})) ?? [] : void 0\n\t};\n\treturn status.success ? {\n\t\t$kind: \"Transaction\",\n\t\tTransaction: result\n\t} : {\n\t\t$kind: \"FailedTransaction\",\n\t\tFailedTransaction: result\n\t};\n}\nfunction parseTransactionEffectsJson({ bytes, effects, objectChanges }) {\n\tconst changedObjects = [];\n\tconst unchangedConsensusObjects = [];\n\tconst objectTypes = {};\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase \"published\":\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.packageId,\n\t\t\t\t\tinputState: \"DoesNotExist\",\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: \"PackageWrite\",\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: \"Created\"\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase \"transferred\":\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: \"Exists\",\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: \"AddressOwner\",\n\t\t\t\t\t\tAddressOwner: change.sender\n\t\t\t\t\t},\n\t\t\t\t\toutputState: \"ObjectWrite\",\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: \"None\"\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase \"mutated\":\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: \"Exists\",\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: \"ObjectWrite\",\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: \"None\"\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase \"deleted\":\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: \"Exists\",\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: \"DoesNotExist\",\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: \"Deleted\"\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase \"wrapped\":\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: \"Exists\",\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: \"AddressOwner\",\n\t\t\t\t\t\tAddressOwner: change.sender\n\t\t\t\t\t},\n\t\t\t\t\toutputState: \"ObjectWrite\",\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: effects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: \"ObjectOwner\",\n\t\t\t\t\t\tObjectOwner: change.sender\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: \"None\"\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase \"created\":\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: \"DoesNotExist\",\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: \"ObjectWrite\",\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: \"Created\"\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t}\n\t});\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tversion: 2,\n\t\t\tstatus: parseJsonRpcExecutionStatus(effects.status, effects.abortError),\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tobjectId: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: \"Exists\",\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: \"ObjectWrite\",\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: \"None\"\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedConsensusObjects,\n\t\t\tauxiliaryDataDigest: null\n\t\t}\n\t};\n}\nfunction parseNormalizedSuiMoveType(type) {\n\tif (typeof type !== \"string\") {\n\t\tif (\"Reference\" in type) return {\n\t\t\treference: \"immutable\",\n\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.Reference)\n\t\t};\n\t\tif (\"MutableReference\" in type) return {\n\t\t\treference: \"mutable\",\n\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.MutableReference)\n\t\t};\n\t}\n\treturn {\n\t\treference: null,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type)\n\t};\n}\nfunction parseNormalizedSuiMoveTypeBody(type) {\n\tswitch (type) {\n\t\tcase \"Address\": return { $kind: \"address\" };\n\t\tcase \"Bool\": return { $kind: \"bool\" };\n\t\tcase \"U8\": return { $kind: \"u8\" };\n\t\tcase \"U16\": return { $kind: \"u16\" };\n\t\tcase \"U32\": return { $kind: \"u32\" };\n\t\tcase \"U64\": return { $kind: \"u64\" };\n\t\tcase \"U128\": return { $kind: \"u128\" };\n\t\tcase \"U256\": return { $kind: \"u256\" };\n\t}\n\tif (typeof type === \"string\") throw new Error(`Unknown type: ${type}`);\n\tif (\"Vector\" in type) return {\n\t\t$kind: \"vector\",\n\t\tvector: parseNormalizedSuiMoveTypeBody(type.Vector)\n\t};\n\tif (\"Struct\" in type) return {\n\t\t$kind: \"datatype\",\n\t\tdatatype: {\n\t\t\ttypeName: `${normalizeSuiAddress(type.Struct.address)}::${type.Struct.module}::${type.Struct.name}`,\n\t\t\ttypeParameters: type.Struct.typeArguments.map((t) => parseNormalizedSuiMoveTypeBody(t))\n\t\t}\n\t};\n\tif (\"TypeParameter\" in type) return {\n\t\t$kind: \"typeParameter\",\n\t\tindex: type.TypeParameter\n\t};\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\nfunction parseAbilities(abilitySet) {\n\treturn abilitySet.abilities.map((ability) => {\n\t\tswitch (ability) {\n\t\t\tcase \"Copy\": return \"copy\";\n\t\t\tcase \"Drop\": return \"drop\";\n\t\t\tcase \"Store\": return \"store\";\n\t\t\tcase \"Key\": return \"key\";\n\t\t\tdefault: return \"unknown\";\n\t\t}\n\t});\n}\nfunction parseVisibility(visibility) {\n\tswitch (visibility) {\n\t\tcase \"Public\": return \"public\";\n\t\tcase \"Private\": return \"private\";\n\t\tcase \"Friend\": return \"friend\";\n\t\tdefault: return \"unknown\";\n\t}\n}\n\n//#endregion\nexport { JSONRpcCoreClient };\n//# sourceMappingURL=core.mjs.map","import { normalizeSuiNSName } from \"../utils/suins.mjs\";\nimport { isValidNamedPackage } from \"../utils/move-registry.mjs\";\nimport { isValidSuiAddress, isValidSuiObjectId, isValidTransactionDigest, normalizeSuiAddress, normalizeSuiObjectId } from \"../utils/sui-types.mjs\";\nimport { BaseClient } from \"../client/client.mjs\";\nimport { hasMvrName } from \"../client/mvr.mjs\";\nimport { JsonRpcHTTPTransport } from \"./http-transport.mjs\";\nimport { isCoinReservationDigest } from \"../utils/coin-reservation.mjs\";\nimport { isTransaction } from \"../transactions/Transaction.mjs\";\nimport { JSONRpcCoreClient } from \"./core.mjs\";\nimport { fromBase58, toBase64, toHex } from \"@mysten/bcs\";\n\n//#region src/jsonRpc/client.ts\nconst SUI_CLIENT_BRAND = Symbol.for(\"@mysten/SuiJsonRpcClient\");\nfunction isSuiJsonRpcClient(client) {\n\treturn typeof client === \"object\" && client !== null && client[SUI_CLIENT_BRAND] === true;\n}\nvar SuiJsonRpcClient = class extends BaseClient {\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\t/**\n\t* Establish a connection to a Sui RPC endpoint\n\t*\n\t* @param options configuration options for the API Client\n\t*/\n\tconstructor(options) {\n\t\tsuper({ network: options.network });\n\t\tthis.jsonRpc = this;\n\t\tthis.transport = options.transport ?? new JsonRpcHTTPTransport({ url: options.url });\n\t\tthis.core = new JSONRpcCoreClient({\n\t\t\tjsonRpcClient: this,\n\t\t\tmvr: options.mvr\n\t\t});\n\t}\n\tasync getRpcApiVersion({ signal } = {}) {\n\t\treturn (await this.transport.request({\n\t\t\tmethod: \"rpc.discover\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t})).info.version;\n\t}\n\t/**\n\t* Get all Coin<`coin_type`> objects owned by an address.\n\t*/\n\tasync getCoins({ coinType, owner, cursor, limit, signal }) {\n\t\tif (!owner || !isValidSuiAddress(normalizeSuiAddress(owner))) throw new Error(\"Invalid Sui address\");\n\t\tif (coinType && hasMvrName(coinType)) coinType = (await this.core.mvr.resolveType({ type: coinType })).type;\n\t\tconst result = await this.transport.request({\n\t\t\tmethod: \"suix_getCoins\",\n\t\t\tparams: [\n\t\t\t\towner,\n\t\t\t\tcoinType,\n\t\t\t\tcursor,\n\t\t\t\tlimit\n\t\t\t],\n\t\t\tsignal\n\t\t});\n\t\treturn {\n\t\t\t...result,\n\t\t\tdata: result.data.filter((coin) => !isCoinReservationDigest(coin.digest))\n\t\t};\n\t}\n\t/**\n\t* Get all Coin objects owned by an address.\n\t*/\n\tasync getAllCoins(input) {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) throw new Error(\"Invalid Sui address\");\n\t\tconst result = await this.transport.request({\n\t\t\tmethod: \"suix_getAllCoins\",\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t\treturn {\n\t\t\t...result,\n\t\t\tdata: result.data.filter((coin) => !isCoinReservationDigest(coin.digest))\n\t\t};\n\t}\n\t/**\n\t* Get the total coin balance for one coin type, owned by the address owner.\n\t*/\n\tasync getBalance({ owner, coinType, signal }) {\n\t\tif (!owner || !isValidSuiAddress(normalizeSuiAddress(owner))) throw new Error(\"Invalid Sui address\");\n\t\tif (coinType && hasMvrName(coinType)) coinType = (await this.core.mvr.resolveType({ type: coinType })).type;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getBalance\",\n\t\t\tparams: [owner, coinType],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get the total coin balance for all coin types, owned by the address owner.\n\t*/\n\tasync getAllBalances(input) {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) throw new Error(\"Invalid Sui address\");\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getAllBalances\",\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Fetch CoinMetadata for a given coin type\n\t*/\n\tasync getCoinMetadata({ coinType, signal }) {\n\t\tif (coinType && hasMvrName(coinType)) coinType = (await this.core.mvr.resolveType({ type: coinType })).type;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getCoinMetadata\",\n\t\t\tparams: [coinType],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Fetch total supply for a coin\n\t*/\n\tasync getTotalSupply({ coinType, signal }) {\n\t\tif (coinType && hasMvrName(coinType)) coinType = (await this.core.mvr.resolveType({ type: coinType })).type;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getTotalSupply\",\n\t\t\tparams: [coinType],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Invoke any RPC method\n\t* @param method the method to be invoked\n\t* @param args the arguments to be passed to the RPC request\n\t*/\n\tasync call(method, params, { signal } = {}) {\n\t\treturn await this.transport.request({\n\t\t\tmethod,\n\t\t\tparams,\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get Move function argument types like read, write and full access\n\t*/\n\tasync getMoveFunctionArgTypes({ package: pkg, module, function: fn, signal }) {\n\t\tif (pkg && isValidNamedPackage(pkg)) pkg = (await this.core.mvr.resolvePackage({ package: pkg })).package;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getMoveFunctionArgTypes\",\n\t\t\tparams: [\n\t\t\t\tpkg,\n\t\t\t\tmodule,\n\t\t\t\tfn\n\t\t\t],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get a map from module name to\n\t* structured representations of Move modules\n\t*/\n\tasync getNormalizedMoveModulesByPackage({ package: pkg, signal }) {\n\t\tif (pkg && isValidNamedPackage(pkg)) pkg = (await this.core.mvr.resolvePackage({ package: pkg })).package;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getNormalizedMoveModulesByPackage\",\n\t\t\tparams: [pkg],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get a structured representation of Move module\n\t*/\n\tasync getNormalizedMoveModule({ package: pkg, module, signal }) {\n\t\tif (pkg && isValidNamedPackage(pkg)) pkg = (await this.core.mvr.resolvePackage({ package: pkg })).package;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getNormalizedMoveModule\",\n\t\t\tparams: [pkg, module],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get a structured representation of Move function\n\t*/\n\tasync getNormalizedMoveFunction({ package: pkg, module, function: fn, signal }) {\n\t\tif (pkg && isValidNamedPackage(pkg)) pkg = (await this.core.mvr.resolvePackage({ package: pkg })).package;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getNormalizedMoveFunction\",\n\t\t\tparams: [\n\t\t\t\tpkg,\n\t\t\t\tmodule,\n\t\t\t\tfn\n\t\t\t],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get a structured representation of Move struct\n\t*/\n\tasync getNormalizedMoveStruct({ package: pkg, module, struct, signal }) {\n\t\tif (pkg && isValidNamedPackage(pkg)) pkg = (await this.core.mvr.resolvePackage({ package: pkg })).package;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getNormalizedMoveStruct\",\n\t\t\tparams: [\n\t\t\t\tpkg,\n\t\t\t\tmodule,\n\t\t\t\tstruct\n\t\t\t],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get all objects owned by an address\n\t*/\n\tasync getOwnedObjects(input) {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) throw new Error(\"Invalid Sui address\");\n\t\tconst filter = input.filter ? { ...input.filter } : void 0;\n\t\tif (filter && \"MoveModule\" in filter && isValidNamedPackage(filter.MoveModule.package)) filter.MoveModule = {\n\t\t\tmodule: filter.MoveModule.module,\n\t\t\tpackage: (await this.core.mvr.resolvePackage({ package: filter.MoveModule.package })).package\n\t\t};\n\t\telse if (filter && \"StructType\" in filter && hasMvrName(filter.StructType)) filter.StructType = (await this.core.mvr.resolveType({ type: filter.StructType })).type;\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getOwnedObjects\",\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions: input.options\n\t\t\t\t},\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Get details about an object\n\t*/\n\tasync getObject(input) {\n\t\tif (!input.id || !isValidSuiObjectId(normalizeSuiObjectId(input.id))) throw new Error(\"Invalid Sui Object id\");\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getObject\",\n\t\t\tparams: [input.id, input.options],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\tasync tryGetPastObject(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_tryGetPastObject\",\n\t\t\tparams: [\n\t\t\t\tinput.id,\n\t\t\t\tinput.version,\n\t\t\t\tinput.options\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t*/\n\tasync multiGetObjects(input) {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) throw new Error(`Invalid Sui Object id ${id}`);\n\t\t});\n\t\tif (input.ids.length !== new Set(input.ids).size) throw new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_multiGetObjects\",\n\t\t\tparams: [input.ids, input.options],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Get transaction blocks for a given query criteria\n\t*/\n\tasync queryTransactionBlocks({ filter, options, cursor, limit, order, signal }) {\n\t\tif (filter && \"MoveFunction\" in filter && isValidNamedPackage(filter.MoveFunction.package)) filter = {\n\t\t\t...filter,\n\t\t\tMoveFunction: { package: (await this.core.mvr.resolvePackage({ package: filter.MoveFunction.package })).package }\n\t\t};\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_queryTransactionBlocks\",\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions\n\t\t\t\t},\n\t\t\t\tcursor,\n\t\t\t\tlimit,\n\t\t\t\t(order || \"descending\") === \"descending\"\n\t\t\t],\n\t\t\tsignal\n\t\t});\n\t}\n\tasync getTransactionBlock(input) {\n\t\tif (!isValidTransactionDigest(input.digest)) throw new Error(\"Invalid Transaction digest\");\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getTransactionBlock\",\n\t\t\tparams: [input.digest, input.options],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\tasync multiGetTransactionBlocks(input) {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) throw new Error(`Invalid Transaction digest ${d}`);\n\t\t});\n\t\tif (input.digests.length !== new Set(input.digests).size) throw new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_multiGetTransactionBlocks\",\n\t\t\tparams: [input.digests, input.options],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\tasync executeTransactionBlock({ transactionBlock, signature, options, signal }) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_executeTransactionBlock\",\n\t\t\tparams: [\n\t\t\t\ttypeof transactionBlock === \"string\" ? transactionBlock : toBase64(transactionBlock),\n\t\t\t\tArray.isArray(signature) ? signature : [signature],\n\t\t\t\toptions\n\t\t\t],\n\t\t\tsignal\n\t\t});\n\t}\n\tasync signAndExecuteTransaction({ transaction, signer, ...input }) {\n\t\tlet transactionBytes;\n\t\tif (transaction instanceof Uint8Array) transactionBytes = transaction;\n\t\telse {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input\n\t\t});\n\t}\n\t/**\n\t* Get total number of transactions\n\t*/\n\tasync getTotalTransactionBlocks({ signal } = {}) {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: \"sui_getTotalTransactionBlocks\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\t/**\n\t* Getting the reference gas price for the network\n\t*/\n\tasync getReferenceGasPrice({ signal } = {}) {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: \"suix_getReferenceGasPrice\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\t/**\n\t* Return the delegated stakes for an address\n\t*/\n\tasync getStakes(input) {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) throw new Error(\"Invalid Sui address\");\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getStakes\",\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Return the delegated stakes queried by id.\n\t*/\n\tasync getStakesByIds(input) {\n\t\tinput.stakedSuiIds.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) throw new Error(`Invalid Sui Stake id ${id}`);\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getStakesByIds\",\n\t\t\tparams: [input.stakedSuiIds],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Return the latest system state content.\n\t*/\n\tasync getLatestSuiSystemState({ signal } = {}) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getLatestSuiSystemState\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Get events for a given query criteria\n\t*/\n\tasync queryEvents({ query, cursor, limit, order, signal }) {\n\t\tif (query && \"MoveEventType\" in query && hasMvrName(query.MoveEventType)) query = {\n\t\t\t...query,\n\t\t\tMoveEventType: (await this.core.mvr.resolveType({ type: query.MoveEventType })).type\n\t\t};\n\t\tif (query && \"MoveEventModule\" in query && isValidNamedPackage(query.MoveEventModule.package)) query = {\n\t\t\t...query,\n\t\t\tMoveEventModule: {\n\t\t\t\tmodule: query.MoveEventModule.module,\n\t\t\t\tpackage: (await this.core.mvr.resolvePackage({ package: query.MoveEventModule.package })).package\n\t\t\t}\n\t\t};\n\t\tif (\"MoveModule\" in query && isValidNamedPackage(query.MoveModule.package)) query = {\n\t\t\t...query,\n\t\t\tMoveModule: {\n\t\t\t\tmodule: query.MoveModule.module,\n\t\t\t\tpackage: (await this.core.mvr.resolvePackage({ package: query.MoveModule.package })).package\n\t\t\t}\n\t\t};\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_queryEvents\",\n\t\t\tparams: [\n\t\t\t\tquery,\n\t\t\t\tcursor,\n\t\t\t\tlimit,\n\t\t\t\t(order || \"descending\") === \"descending\"\n\t\t\t],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t* transaction (or Move call) with any arguments. Detailed results are\n\t* provided, including both the transaction effects and any return values.\n\t*/\n\tasync devInspectTransactionBlock(input) {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toBase64(await input.transactionBlock.build({\n\t\t\t\tclient: this,\n\t\t\t\tonlyTransactionKind: true\n\t\t\t}));\n\t\t} else if (typeof input.transactionBlock === \"string\") devInspectTxBytes = input.transactionBlock;\n\t\telse if (input.transactionBlock instanceof Uint8Array) devInspectTxBytes = toBase64(input.transactionBlock);\n\t\telse throw new Error(\"Unknown transaction block format.\");\n\t\tinput.signal?.throwIfAborted();\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_devInspectTransactionBlock\",\n\t\t\tparams: [\n\t\t\t\tinput.sender,\n\t\t\t\tdevInspectTxBytes,\n\t\t\t\tinput.gasPrice?.toString(),\n\t\t\t\tinput.epoch\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Dry run a transaction block and return the result.\n\t*/\n\tasync dryRunTransactionBlock(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_dryRunTransactionBlock\",\n\t\t\tparams: [typeof input.transactionBlock === \"string\" ? input.transactionBlock : toBase64(input.transactionBlock)]\n\t\t});\n\t}\n\t/**\n\t* Return the list of dynamic field objects owned by an object\n\t*/\n\tasync getDynamicFields(input) {\n\t\tif (!input.parentId || !isValidSuiObjectId(normalizeSuiObjectId(input.parentId))) throw new Error(\"Invalid Sui Object id\");\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getDynamicFields\",\n\t\t\tparams: [\n\t\t\t\tinput.parentId,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Return the dynamic field object information for a specified object\n\t*/\n\tasync getDynamicFieldObject(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getDynamicFieldObject\",\n\t\t\tparams: [input.parentId, input.name],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Get the sequence number of the latest checkpoint that has been executed\n\t*/\n\tasync getLatestCheckpointSequenceNumber({ signal } = {}) {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: \"sui_getLatestCheckpointSequenceNumber\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t\treturn String(resp);\n\t}\n\t/**\n\t* Returns information about a given checkpoint\n\t*/\n\tasync getCheckpoint(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getCheckpoint\",\n\t\t\tparams: [input.id],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Returns historical checkpoints paginated\n\t*/\n\tasync getCheckpoints(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getCheckpoints\",\n\t\t\tparams: [\n\t\t\t\tinput.cursor,\n\t\t\t\tinput?.limit,\n\t\t\t\tinput.descendingOrder\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Return the committee information for the asked epoch\n\t*/\n\tasync getCommitteeInfo(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getCommitteeInfo\",\n\t\t\tparams: [input?.epoch],\n\t\t\tsignal: input?.signal\n\t\t});\n\t}\n\tasync getNetworkMetrics({ signal } = {}) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getNetworkMetrics\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t}\n\tasync getAddressMetrics({ signal } = {}) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getLatestAddressMetrics\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t}\n\tasync getEpochMetrics(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getEpochMetrics\",\n\t\t\tparams: [\n\t\t\t\tinput?.cursor,\n\t\t\t\tinput?.limit,\n\t\t\t\tinput?.descendingOrder\n\t\t\t],\n\t\t\tsignal: input?.signal\n\t\t});\n\t}\n\tasync getAllEpochAddressMetrics(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getAllEpochAddressMetrics\",\n\t\t\tparams: [input?.descendingOrder],\n\t\t\tsignal: input?.signal\n\t\t});\n\t}\n\t/**\n\t* Return the committee information for the asked epoch\n\t*/\n\tasync getEpochs(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getEpochs\",\n\t\t\tparams: [\n\t\t\t\tinput?.cursor,\n\t\t\t\tinput?.limit,\n\t\t\t\tinput?.descendingOrder\n\t\t\t],\n\t\t\tsignal: input?.signal\n\t\t});\n\t}\n\t/**\n\t* Returns list of top move calls by usage\n\t*/\n\tasync getMoveCallMetrics({ signal } = {}) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getMoveCallMetrics\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Return the committee information for the asked epoch\n\t*/\n\tasync getCurrentEpoch({ signal } = {}) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getCurrentEpoch\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t}\n\t/**\n\t* Return the Validators APYs\n\t*/\n\tasync getValidatorsApy({ signal } = {}) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_getValidatorsApy\",\n\t\t\tparams: [],\n\t\t\tsignal\n\t\t});\n\t}\n\tasync getChainIdentifier({ signal } = {}) {\n\t\treturn toHex(fromBase58((await this.getCheckpoint({\n\t\t\tid: \"0\",\n\t\t\tsignal\n\t\t})).digest).slice(0, 4));\n\t}\n\tasync resolveNameServiceAddress(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"suix_resolveNameServiceAddress\",\n\t\t\tparams: [input.name],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\tasync resolveNameServiceNames({ format = \"dot\", ...input }) {\n\t\tconst { nextCursor, hasNextPage, data } = await this.transport.request({\n\t\t\tmethod: \"suix_resolveNameServiceNames\",\n\t\t\tparams: [\n\t\t\t\tinput.address,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeSuiNSName(name, format))\n\t\t};\n\t}\n\tasync getProtocolConfig(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_getProtocolConfig\",\n\t\t\tparams: [input?.version],\n\t\t\tsignal: input?.signal\n\t\t});\n\t}\n\tasync verifyZkLoginSignature(input) {\n\t\treturn await this.transport.request({\n\t\t\tmethod: \"sui_verifyZkLoginSignature\",\n\t\t\tparams: [\n\t\t\t\tinput.bytes,\n\t\t\t\tinput.signature,\n\t\t\t\tinput.intentScope,\n\t\t\t\tinput.author\n\t\t\t],\n\t\t\tsignal: input.signal\n\t\t});\n\t}\n\t/**\n\t* Wait for a transaction block result to be available over the API.\n\t* This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t* be available via the API.\n\t* This currently polls the `getTransactionBlock` API to check for the transaction.\n\t*/\n\tasync waitForTransaction({ signal, timeout = 60 * 1e3, pollInterval = 2 * 1e3, ...input }) {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener(\"abort\", () => reject(timeoutSignal.reason));\n\t\t});\n\t\ttimeoutPromise.catch(() => {});\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch {\n\t\t\t\tawait Promise.race([new Promise((resolve) => setTimeout(resolve, pollInterval)), timeoutPromise]);\n\t\t\t}\n\t\t}\n\t\ttimeoutSignal.throwIfAborted();\n\t\tthrow new Error(\"Unexpected error while waiting for transaction block.\");\n\t}\n};\n\n//#endregion\nexport { SuiJsonRpcClient, isSuiJsonRpcClient };\n//# sourceMappingURL=client.mjs.map","/**\n * Thin polling wrapper around @mysten/sui SuiClient for the MemForks UI.\n *\n * Model A: CommitCreated events no longer exist. The event set is:\n * tree::BranchCreated\n * resolver::MergeProposed\n * resolver::AttestationSubmitted\n * resolver::MergeFinalized\n * resolver::MergeAborted\n *\n * Config resolution order:\n * 1. GET /api/config — served by `memfork ui` local server (has credentials)\n * 2. URL params — ?tree=0x…&network=testnet (Walrus Site / sharing)\n * 3. Vite env vars — baked in at build time (development fallback)\n * 4. Hardcoded demo defaults\n */\n\nimport { SuiJsonRpcClient as SuiClient, JsonRpcHTTPTransport } from \"@mysten/sui/jsonRpc\";\nimport type { EventId } from \"@mysten/sui/jsonRpc\";\nimport type {\n BranchCreatedEvent,\n MergeProposedEvent,\n AttestationSubmittedEvent,\n MergeFinalizedEvent,\n MergeAbortedEvent,\n} from \"./types.js\";\n\nconst DEFAULT_PACKAGE_ID =\n import.meta.env.VITE_PACKAGE_ID ??\n \"0x080722f5b7025679aa17792a3b07ef9b875b4ad3cee7640ecf9b8b7abd5b5347\";\n\nconst DEFAULT_TREE_ID =\n import.meta.env.VITE_TREE_ID ??\n \"0x099bb03595562bd4fdcb84dc60a330563ee55ca6d7b0808f048e1741795bc5be\";\n\nconst DEFAULT_RPC =\n import.meta.env.VITE_SUI_RPC ?? \"https://fullnode.testnet.sui.io:443\";\n\nconst RPC_BY_NETWORK: Record<string, string> = {\n mainnet: \"https://fullnode.mainnet.sui.io:443\",\n testnet: \"https://fullnode.testnet.sui.io:443\",\n};\n\nconst EXPLORER_BY_NETWORK: Record<string, string> = {\n mainnet: \"https://suiscan.xyz/mainnet/tx\",\n testnet: \"https://suiscan.xyz/testnet/tx\",\n};\n\n\n// Kept for any future non-encrypted blob use; not used for SEAL blobs.\nexport const WALRUS_BLOB_BASE =\n import.meta.env.VITE_WALRUS_BLOB_BASE ??\n \"https://aggregator.walrus-testnet.walrus.space/v1/blobs\";\n\nconst WALRUS_BLOB_BY_NETWORK: Record<string, string> = {\n mainnet: \"https://aggregator.walrus-mainnet.walrus.space/v1/blobs\",\n testnet: \"https://aggregator.walrus-testnet.walrus.space/v1/blobs\",\n};\n\n// Mutable — updated when loadConfig() resolves the network.\nlet _walrusBlobBase = WALRUS_BLOB_BASE;\nexport function getWalrusBlobBase(): string { return _walrusBlobBase; }\n\nlet _suiExplorerBase = \"https://suiscan.xyz/testnet/tx\";\nexport function getSuiExplorerBase(): string { return _suiExplorerBase; }\n// Keep a static export for backwards compat with existing import sites.\nexport let SUI_EXPLORER_BASE = _suiExplorerBase;\n\n// ─── Runtime config (mutable, loaded by loadConfig()) ────────────────────────\n\nexport interface RuntimeConfig {\n treeId: string;\n packageId: string;\n network: string;\n rpcUrl: string;\n hasMemwal: boolean;\n}\n\n// ─── Typed event parsers ──────────────────────────────────────────────────────\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction parseBranch(e: any): BranchCreatedEvent {\n const p = e.parsedJson;\n return {\n tree_id: p.tree_id,\n branch: p.branch,\n from_branch: p.from_branch,\n memwal_namespace: p.memwal_namespace,\n tx_digest: e.id.txDigest,\n ts_ms: Number(e.timestampMs ?? Date.now()),\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction parseMergeProposed(e: any): MergeProposedEvent {\n const p = e.parsedJson;\n return {\n tree_id: p.tree_id,\n proposal_id: p.proposal_id,\n from_branch: p.from_branch,\n into_branch: p.into_branch,\n resolver_id: p.resolver_id,\n from_head_blob_id: decodeBlobIdField(p.from_head_blob_id),\n into_head_blob_id: decodeBlobIdField(p.into_head_blob_id),\n expires_at_ms: Number(p.expires_at_ms ?? 0),\n ts_ms: Number(e.timestampMs ?? Date.now()),\n tx_digest: e.id.txDigest,\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction parseAttestation(e: any): AttestationSubmittedEvent {\n const p = e.parsedJson;\n\n // GAP-4: decode the signed payload bytes that the jury worker embeds.\n // The on-chain event emits payload as vector<u8> (array-of-numbers or hex).\n // Payload JSON: { proposal_id, from_branch, into_branch, vote, reasoning, judge, ts_ms }\n let vote: string | undefined;\n try {\n const raw = p.payload as number[] | string | undefined;\n if (raw) {\n let bytes: Uint8Array;\n if (Array.isArray(raw)) {\n bytes = new Uint8Array(raw as number[]);\n } else {\n const hex = (raw as string).startsWith(\"0x\") ? (raw as string).slice(2) : raw as string;\n bytes = new Uint8Array(hex.match(/.{1,2}/g)?.map((b) => parseInt(b, 16)) ?? []);\n }\n const decoded = JSON.parse(new TextDecoder().decode(bytes)) as Record<string, unknown>;\n vote = decoded[\"vote\"] as string | undefined;\n }\n } catch { /* payload not present or malformed — skip enrichment */ }\n\n return {\n tree_id: p.tree_id,\n proposal_id: p.proposal_id,\n signer: p.signer,\n kind: Number(p.kind),\n ts_ms: Number(e.timestampMs ?? Date.now()),\n tx_digest: e.id.txDigest,\n ...(vote !== undefined && { vote }),\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction parseMergeFinalized(e: any): MergeFinalizedEvent {\n const p = e.parsedJson;\n return {\n tree_id: p.tree_id,\n proposal_id: p.proposal_id,\n merge_commit_id: p.merge_commit_id,\n resolved_blob_id: decodeBlobIdField(p.resolved_blob_id),\n ts_ms: Number(e.timestampMs ?? Date.now()),\n tx_digest: e.id.txDigest,\n };\n}\n\n/**\n * Decode a vector<u8> field that holds a UTF-8 encoded string (e.g. Walrus blob ID).\n * The Sui JSON RPC may return it as:\n * - number[] → e.g. [51, 122, 110, ...] (UTF-8 bytes)\n * - string → already decoded, or hex with 0x prefix\n * - null/undefined → empty\n */\nfunction decodeBlobIdField(raw: unknown): string {\n if (!raw) return \"\";\n if (Array.isArray(raw)) {\n if (raw.length === 0) return \"\";\n return new TextDecoder().decode(new Uint8Array(raw as number[]));\n }\n if (typeof raw === \"string\") return raw;\n return \"\";\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction parseMergeAborted(e: any): MergeAbortedEvent {\n const p = e.parsedJson;\n return {\n tree_id: p.tree_id,\n proposal_id: p.proposal_id,\n reason_code: Number(p.reason_code ?? 0),\n ts_ms: Number(e.timestampMs ?? Date.now()),\n tx_digest: e.id.txDigest,\n };\n}\n\n// ─── Polling client ───────────────────────────────────────────────────────────\n\nexport type MemForksEventHandlers = {\n onBranch?: (e: BranchCreatedEvent) => void;\n onProposed?: (e: MergeProposedEvent) => void;\n onAttestation?: (e: AttestationSubmittedEvent) => void;\n onFinalized?: (e: MergeFinalizedEvent) => void;\n onAborted?: (e: MergeAbortedEvent) => void;\n};\n\nexport class MemForksClient {\n treeId = DEFAULT_TREE_ID;\n packageId = DEFAULT_PACKAGE_ID;\n network = \"testnet\";\n hasMemwal = false;\n\n private sui: SuiClient;\n private cursors: Map<string, EventId | null> = new Map();\n private timer: ReturnType<typeof setInterval> | null = null;\n private handlers: MemForksEventHandlers = {};\n\n constructor() {\n this.sui = this.makeSuiClient(DEFAULT_RPC);\n }\n\n private makeSuiClient(rpc: string): SuiClient {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new SuiClient({ transport: new JsonRpcHTTPTransport({ url: rpc }), network: \"testnet\" } as any);\n }\n\n /**\n * Resolve runtime config from the local `memfork ui` server first,\n * then fall back to URL params, then Vite env vars / hardcoded defaults.\n *\n * Always resolves — never throws.\n */\n async loadConfig(): Promise<RuntimeConfig> {\n // ── 1. Local server (/api/config served by `memfork ui`) ──────────────\n try {\n const r = await fetch(\"/api/config\", {\n signal: AbortSignal.timeout(1_500),\n });\n if (r.ok) {\n const cfg = await r.json() as Partial<RuntimeConfig>;\n if (cfg.treeId) this.treeId = cfg.treeId;\n if (cfg.packageId) this.packageId = cfg.packageId;\n if (cfg.network) this.network = cfg.network;\n if (cfg.hasMemwal) this.hasMemwal = cfg.hasMemwal;\n\n // Always re-point the Sui client at the correct chain.\n const explicitRpc = (cfg as Record<string, unknown>)[\"rpcUrl\"] as string | null | undefined;\n const resolvedRpc = explicitRpc || RPC_BY_NETWORK[this.network] || DEFAULT_RPC;\n this.sui = this.makeSuiClient(resolvedRpc);\n\n // Update the explorer and Walrus bases for the resolved network.\n SUI_EXPLORER_BASE = EXPLORER_BY_NETWORK[this.network] ?? SUI_EXPLORER_BASE;\n _suiExplorerBase = SUI_EXPLORER_BASE;\n _walrusBlobBase = WALRUS_BLOB_BY_NETWORK[this.network] ?? _walrusBlobBase;\n\n return this.currentConfig();\n }\n } catch { /* not running via local server */ }\n\n // ── 2. URL params (Walrus Site or manual sharing) ─────────────────────\n const params = new URLSearchParams(window.location.search);\n if (params.get(\"tree\")) this.treeId = params.get(\"tree\")!;\n if (params.get(\"package\")) this.packageId = params.get(\"package\")!;\n if (params.get(\"network\")) this.network = params.get(\"network\")!;\n\n // ── 3. Fall through to Vite env / hardcoded defaults (no change needed)\n return this.currentConfig();\n }\n\n private currentConfig(): RuntimeConfig {\n return {\n treeId: this.treeId,\n packageId: this.packageId,\n network: this.network,\n rpcUrl: DEFAULT_RPC,\n hasMemwal: this.hasMemwal,\n };\n }\n\n setHandlers(h: MemForksEventHandlers) {\n this.handlers = h;\n }\n\n /** Fetch all historical events for the tree (initial load). */\n async fetchHistory(): Promise<void> {\n for (const type of this.eventTypes()) {\n await this.pollType(type, null, true);\n }\n }\n\n /** Start polling for new events every `intervalMs`. */\n startPolling(intervalMs = 5_000): void {\n if (this.timer) return;\n this.timer = setInterval(() => {\n for (const type of this.eventTypes()) {\n this.pollType(type, this.cursors.get(type) ?? null, false).catch(\n (err) => console.warn(\"[memforks] poll error:\", err),\n );\n }\n }, intervalMs);\n }\n\n stopPolling(): void {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n }\n\n /**\n * Fetch the on-chain ResolverRef kind and raw config bytes.\n * Returns null on any error so callers can silently skip enrichment.\n */\n async fetchResolverInfo(resolverId: string): Promise<{\n kind: number;\n config: Uint8Array;\n } | null> {\n try {\n const obj = await this.sui.getObject({\n id: resolverId,\n options: { showContent: true },\n });\n if (obj.data?.content?.dataType === \"moveObject\") {\n const fields = obj.data.content.fields as Record<string, unknown>;\n const kind = Number(fields[\"kind\"] ?? -1);\n const raw = fields[\"config\"];\n let config: Uint8Array;\n if (Array.isArray(raw)) {\n config = new Uint8Array(raw as number[]);\n } else if (typeof raw === \"string\") {\n const hex = raw.startsWith(\"0x\") ? raw.slice(2) : raw;\n config = new Uint8Array(hex.match(/.{1,2}/g)?.map((b) => parseInt(b, 16)) ?? []);\n } else {\n config = new Uint8Array();\n }\n return { kind, config };\n }\n return null;\n } catch {\n return null;\n }\n }\n\n private eventTypes(): string[] {\n return [\n `${this.packageId}::tree::BranchCreated`,\n `${this.packageId}::resolver::MergeProposed`,\n `${this.packageId}::resolver::AttestationSubmitted`,\n `${this.packageId}::resolver::MergeFinalized`,\n `${this.packageId}::resolver::MergeAborted`,\n ];\n }\n\n private async pollType(\n type: string,\n cursor: EventId | null,\n isHistory: boolean,\n ): Promise<void> {\n let nextCursor: EventId | null = cursor;\n let hasMore = true;\n\n while (hasMore) {\n const result = await this.sui.queryEvents({\n query: { MoveEventType: type },\n cursor: nextCursor ?? undefined,\n limit: 50,\n order: \"ascending\",\n });\n\n for (const e of result.data) {\n const parsed = e.parsedJson as Record<string, unknown>;\n // AttestationSubmitted and MergeAborted do not include tree_id in the\n // Move event struct — skip the filter for them; applyAttestation /\n // applyAborted already ignore unknown proposal IDs.\n if (parsed[\"tree_id\"] !== undefined && parsed[\"tree_id\"] !== this.treeId) continue;\n this.dispatch(type, e);\n }\n\n nextCursor = result.nextCursor ?? null;\n hasMore = result.hasNextPage && isHistory;\n }\n\n this.cursors.set(type, nextCursor);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private dispatch(type: string, e: any): void {\n if (type.endsWith(\"::BranchCreated\")) this.handlers.onBranch?.(parseBranch(e));\n else if (type.endsWith(\"::MergeProposed\")) this.handlers.onProposed?.(parseMergeProposed(e));\n else if (type.endsWith(\"::AttestationSubmitted\")) this.handlers.onAttestation?.(parseAttestation(e));\n else if (type.endsWith(\"::MergeFinalized\")) this.handlers.onFinalized?.(parseMergeFinalized(e));\n else if (type.endsWith(\"::MergeAborted\")) this.handlers.onAborted?.(parseMergeAborted(e));\n }\n}\n\nexport const memForksClient = new MemForksClient();\n","/**\n * Branch display tone — calm-pass rule: only `main` gets the accent colour,\n * every other branch is neutral. The active branch context (dropdown, header)\n * provides orientation; per-row colour coding was noise.\n */\nexport function branchTone(branch: string): string {\n return branch === \"main\" ? \"green\" : \"muted\";\n}\n","/**\n * AnchorInspector — right-drawer panel for an on-chain merge anchor.\n *\n * Model A: shows the resolved blob ID (Walrus link), the merge proposal that\n * produced this anchor, parent blob IDs (the branch tips consumed), and the\n * Sui tx link for the finalize_merge call.\n */\n\nimport { useState } from \"react\";\nimport type { MergeAnchor } from \"../sui/types.js\";\nimport { useDagStore } from \"../state/dagStore.js\";\nimport { useUiStore } from \"../state/uiStore.js\";\nimport { getSuiExplorerBase } from \"../sui/client.js\";\nimport { branchTone } from \"../ui/branch.js\";\nimport \"./Inspector.css\";\n\ninterface Props {\n anchor: MergeAnchor;\n}\n\nfunction relTime(ms: number): string {\n const diff = Date.now() - ms;\n const s = Math.floor(diff / 1000);\n if (s < 60) return `${s}s ago`;\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n return `${Math.floor(d / 30)}mo ago`;\n}\n\nfunction absTime(ms: number): string {\n return new Date(ms).toLocaleString();\n}\n\nexport default function CommitInspector({ anchor }: Props) {\n const [copied, setCopied] = useState(false);\n const proposals = useDagStore((s) => s.proposals);\n const openProposal = useUiStore((s) => s.openProposal);\n\n const relatedProposal = proposals.get(anchor.proposal_id);\n // resolved_blob_id may arrive as a bytes array from on-chain events before\n // the parser decodes it; guard defensively.\n const blobIdStr = Array.isArray(anchor.resolved_blob_id)\n ? new TextDecoder().decode(new Uint8Array(anchor.resolved_blob_id as unknown as number[]))\n : String(anchor.resolved_blob_id ?? \"\");\n const resolvedBlobHex = blobIdStr.replace(/^0x/, \"\");\n\n function copyBlobId() {\n navigator.clipboard.writeText(blobIdStr).then(() => {\n setCopied(true);\n setTimeout(() => setCopied(false), 1_500);\n }).catch(() => {});\n }\n\n return (\n <div className=\"inspector\">\n {/* Header */}\n <div className=\"inspector-header\">\n <div className=\"inspector-title-row\">\n <code className=\"inspector-commit-id\">{anchor.id.slice(2, 9)}</code>\n <span className=\"chip purple\">MERGE ANCHOR</span>\n <span className={`chip ${branchTone(anchor.branch)}`}>{anchor.branch}</span>\n </div>\n <p className=\"inspector-message\">\n On-chain settlement: resolved content anchored at blob{\" \"}\n <code>{resolvedBlobHex.slice(0, 12)}…</code>\n </p>\n </div>\n\n {/* Meta */}\n <section className=\"inspector-section\">\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Branch</span>\n <code className=\"inspector-val\">{anchor.branch}</code>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Time</span>\n <span className=\"inspector-val\" title={absTime(anchor.ts_ms)}>{relTime(anchor.ts_ms)}</span>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Anchor ID</span>\n <code className=\"inspector-val inspector-mono-sm\" title={anchor.id}>\n {anchor.id.slice(0, 20)}…\n </code>\n </div>\n </section>\n\n {/* Parent blob IDs (branch tips consumed by merge) */}\n {anchor.parents.length > 0 && (\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">Branch tips consumed</p>\n <ul className=\"inspector-parents\">\n {anchor.parents.map((blobId, i) => (\n <li key={i} className=\"inspector-parent-row\">\n <code className=\"inspector-mono-sm\">\n {blobId ? blobId.slice(0, 20) + \"…\" : \"(genesis)\"}\n </code>\n </li>\n ))}\n </ul>\n </section>\n )}\n\n {/* On-chain + Walrus links */}\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">On-chain</p>\n <a\n className=\"inspector-link\"\n href={`${getSuiExplorerBase()}/${anchor.tx_digest}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span className=\"inspector-link-icon\">◈</span>\n Sui tx <code>{anchor.tx_digest.slice(0, 12)}…</code>\n <span className=\"inspector-link-ext\">↗</span>\n </a>\n {resolvedBlobHex && (\n <button\n className=\"inspector-copy-row\"\n onClick={copyBlobId}\n title=\"Copy full resolved blob ID\"\n >\n <span className=\"inspector-link-icon\">⬡</span>\n Resolved blob <code>{resolvedBlobHex.slice(0, 12)}…</code>\n <span className=\"inspector-copy-badge\">{copied ? \"✓ copied\" : \"copy\"}</span>\n </button>\n )}\n </section>\n\n {/* Merge proposal summary */}\n {relatedProposal && (\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">Resolved via proposal</p>\n <div className=\"inspector-proposal-summary\">\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Proposal</span>\n <code className=\"inspector-val\">{relatedProposal.id.slice(2, 9)}…</code>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">From branch</span>\n <code className=\"inspector-val\">{relatedProposal.from_branch}</code>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Verdict</span>\n <span className=\"chip green\">APPROVED</span>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Attestations</span>\n <span className=\"inspector-val\">{relatedProposal.attestations.length} signers</span>\n </div>\n </div>\n <button\n className=\"inspector-link\"\n style={{ background: \"none\", border: \"none\", cursor: \"pointer\", padding: 0, width: \"100%\", textAlign: \"left\" }}\n onClick={() => openProposal(relatedProposal)}\n >\n <span className=\"inspector-link-icon\">◈</span>\n View full proposal\n <span className=\"inspector-link-ext\">→</span>\n </button>\n </section>\n )}\n\n {/* Off-chain history hint */}\n <section className=\"inspector-section inspector-snapshot\">\n <p className=\"inspector-section-label\">Off-chain commit history</p>\n <p className=\"inspector-snapshot-hint\">\n Walk the Walrus blob hash chain from the resolved blob to reconstruct all\n off-chain commits since the previous merge. Requires MemWal read access.\n </p>\n </section>\n </div>\n );\n}\n","// Wire types — mirrors on-chain event structs (SPEC §9, Model A).\n//\n// Model A: CommitCreated no longer exists. Regular commits are off-chain Walrus\n// blobs. The DAG is reconstructed by walking the blob hash chain from MergeFinalized\n// events (from_head_blob_id / into_head_blob_id → Walrus blob walk).\n\nexport type SuiObjectId = string; // 0x-prefixed hex\nexport type SuiAddress = string; // 0x-prefixed hex\nexport type BlobId = string; // Walrus blob ID (hex)\n\n// ─── On-chain events ─────────────────────────────────────────────────────────\n\nexport interface BranchCreatedEvent {\n tree_id: SuiObjectId;\n branch: string;\n from_branch: string;\n memwal_namespace: string;\n tx_digest: string;\n ts_ms: number;\n}\n\nexport interface MergeProposedEvent {\n tree_id: SuiObjectId;\n proposal_id: SuiObjectId;\n from_branch: string;\n into_branch: string;\n resolver_id: SuiObjectId;\n /** Walrus blob ID of from_branch tip at proposal time. */\n from_head_blob_id: BlobId;\n /** Walrus blob ID of into_branch tip at proposal time. */\n into_head_blob_id: BlobId;\n expires_at_ms: number;\n ts_ms: number;\n tx_digest: string;\n}\n\nexport interface AttestationSubmittedEvent {\n tree_id: SuiObjectId;\n proposal_id: SuiObjectId;\n signer: SuiAddress;\n kind: number;\n ts_ms: number;\n tx_digest: string;\n /** Display name for this signer (e.g. \"judge-1\"). Enriched off-chain / demo. */\n label?: string;\n /** Model name, e.g. \"gpt-5\". Enriched off-chain / demo. */\n model?: string;\n /** Which branch this attestation voted for. Decoded from payload / demo. */\n vote?: string;\n /** Ed25519 signature verified on-chain. Always true for finalized proposals. */\n sig_verified?: boolean;\n}\n\nexport interface MergeFinalizedEvent {\n tree_id: SuiObjectId;\n proposal_id: SuiObjectId;\n /** On-chain MemoryCommit anchor object ID. */\n merge_commit_id: SuiObjectId;\n /** Walrus blob ID the into_branch head was advanced to. */\n resolved_blob_id: BlobId;\n ts_ms: number;\n tx_digest: string;\n}\n\nexport interface MergeAbortedEvent {\n tree_id: SuiObjectId;\n proposal_id: SuiObjectId;\n reason_code: number;\n ts_ms: number;\n tx_digest: string;\n}\n\nexport interface TreeCreatedEvent {\n tree_id: SuiObjectId;\n owner: SuiAddress;\n memwal_account: SuiObjectId;\n default_branch: string;\n ts_ms: number;\n tx_digest: string;\n}\n\n// ─── Artifact reference (mirrors ArtifactRef in @memfork/core) ───────────────\n\n/** A reference to a Walrus artifact blob attached to a commit. */\nexport interface ArtifactRef {\n /** Original file path at commit time. */\n path: string;\n /** Walrus blob ID. */\n blobId: BlobId;\n /** SHA-256 hex digest for integrity verification. */\n sha256: string;\n /** File size in bytes. */\n size: number;\n /** MIME type, if known. */\n mime?: string;\n /** Walrus storage epochs requested for this artifact. */\n epochs?: number;\n}\n\n// ─── Off-chain commit (returned by /api/history) ─────────────────────────────\n\n/**\n * An off-chain commit blob proxied by the local `memfork ui` server.\n * Decrypted server-side using the MemWal key; the browser never sees raw keys.\n */\nexport interface OffChainCommit {\n /** Walrus blob ID. Acts as the unique identifier in the chain. */\n blob_id: BlobId;\n branch: string;\n ts_ms: number;\n /** Human-readable label derived from delta.facts[0]. */\n message: string;\n parent_blob_ids: BlobId[];\n parent_blob_hashes: string[];\n delta: Record<string, unknown>;\n /** Display name of the author (e.g. \"Dev A\"). */\n author?: string;\n /** Which tool wrote this commit. */\n tool?: \"codex\" | \"cursor\" | \"sdk\";\n /** Artifact blobs attached to this commit, if any. */\n artifacts?: ArtifactRef[];\n}\n\n// ─── App-level domain models ──────────────────────────────────────────────────\n\n/**\n * On-chain merge anchor (MemoryCommit). Not created for regular commits.\n * parents are Walrus blob IDs of the two branch tips consumed by the merge.\n */\nexport interface MergeAnchor {\n id: SuiObjectId;\n tree_id: SuiObjectId;\n /** The into_branch name. */\n branch: string;\n /** Walrus blob IDs of the from_head and into_head consumed by the merge. */\n parents: BlobId[];\n memwal_namespace: string;\n /** Walrus blob ID of the resolved content. */\n resolved_blob_id: BlobId;\n author: SuiAddress;\n proposal_id: SuiObjectId;\n ts_ms: number;\n tx_digest: string;\n}\n\nexport interface MemoryBranch {\n name: string;\n from_branch: string;\n memwal_namespace: string;\n /** Settled Walrus blob ID (last merge resolution). Empty = at genesis. */\n head_blob_id: BlobId;\n ts_ms: number;\n /** On-chain tx that created this branch (for the fork row). */\n tx_digest?: string;\n /** Set when this branch lost a merge ceremony — shows in the Graveyard. */\n is_graveyard?: boolean;\n /** Human-readable rejection rationale for the Graveyard row. */\n rejection_rationale?: string;\n}\n\nexport type ProposalStatus = \"pending\" | \"finalized\" | \"aborted\" | \"expired\";\n\nexport interface AttestationRecord {\n signer: SuiAddress;\n kind: number;\n tx_digest: string;\n ts_ms: number;\n label?: string;\n model?: string;\n vote?: string;\n sig_verified?: boolean;\n}\n\nexport interface MergeProposal {\n id: SuiObjectId;\n tree_id: SuiObjectId;\n from_branch: string;\n into_branch: string;\n /** Walrus blob IDs stored in the proposal for the fast-forward check. */\n from_head_blob_id: BlobId;\n into_head_blob_id: BlobId;\n resolver_id: SuiObjectId;\n proposer: SuiAddress;\n status: ProposalStatus;\n attestations: AttestationRecord[];\n merge_commit_id: SuiObjectId | null;\n resolved_blob_id: BlobId | null;\n expires_at_ms: number;\n ts_ms: number;\n tx_digest: string;\n /** Human-readable resolver label, e.g. \"Jury(2,3)\" or \"LWW\". Set by enrichProposal. */\n resolver_label?: string;\n /** k threshold from Jury(k,n) resolver. Set by enrichProposal. */\n jury_threshold?: number;\n /** Expected jury judges. Set by enrichProposal for display. */\n jury_judges?: JuryJudge[];\n}\n\n// ─── Jury judge metadata (display-only, enriched from resolver config) ────────\n\nexport interface JuryJudge {\n address: SuiAddress;\n /** Human label, e.g. \"judge-1\". */\n label: string;\n /** Model name, e.g. \"gpt-5\". */\n model: string;\n}\n\n// ─── Attestation kind labels ──────────────────────────────────────────────────\n\nexport const ATTEST_KIND: Record<number, string> = {\n 0x01: \"JURY_VOTE\",\n 0x02: \"EVALUATOR\",\n 0x03: \"ORACLE\",\n 0x04: \"LLM_RESOLVE\",\n};\n","/**\n * ProposalInspector — shows a MergeProposal's status, attestations, and links.\n */\n\nimport type { MergeProposal } from \"../sui/types.js\";\nimport { ATTEST_KIND } from \"../sui/types.js\";\nimport { useDagStore } from \"../state/dagStore.js\";\nimport { useUiStore } from \"../state/uiStore.js\";\nimport { getSuiExplorerBase } from \"../sui/client.js\";\nimport \"./Inspector.css\";\n\ninterface Props {\n proposal: MergeProposal;\n}\n\nconst STATUS_CHIP: Record<string, string> = {\n pending: \"orange\",\n finalized: \"green\",\n aborted: \"red\",\n expired: \"muted\",\n};\n\nfunction shortAddr(addr: string): string {\n return addr.slice(0, 8) + \"…\" + addr.slice(-4);\n}\n\nfunction relTime(ms: number): string {\n const diff = Date.now() - ms;\n const s = Math.floor(diff / 1000);\n if (s < 60) return `${s}s ago`;\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n return `${Math.floor(h / 24)}d ago`;\n}\n\nexport default function ProposalInspector({ proposal }: Props) {\n const mergeAnchors = useDagStore((s) => s.mergeAnchors);\n const openAnchor = useUiStore((s) => s.openAnchor);\n\n const mergeAnchor = proposal.merge_commit_id\n ? mergeAnchors.get(proposal.merge_commit_id)\n : null;\n\n return (\n <div className=\"inspector\">\n {/* Header */}\n <div className=\"inspector-header\">\n <div className=\"inspector-title-row\">\n <code className=\"inspector-commit-id\">{proposal.id.slice(2, 9)}…</code>\n <span className={`chip ${STATUS_CHIP[proposal.status] ?? \"muted\"}`}>\n {proposal.status.toUpperCase()}\n </span>\n </div>\n <p className=\"inspector-message\">\n Merge <strong>{proposal.from_branch}</strong> → <strong>{proposal.into_branch}</strong>\n </p>\n </div>\n\n {/* Meta */}\n <section className=\"inspector-section\">\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">From</span>\n <code className=\"inspector-val\">{proposal.from_branch}</code>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Into</span>\n <code className=\"inspector-val\">{proposal.into_branch}</code>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Proposer</span>\n <code className=\"inspector-val\" title={proposal.proposer}>{shortAddr(proposal.proposer)}</code>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Opened</span>\n <span className=\"inspector-val\">{relTime(proposal.ts_ms)}</span>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Resolver</span>\n <code className=\"inspector-val inspector-mono-sm\" title={proposal.resolver_id}>\n {proposal.resolver_id.slice(2, 10)}…\n </code>\n </div>\n </section>\n\n {/* Attestations */}\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">\n Attestations ({proposal.attestations.length})\n </p>\n {proposal.attestations.length === 0 ? (\n proposal.status === \"pending\"\n ? <p className=\"inspector-empty-hint\">Waiting for jury workers…</p>\n : proposal.status === \"finalized\" && !proposal.jury_threshold\n ? <p className=\"inspector-empty-hint\">LWW — no jury required</p>\n : <p className=\"inspector-empty-hint\">No attestations recorded</p>\n ) : (\n <ul className=\"inspector-attestations\">\n {proposal.attestations.map((a, i) => (\n <li key={i} className=\"inspector-attest-row\">\n <div className=\"inspector-attest-top\">\n <span className={`chip ${a.kind === 0x04 ? \"purple\" : \"green\"}`}>\n {ATTEST_KIND[a.kind] ?? `0x${a.kind.toString(16)}`}\n </span>\n <code className=\"inspector-attest-signer\" title={a.signer}>\n {a.label ?? shortAddr(a.signer)}\n </code>\n {a.vote && (\n <span className={`chip ${a.vote === \"approve\" ? \"green\" : \"red\"}`} style={{ fontSize: \"0.68rem\" }}>\n {a.vote}\n </span>\n )}\n <span className=\"inspector-attest-time\">{relTime(a.ts_ms)}</span>\n </div>\n <a\n className=\"inspector-link inspector-link-sm\"\n href={`${getSuiExplorerBase()}/${a.tx_digest}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={(e) => e.stopPropagation()}\n >\n Sui tx <code>{a.tx_digest.slice(0, 12)}…</code>\n <span className=\"inspector-link-ext\">↗</span>\n </a>\n </li>\n ))}\n </ul>\n )}\n </section>\n\n {/* Blob IDs recorded in the proposal */}\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">Branch tips at proposal time</p>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">from_head</span>\n <code className=\"inspector-val inspector-mono-sm\" title={proposal.from_head_blob_id}>\n {proposal.from_head_blob_id ? proposal.from_head_blob_id.slice(0, 16) + \"…\" : \"(genesis)\"}\n </code>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">into_head</span>\n <code className=\"inspector-val inspector-mono-sm\" title={proposal.into_head_blob_id}>\n {proposal.into_head_blob_id ? proposal.into_head_blob_id.slice(0, 16) + \"…\" : \"(genesis)\"}\n </code>\n </div>\n </section>\n\n {/* Merge anchor link */}\n {mergeAnchor && (\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">Merge anchor</p>\n <button\n className=\"inspector-parent-btn\"\n onClick={() => openAnchor(mergeAnchor)}\n >\n <code>{mergeAnchor.id.slice(2, 9)}</code>\n <span className=\"inspector-parent-branch\">{mergeAnchor.branch}</span>\n <span className=\"inspector-parent-arrow\">↗</span>\n </button>\n </section>\n )}\n\n {/* On-chain link */}\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">On-chain</p>\n <a\n className=\"inspector-link\"\n href={`${getSuiExplorerBase()}/${proposal.tx_digest}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <span className=\"inspector-link-icon\">◈</span>\n Proposal tx <code>{proposal.tx_digest.slice(0, 12)}…</code>\n <span className=\"inspector-link-ext\">↗</span>\n </a>\n </section>\n </div>\n );\n}\n","/**\n * OffChainCommitInspector — right-drawer panel for an off-chain Walrus commit.\n *\n * Shows everything knowable client-side: message, author/tool, branch, blob ID,\n * parent chain, fact keys changed (from delta), artifact refs, and a Walrus link.\n */\n\nimport { useState } from \"react\";\nimport type { OffChainCommit, ArtifactRef } from \"../sui/types.js\";\nimport { getWalrusBlobBase } from \"../sui/client.js\";\nimport \"./Inspector.css\";\n\ninterface Props {\n commit: OffChainCommit;\n}\n\nconst TOOL_LABEL: Record<string, string> = {\n codex: \"Codex\",\n cursor: \"Cursor\",\n sdk: \"SDK\",\n};\n\nfunction relTime(ms: number): string {\n const diff = Date.now() - ms;\n const s = Math.floor(diff / 1_000);\n if (s < 60) return `${s}s ago`;\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n return `${Math.floor(d / 30)}mo ago`;\n}\n\nfunction absTime(ms: number): string {\n return new Date(ms).toLocaleString();\n}\n\n// ─── Artifact row ─────────────────────────────────────────────────────────────\n\nfunction formatBytes(n: number): string {\n if (n < 1024) return `${n} B`;\n if (n < 1024 * 1024) return `${(n / 1024).toFixed(1)} KB`;\n return `${(n / (1024 * 1024)).toFixed(1)} MB`;\n}\n\nfunction ArtifactRow({ ref: artifact }: { ref: ArtifactRef }) {\n const [copied, setCopied] = useState(false);\n const blobBase = getWalrusBlobBase();\n const downloadUrl = `${blobBase}/${artifact.blobId}`;\n const shortBlob = artifact.blobId.replace(/^0x/, \"\").slice(0, 20);\n\n function copyBlobId() {\n navigator.clipboard.writeText(artifact.blobId).then(() => {\n setCopied(true);\n setTimeout(() => setCopied(false), 1_500);\n }).catch(() => {});\n }\n\n return (\n <li className=\"inspector-parent-row\" style={{ display: \"flex\", flexDirection: \"column\", gap: \"4px\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"6px\", justifyContent: \"space-between\" }}>\n <span style={{ fontSize: \"0.8rem\", color: \"var(--fg-1)\", overflow: \"hidden\", textOverflow: \"ellipsis\", whiteSpace: \"nowrap\" }}>\n {artifact.path}\n </span>\n <span style={{ fontSize: \"0.7rem\", color: \"var(--fg-3)\", flexShrink: 0 }}>\n {formatBytes(artifact.size)}\n {artifact.mime ? ` · ${artifact.mime}` : \"\"}\n </span>\n </div>\n <div style={{ display: \"flex\", gap: \"6px\" }}>\n <button\n className=\"inspector-copy-row\"\n style={{ flex: 1 }}\n onClick={copyBlobId}\n title=\"Copy blob ID\"\n >\n <span className=\"inspector-link-icon\">⬡</span>\n <code className=\"inspector-mono-sm\">{shortBlob}…</code>\n <span className=\"inspector-copy-badge\">{copied ? \"✓\" : \"copy\"}</span>\n </button>\n <a\n href={downloadUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inspector-link inspector-link-sm\"\n title=\"Open on Walrus aggregator\"\n >\n <span className=\"inspector-link-icon\">↗</span>\n view\n </a>\n </div>\n </li>\n );\n}\n\nexport default function OffChainCommitInspector({ commit }: Props) {\n const [copied, setCopied] = useState(false);\n const blobHex = commit.blob_id.replace(/^0x/, \"\");\n\n function copyBlobId() {\n navigator.clipboard.writeText(commit.blob_id).then(() => {\n setCopied(true);\n setTimeout(() => setCopied(false), 1_500);\n }).catch(() => {});\n }\n const deltaKeys = Object.keys(commit.delta ?? {});\n const toolLabel = commit.tool ? TOOL_LABEL[commit.tool] ?? commit.tool : null;\n\n return (\n <div className=\"inspector\">\n {/* Header */}\n <div className=\"inspector-header\">\n <div className=\"inspector-title-row\">\n <code className=\"inspector-commit-id\">{blobHex.slice(0, 8)}…</code>\n <span className=\"chip muted\">commit</span>\n {commit.tool && (\n <span className=\"chip muted\">{toolLabel}</span>\n )}\n </div>\n <p className=\"inspector-message\">{commit.message}</p>\n </div>\n\n {/* Meta */}\n <section className=\"inspector-section\">\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Branch</span>\n <code className=\"inspector-val\">{commit.branch}</code>\n </div>\n {commit.author && (\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Author</span>\n <span className=\"inspector-val\">{commit.author}</span>\n </div>\n )}\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Time</span>\n <span className=\"inspector-val\" title={absTime(commit.ts_ms)}>\n {relTime(commit.ts_ms)}\n </span>\n </div>\n <div className=\"inspector-kv\">\n <span className=\"inspector-key\">Storage</span>\n <span className=\"inspector-val inspector-mono-sm\">Off-chain · Walrus</span>\n </div>\n </section>\n\n {/* Delta — keys changed */}\n {deltaKeys.length > 0 && (\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">\n Keys changed ({deltaKeys.length})\n </p>\n <ul className=\"inspector-parents\">\n {deltaKeys.map((k) => (\n <li key={k} className=\"inspector-parent-row\">\n <code className=\"inspector-mono-sm\">{k}</code>\n </li>\n ))}\n </ul>\n </section>\n )}\n\n {/* Parent chain */}\n {commit.parent_blob_ids.length > 0 && (\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">Parent blob</p>\n {commit.parent_blob_ids.map((pid, i) => (\n <code key={i} className=\"inspector-code-block\">\n {pid ? pid.replace(/^0x/, \"\").slice(0, 32) + \"…\" : \"(genesis)\"}\n </code>\n ))}\n </section>\n )}\n\n {/* Artifacts — plaintext Walrus blobs; browser-downloadable */}\n {commit.artifacts && commit.artifacts.length > 0 && (\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">\n Artifacts ({commit.artifacts.length})\n </p>\n <ul className=\"inspector-parents\">\n {commit.artifacts.map((a) => (\n <ArtifactRow key={a.blobId} ref={a} />\n ))}\n </ul>\n <p className=\"inspector-snapshot-hint\">\n Plaintext · stored on Walrus · public read\n </p>\n </section>\n )}\n\n {/* Blob ID — copy only, not a link (SEAL-encrypted, not browser-readable) */}\n <section className=\"inspector-section\">\n <p className=\"inspector-section-label\">Blob ID</p>\n <button\n className=\"inspector-copy-row\"\n onClick={copyBlobId}\n title=\"Copy full blob ID\"\n >\n <span className=\"inspector-link-icon\">⬡</span>\n <code className=\"inspector-mono-sm\">{blobHex.slice(0, 24)}…</code>\n <span className=\"inspector-copy-badge\">{copied ? \"✓ copied\" : \"copy\"}</span>\n </button>\n <p className=\"inspector-snapshot-hint\">\n SEAL-encrypted · stored on Walrus · not browser-readable\n </p>\n </section>\n </div>\n );\n}\n","import { useUiStore } from \"../state/uiStore.js\";\nimport { useDagStore } from \"../state/dagStore.js\";\nimport CommitInspector from \"../drawers/CommitInspector.js\";\nimport ProposalInspector from \"../drawers/ProposalInspector.js\";\nimport OffChainCommitInspector from \"../drawers/OffChainCommitInspector.js\";\nimport \"./RightDrawer.css\";\n\nexport default function RightDrawer() {\n const panel = useUiStore((s) => s.panel);\n const closeDrawer = useUiStore((s) => s.closeDrawer);\n const proposals = useDagStore((s) => s.proposals);\n\n const isOpen = panel !== null;\n\n return (\n <aside className={`right-drawer ${isOpen ? \"open\" : \"\"}`} aria-label=\"Commit inspector\">\n <div className=\"drawer-toolbar\">\n <span className=\"drawer-title\">\n {panel?.kind === \"anchor\" && \"Merge Anchor\"}\n {panel?.kind === \"proposal\" && \"Merge Proposal\"}\n {panel?.kind === \"commit\" && \"Commit\"}\n {!panel && \"Inspector\"}\n </span>\n <button className=\"icon-btn\" onClick={closeDrawer} aria-label=\"Close inspector\" title=\"Close\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <line x1=\"1\" y1=\"1\" x2=\"13\" y2=\"13\" />\n <line x1=\"13\" y1=\"1\" x2=\"1\" y2=\"13\" />\n </svg>\n </button>\n </div>\n\n <div className=\"drawer-body\">\n {panel?.kind === \"anchor\" && (\n <CommitInspector anchor={panel.anchor} />\n )}\n {panel?.kind === \"proposal\" && (\n <ProposalInspector proposal={panel.proposal} />\n )}\n {panel?.kind === \"commit\" && (\n <OffChainCommitInspector commit={panel.commit} />\n )}\n </div>\n\n {/* Proposal quick-access list at the bottom when drawer is open */}\n {panel?.kind === \"anchor\" && proposals.size > 0 && (\n <div className=\"drawer-proposals-footer\">\n <p className=\"drawer-proposals-label\">Open proposals</p>\n <ul className=\"drawer-proposals-list\">\n {Array.from(proposals.values())\n .filter((p) => p.status === \"pending\")\n .map((p) => (\n <li key={p.id}>\n <button\n className=\"drawer-proposal-chip\"\n onClick={() => useUiStore.getState().openProposal(p)}\n >\n <span className=\"chip orange\">PENDING</span>\n <span>{p.from_branch} → {p.into_branch}</span>\n <span>{p.attestations.length} attest</span>\n </button>\n </li>\n ))}\n </ul>\n </div>\n )}\n </aside>\n );\n}\n","/**\n * DAG layout engine — positions both off-chain commit blobs and on-chain merge anchors.\n *\n * Model A:\n * - Off-chain commits (circles) come from /api/history via MemWal.\n * - On-chain merge anchors (diamonds) come from MergeFinalized events.\n * - Both share the same X (timestamp) / Y (branch lane) coordinate system.\n * - Edges connect commit → parent commit via parent_blob_ids,\n * and commit → merge anchor via the anchor's parents[].\n */\n\nimport type { OffChainCommit, MergeAnchor, MemoryBranch } from \"../../sui/types.js\";\n\nexport type NodeKind = \"commit\" | \"anchor\";\n\nexport interface NodeLayout {\n id: string; // blob_id for commits, merge_commit_id for anchors\n kind: NodeKind;\n commit?: OffChainCommit;\n anchor?: MergeAnchor;\n x: number;\n y: number;\n lane: number;\n color: string;\n branch: string;\n ts_ms: number;\n}\n\nexport interface EdgeLayout {\n fromId: string;\n toId: string;\n x1: number; y1: number;\n x2: number; y2: number;\n color: string;\n}\n\nconst LANE_COLORS = [\n \"var(--lane-0)\",\n \"var(--lane-1)\",\n \"var(--lane-2)\",\n \"var(--lane-3)\",\n \"var(--lane-4)\",\n \"var(--lane-5)\",\n \"var(--lane-6)\",\n \"var(--lane-7)\",\n];\n\nconst LANE_HEIGHT = 72;\nconst NODE_RADIUS = 9;\nconst X_PADDING = 80;\nconst TOP_PADDING = 60;\nconst MIN_X_STEP = 50;\n\nexport const NODE_R = NODE_RADIUS;\n\nexport interface DagLayout {\n nodes: Map<string, NodeLayout>;\n edges: EdgeLayout[];\n width: number;\n height: number;\n laneNames: string[];\n laneColors: Map<string, string>;\n}\n\nexport function computeLayout(\n commits: OffChainCommit[],\n anchors: MergeAnchor[],\n branches: Map<string, MemoryBranch>,\n): DagLayout {\n if (commits.length === 0 && anchors.length === 0 && branches.size === 0) {\n return { nodes: new Map(), edges: [], width: 800, height: 300, laneNames: [], laneColors: new Map() };\n }\n\n // ── 1. Lane order ────────────────────────────────────────────────────────\n const branchFirstTs = new Map<string, number>();\n for (const [name, b] of branches) branchFirstTs.set(name, b.ts_ms);\n for (const c of commits) {\n const prev = branchFirstTs.get(c.branch) ?? Infinity;\n if (c.ts_ms < prev) branchFirstTs.set(c.branch, c.ts_ms);\n }\n for (const a of anchors) {\n if (!branchFirstTs.has(a.branch)) branchFirstTs.set(a.branch, a.ts_ms);\n }\n\n const laneNames = Array.from(branchFirstTs.keys()).sort((a, b) => {\n if (a === \"main\") return -1;\n if (b === \"main\") return 1;\n return (branchFirstTs.get(a) ?? 0) - (branchFirstTs.get(b) ?? 0);\n });\n\n const laneIndex = new Map(laneNames.map((n, i) => [n, i]));\n const laneColors = new Map(laneNames.map((n, i) => [n, LANE_COLORS[i % LANE_COLORS.length]]));\n\n // ── 2. Timestamp → X ────────────────────────────────────────────────────\n const allTs = [\n ...commits.map((c) => c.ts_ms),\n ...anchors.map((a) => a.ts_ms),\n ...Array.from(branches.values()).map((b) => b.ts_ms),\n ];\n if (allTs.length === 0) allTs.push(Date.now());\n const minTs = Math.min(...allTs);\n const maxTs = Math.max(...allTs);\n const tsRange = maxTs - minTs || 1;\n const totalNodes = commits.length + anchors.length;\n const CONTENT_W = Math.max(900, totalNodes * MIN_X_STEP + 2 * X_PADDING);\n\n function tsToX(ts: number): number {\n return X_PADDING + ((ts - minTs) / tsRange) * (CONTENT_W - 2 * X_PADDING);\n }\n\n // ── 3. Build nodes ───────────────────────────────────────────────────────\n const nodes = new Map<string, NodeLayout>();\n\n for (const c of commits) {\n const lane = laneIndex.get(c.branch) ?? 0;\n const color = laneColors.get(c.branch) ?? LANE_COLORS[0];\n nodes.set(c.blob_id, {\n id: c.blob_id, kind: \"commit\", commit: c,\n x: tsToX(c.ts_ms), y: TOP_PADDING + lane * LANE_HEIGHT,\n lane, color, branch: c.branch, ts_ms: c.ts_ms,\n });\n }\n\n for (const a of anchors) {\n const lane = laneIndex.get(a.branch) ?? 0;\n const color = laneColors.get(a.branch) ?? LANE_COLORS[0];\n nodes.set(a.id, {\n id: a.id, kind: \"anchor\", anchor: a,\n x: tsToX(a.ts_ms), y: TOP_PADDING + lane * LANE_HEIGHT,\n lane, color, branch: a.branch, ts_ms: a.ts_ms,\n });\n }\n\n // ── 4. Edges ─────────────────────────────────────────────────────────────\n const edges: EdgeLayout[] = [];\n\n // Commit → parent commit edges (from parent_blob_ids)\n for (const c of commits) {\n const child = nodes.get(c.blob_id);\n if (!child) continue;\n for (const pid of c.parent_blob_ids) {\n const parent = nodes.get(pid);\n if (!parent) continue;\n edges.push({\n fromId: pid, toId: c.blob_id,\n x1: parent.x, y1: parent.y, x2: child.x, y2: child.y,\n color: parent.lane === child.lane ? child.color : \"var(--border-strong)\",\n });\n }\n }\n\n // Merge anchor → consumed branch-tip edges (anchor.parents are blob IDs)\n for (const a of anchors) {\n const anchorNode = nodes.get(a.id);\n if (!anchorNode) continue;\n for (const parentBlobId of a.parents) {\n if (!parentBlobId) continue;\n const parent = nodes.get(parentBlobId);\n if (!parent) continue;\n edges.push({\n fromId: parentBlobId, toId: a.id,\n x1: parent.x, y1: parent.y, x2: anchorNode.x, y2: anchorNode.y,\n color: \"var(--border-strong)\",\n });\n }\n }\n\n const height = TOP_PADDING + laneNames.length * LANE_HEIGHT + TOP_PADDING;\n return { nodes, edges, width: CONTENT_W, height, laneNames, laneColors };\n}\n","/**\n * DagCanvas — SVG DAG visualization.\n *\n * Off-chain commits → filled circles.\n * On-chain merge anchors → diamond shapes.\n * Both are clickable (anchors open the AnchorInspector drawer).\n */\n\nimport { useCallback, useEffect, useRef } from \"react\";\nimport { useDagStore } from \"../../state/dagStore.js\";\nimport { useUiStore } from \"../../state/uiStore.js\";\nimport { computeLayout, NODE_R } from \"./dagLayout.js\";\nimport type { NodeLayout } from \"./dagLayout.js\";\nimport \"./DagCanvas.css\";\n\n// ─── Diamond helper ────────────────────────────────────────────────────────────\nfunction diamond(cx: number, cy: number, r: number): string {\n return `M${cx},${cy - r} L${cx + r},${cy} L${cx},${cy + r} L${cx - r},${cy}Z`;\n}\n\nconst LANE_LABEL_W = 90;\n\nexport default function DagCanvas() {\n const orderedCommits = useDagStore((s) => s.orderedCommits);\n const orderedAnchors = useDagStore((s) => s.orderedAnchors);\n const branches = useDagStore((s) => s.branches);\n const newAnchorIds = useDagStore((s) => s.newAnchorIds);\n const panel = useUiStore((s) => s.panel);\n const openAnchor = useUiStore((s) => s.openAnchor);\n const registerZoom = useUiStore((s) => s.registerZoom);\n const activeBranch = useUiStore((s) => s.activeBranch);\n const replayActive = useUiStore((s) => s.replayActive);\n const replayIndex = useUiStore((s) => s.replayIndex);\n\n const selectedId = panel?.kind === \"anchor\" ? panel.anchor.id : null;\n const svgRef = useRef<SVGSVGElement>(null);\n\n const visibleCommits = (() => {\n const filtered = activeBranch\n ? orderedCommits.filter((c) => c.branch === activeBranch)\n : orderedCommits;\n return replayActive ? filtered.slice(0, replayIndex) : filtered;\n })();\n\n const visibleAnchors = (() => {\n const filtered = activeBranch\n ? orderedAnchors.filter((a) => a.branch === activeBranch)\n : orderedAnchors;\n return replayActive ? filtered.slice(0, Math.max(0, replayIndex - visibleCommits.length)) : filtered;\n })();\n\n const layout = computeLayout(visibleCommits, visibleAnchors, branches);\n const { nodes, edges, width, height, laneNames, laneColors } = layout;\n\n // Auto-scroll to the latest anchor that appears new.\n useEffect(() => {\n if (!svgRef.current || newAnchorIds.size === 0) return;\n const firstNew = orderedAnchors.find((a) => newAnchorIds.has(a.id));\n if (!firstNew) return;\n const n = nodes.get(firstNew.id);\n if (!n) return;\n const container = svgRef.current.parentElement;\n if (container) container.scrollLeft = Math.max(0, n.x - container.clientWidth / 2);\n }, [newAnchorIds, orderedAnchors, nodes]);\n\n // Register the zoom callback so openAnchor() can scroll the canvas.\n useEffect(() => {\n registerZoom((anchorId: string) => {\n if (!svgRef.current) return;\n const n = nodes.get(anchorId);\n if (!n) return;\n const container = svgRef.current.parentElement;\n if (container) container.scrollLeft = Math.max(0, n.x - container.clientWidth / 2);\n });\n }, [registerZoom, nodes]);\n\n const handleNodeClick = useCallback(\n (n: NodeLayout) => {\n if (n.kind === \"anchor\" && n.anchor) openAnchor(n.anchor);\n },\n [openAnchor],\n );\n\n const totalW = width + LANE_LABEL_W;\n\n return (\n <div className=\"dag-canvas-scroll\">\n <svg\n ref={svgRef}\n className=\"dag-canvas\"\n width={totalW}\n height={height}\n viewBox={`0 0 ${totalW} ${height}`}\n aria-label=\"Memory DAG\"\n >\n <defs>\n <filter id=\"glow\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\">\n <feGaussianBlur stdDeviation=\"4\" result=\"blur\" />\n <feMerge><feMergeNode in=\"blur\" /><feMergeNode in=\"SourceGraphic\" /></feMerge>\n </filter>\n </defs>\n\n {/* ── Lane backgrounds ──────────────────────────────────────────── */}\n {laneNames.map((name, i) => {\n const y = 60 - 28 + i * 72;\n return (\n <g key={name}>\n <rect\n x={LANE_LABEL_W}\n y={y}\n width={width}\n height={72}\n fill={i % 2 === 0 ? \"var(--lane-stripe-even)\" : \"var(--lane-stripe-odd)\"}\n />\n <text\n x={LANE_LABEL_W - 8}\n y={y + 36}\n textAnchor=\"end\"\n dominantBaseline=\"middle\"\n className=\"dag-lane-label\"\n fill={laneColors.get(name)}\n >\n {name.length > 12 ? `${name.slice(0, 10)}…` : name}\n </text>\n </g>\n );\n })}\n\n {/* ── Edges ─────────────────────────────────────────────────────── */}\n <g className=\"dag-edges\">\n {edges.map((e) => {\n const x1 = e.x1 + LANE_LABEL_W;\n const x2 = e.x2 + LANE_LABEL_W;\n const cp1x = x1 + (x2 - x1) * 0.5;\n const cp2x = x1 + (x2 - x1) * 0.5;\n return (\n <path\n key={`${e.fromId}-${e.toId}`}\n d={`M${x1},${e.y1} C${cp1x},${e.y1} ${cp2x},${e.y2} ${x2},${e.y2}`}\n fill=\"none\"\n stroke={e.color}\n strokeWidth={1.5}\n strokeOpacity={0.55}\n />\n );\n })}\n </g>\n\n {/* ── Nodes ─────────────────────────────────────────────────────── */}\n <g className=\"dag-nodes\">\n {Array.from(nodes.values()).map((n) => {\n const cx = n.x + LANE_LABEL_W;\n const cy = n.y;\n const isSelected = n.id === selectedId;\n const isNew = n.kind === \"anchor\" && newAnchorIds.has(n.id);\n const color = n.color;\n const clickable = n.kind === \"anchor\";\n\n return (\n <g\n key={n.id}\n className={`dag-node ${n.kind} ${isSelected ? \"selected\" : \"\"} ${clickable ? \"clickable\" : \"\"} ${isNew ? \"dag-node--new\" : \"\"}`}\n onClick={() => handleNodeClick(n)}\n tabIndex={clickable ? 0 : -1}\n role={clickable ? \"button\" : undefined}\n aria-label={n.kind === \"anchor\"\n ? `Merge anchor ${n.id.slice(2, 8)} on ${n.branch}`\n : `Commit ${n.id.slice(0, 8)} on ${n.branch}`}\n onKeyDown={(e) => { if (e.key === \"Enter\") handleNodeClick(n); }}\n >\n {n.kind === \"anchor\" ? (\n <>\n {isNew && <path d={diamond(cx, cy, NODE_R + 6)} fill={color} opacity={0.2} filter=\"url(#glow)\" />}\n <path\n d={diamond(cx, cy, NODE_R + (isSelected ? 3 : 0))}\n fill={isSelected ? color : \"var(--bg-elevated)\"}\n stroke={color}\n strokeWidth={isSelected ? 2.5 : 1.5}\n />\n <title>{`Merge anchor · ${n.branch} · ${new Date(n.ts_ms).toLocaleString()}`}</title>\n </>\n ) : (\n <>\n <circle\n cx={cx} cy={cy}\n r={NODE_R - 3}\n fill={color}\n opacity={0.75}\n />\n <title>{`Commit ${n.id.slice(0, 8)} · ${n.branch} · ${n.commit?.message ?? \"\"}`}</title>\n </>\n )}\n </g>\n );\n })}\n </g>\n\n {/* ── Empty state ───────────────────────────────────────────────── */}\n {nodes.size === 0 && (\n <text\n x={totalW / 2} y={height / 2}\n textAnchor=\"middle\" dominantBaseline=\"middle\"\n className=\"dag-empty-text\"\n >\n No history yet\n </text>\n )}\n </svg>\n </div>\n );\n}\n","/**\n * Materialized memory facts per branch.\n *\n * In production this would be hydrated by calling mem.materialize() / mem.recall()\n * via the @memfork/core SDK. For now it's populated by the demo seed and\n * overwritten when a live connection replaces it.\n */\n\nimport { create } from \"zustand\";\n\nexport interface MemoryFact {\n /** Stable unique key (content hash) — used for React keys and LWW dedup. */\n key: string;\n /** Human-readable content */\n content: string;\n /** Human topic the fact is grouped under, e.g. \"Setup & Provisioning\". */\n category?: string;\n /** Short commit ID that introduced this fact */\n introduced_by: string;\n /** Full commit ID */\n introduced_by_id: string;\n /** Branch it lives on */\n branch: string;\n /** ms timestamp of the introducing commit */\n ts_ms: number;\n}\n\ninterface MemoryState {\n /** branch name → facts list */\n facts: Map<string, MemoryFact[]>;\n setFacts: (branch: string, facts: MemoryFact[]) => void;\n allFacts: (branch: string | null) => MemoryFact[];\n reset: () => void;\n}\n\nexport const useMemoryStore = create<MemoryState>((set, get) => ({\n facts: new Map(),\n\n setFacts(branch, facts) {\n const next = new Map(get().facts);\n next.set(branch, facts);\n set({ facts: next });\n },\n\n allFacts(branch) {\n const { facts } = get();\n if (branch) return facts.get(branch) ?? [];\n // Merge all branches — last-write-wins by key.\n const merged = new Map<string, MemoryFact>();\n for (const list of facts.values()) {\n for (const f of list) merged.set(f.key, f);\n }\n return Array.from(merged.values()).sort((a, b) => a.key.localeCompare(b.key));\n },\n\n reset() { set({ facts: new Map() }); },\n}));\n","/**\n * TimeScrubber — a horizontal range slider that scrubs through the off-chain\n * commit history of the active branch.\n *\n * - Dragging the thumb shows memory state as-of that commit (time-travel).\n * - Sliding to the rightmost position restores the live/tip view.\n * - The selected commit's timestamp and message are shown as a label.\n */\n\nimport type { OffChainCommit } from \"../sui/types.js\";\nimport \"./TimeScrubber.css\";\n\ninterface TimeScrubberProps {\n /** Total number of commits on this branch. */\n total: number;\n /** Currently selected index (null = live/tip). */\n current: number | null;\n /** Called when the user moves the thumb. null = live. */\n onChange: (idx: number | null) => void;\n /** Ordered commits oldest-first (used for the label). */\n commits: OffChainCommit[];\n /** Whether the panel is visible. When false nothing is rendered. */\n open: boolean;\n}\n\nfunction absTime(ms: number): string {\n return new Date(ms).toLocaleString(undefined, {\n month: \"short\", day: \"numeric\",\n hour: \"2-digit\", minute: \"2-digit\",\n });\n}\n\nexport default function TimeScrubber({\n total,\n current,\n onChange,\n commits,\n open,\n}: TimeScrubberProps) {\n if (!open) return null;\n // Slider value: 0..total. `total` means \"live tip\".\n const sliderVal = current === null ? total : current;\n const isLive = current === null;\n const fillPct = total > 0 ? (sliderVal / total) * 100 : 100;\n\n const commit = !isLive && commits[current ?? 0] ? commits[current!] : null;\n\n const label = isLive\n ? \"Live\"\n : commit\n ? `${absTime(commit.ts_ms)} · ${commit.message.slice(0, 60)}`\n : `commit ${sliderVal + 1} of ${total}`;\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n const val = Number(e.target.value);\n onChange(val >= total ? null : val);\n }\n\n return (\n <div className=\"time-scrubber\" role=\"group\" aria-label=\"Time-travel scrubber\">\n <div className=\"time-scrubber-track-row\">\n <span className=\"time-scrubber-past-label\">oldest</span>\n <input\n type=\"range\"\n className=\"time-scrubber-input\"\n min={0}\n max={total}\n step={1}\n value={sliderVal}\n onChange={handleChange}\n aria-label=\"Scrub to a point in history\"\n style={{ [\"--fill-pct\" as string]: String(fillPct) }}\n />\n <span className={`time-scrubber-live-label ${isLive ? \"active\" : \"\"}`}>live</span>\n </div>\n <div className={`time-scrubber-label ${isLive ? \"time-scrubber-label--live\" : \"\"}`}>\n {isLive ? (\n <>\n <span className=\"time-scrubber-live-dot\" aria-hidden />\n Showing live tip\n </>\n ) : (\n <>\n <span className=\"time-scrubber-at-glyph\" aria-hidden>◷</span>\n {label}\n </>\n )}\n </div>\n </div>\n );\n}\n","/**\n * MemoryView — default landing surface.\n *\n * Shows the materialized memory facts for the active branch (or all branches\n * merged LWW when no filter is active). Facts are grouped by their top-level\n * path prefix, searchable, and each links back to the introducing commit.\n */\n\nimport { useMemo, useState, useCallback } from \"react\";\nimport { useMemoryStore, type MemoryFact } from \"../../state/memoryStore.js\";\nimport { useUiStore } from \"../../state/uiStore.js\";\nimport { useDagStore } from \"../../state/dagStore.js\";\nimport TimeScrubber from \"../../components/TimeScrubber.js\";\nimport \"./MemoryView.css\";\n\nfunction relTime(ms: number): string {\n const diff = Date.now() - ms;\n const d = Math.floor(diff / 86_400_000);\n if (d === 0) return \"today\";\n if (d === 1) return \"yesterday\";\n if (d < 30) return `${d}d ago`;\n return `${Math.floor(d / 30)}mo ago`;\n}\n\nexport default function MemoryView() {\n const activeBranch = useUiStore((s) => s.activeBranch);\n const openAnchor = useUiStore((s) => s.openAnchor);\n const openCommit = useUiStore((s) => s.openCommit);\n const mergeAnchors = useDagStore((s) => s.mergeAnchors);\n const offChainCommits = useDagStore((s) => s.offChainCommits);\n const orderedCommits = useDagStore((s) => s.orderedCommits);\n const timeTravelIdx = useUiStore((s) => s.timeTravelIdx);\n const setTimeTravel = useUiStore((s) => s.setTimeTravel);\n // Subscribe to the facts map itself so we re-render when the store hydrates.\n const factsByBranch = useMemoryStore((s) => s.facts);\n\n const [query, setQuery] = useState(\"\");\n const [scrubberOpen, setScrubberOpen] = useState(false);\n const toggleScrubber = useCallback(() => setScrubberOpen((v) => !v), []);\n\n // Commits for the active branch (or all), oldest-first — used by the scrubber.\n const branchCommits = useMemo(\n () => orderedCommits.filter((c) => !activeBranch || c.branch === activeBranch),\n [orderedCommits, activeBranch],\n );\n\n const allFacts = useMemo(() => {\n if (activeBranch) return factsByBranch.get(activeBranch) ?? [];\n const merged = new Map<string, MemoryFact>();\n for (const list of factsByBranch.values()) {\n for (const f of list) merged.set(f.key, f);\n }\n return Array.from(merged.values()).sort((a, b) => a.key.localeCompare(b.key));\n }, [activeBranch, factsByBranch]);\n\n // Time-travel: when scrubbing, show only facts introduced up to cutIdx.\n const facts = useMemo(() => {\n if (timeTravelIdx === null) return allFacts;\n const cutCommit = branchCommits[timeTravelIdx];\n if (!cutCommit) return allFacts;\n const cutMs = cutCommit.ts_ms;\n return allFacts.filter((f) => f.ts_ms <= cutMs);\n }, [allFacts, timeTravelIdx, branchCommits]);\n\n const filtered = useMemo(() => {\n if (!query.trim()) return facts;\n const q = query.toLowerCase();\n return facts.filter(\n (f) =>\n f.content.toLowerCase().includes(q) ||\n (f.category ?? \"\").toLowerCase().includes(q) ||\n f.branch.toLowerCase().includes(q),\n );\n }, [facts, query]);\n\n // Group by human topic category; sort groups by size (richest first), then\n // alphabetically, with \"General\" always pinned to the bottom.\n const groups = useMemo(() => {\n const map = new Map<string, typeof filtered>();\n for (const f of filtered) {\n const cat = f.category ?? \"General\";\n const list = map.get(cat) ?? [];\n list.push(f);\n map.set(cat, list);\n }\n // Newest fact first within each group.\n for (const list of map.values()) list.sort((a, b) => b.ts_ms - a.ts_ms);\n return Array.from(map.entries()).sort(([a, la], [b, lb]) => {\n if (a === \"General\") return 1;\n if (b === \"General\") return -1;\n if (lb.length !== la.length) return lb.length - la.length;\n return a.localeCompare(b);\n });\n }, [filtered]);\n\n function handleFactClick(blobId: string) {\n // Prefer opening the off-chain commit drawer — most facts are introduced\n // by a regular memfork commit, not a merge anchor.\n const commit = offChainCommits.get(blobId);\n if (commit) { openCommit(commit); return; }\n // Fallback: find the merge anchor whose resolved blob or parent tip matches.\n const anchor = Array.from(mergeAnchors.values()).find(\n (a) => a.resolved_blob_id === blobId || a.parents.includes(blobId),\n );\n if (anchor) openAnchor(anchor);\n }\n\n const totalCount = facts.length;\n const branchLabel = activeBranch ?? \"all branches\";\n\n return (\n <div className=\"memory-view\">\n {/* Search bar */}\n <div className=\"memory-search-row\">\n <div className=\"memory-search-wrap\">\n <svg className=\"memory-search-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\">\n <circle cx=\"6.5\" cy=\"6.5\" r=\"5\" />\n <line x1=\"10.5\" y1=\"10.5\" x2=\"14\" y2=\"14\" />\n </svg>\n <input\n className=\"memory-search\"\n type=\"text\"\n placeholder=\"Search memories…\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n spellCheck={false}\n />\n {query && (\n <button className=\"memory-search-clear\" onClick={() => setQuery(\"\")} aria-label=\"Clear search\">×</button>\n )}\n </div>\n <span className=\"memory-count-label\">\n {totalCount} fact{totalCount !== 1 ? \"s\" : \"\"} · {branchLabel}\n </span>\n {branchCommits.length > 1 && (\n <button\n className={`memory-tt-btn${scrubberOpen ? \" open\" : \"\"}${timeTravelIdx !== null ? \" active\" : \"\"}`}\n onClick={toggleScrubber}\n title=\"Time-travel · view memory at any point in history\"\n aria-label=\"Toggle time-travel scrubber\"\n aria-pressed={scrubberOpen}\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.7\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"6\" />\n <polyline points=\"8,4.5 8,8.5 10.5,10\" />\n <path d=\"M4.5 2.5 A6 6 0 0 0 2 8\" strokeWidth=\"1.5\" />\n <polyline points=\"3,2 4.5,2.5 4,4\" />\n </svg>\n {timeTravelIdx !== null && (\n <span className=\"memory-tt-badge\" aria-hidden=\"true\" />\n )}\n </button>\n )}\n </div>\n\n {/* Time-travel scrubber */}\n {branchCommits.length > 1 && (\n <TimeScrubber\n total={branchCommits.length}\n current={timeTravelIdx}\n onChange={setTimeTravel}\n commits={branchCommits}\n open={scrubberOpen}\n />\n )}\n\n {/* Empty state */}\n {groups.length === 0 && (\n <div className=\"memory-empty\">\n {query\n ? <p>No facts match <strong>\"{query}\"</strong>.</p>\n : <p>No memory facts yet on <strong>{branchLabel}</strong>.</p>\n }\n </div>\n )}\n\n {/* Fact groups */}\n <div className=\"memory-groups\">\n {groups.map(([category, groupFacts]) => (\n <section key={category} className=\"memory-group\">\n <header\n className=\"memory-group-header\"\n title={`${groupFacts.length} fact${groupFacts.length === 1 ? \"\" : \"s\"} about ${category}`}\n >\n <span className=\"memory-group-name\">{category}</span>\n <span className=\"memory-group-count\">\n {groupFacts.length} {groupFacts.length === 1 ? \"fact\" : \"facts\"}\n </span>\n </header>\n <ul className=\"memory-fact-list\">\n {groupFacts.map((fact) => (\n <li\n key={fact.key}\n role=\"button\"\n tabIndex={0}\n className=\"memory-fact-row\"\n onClick={() => handleFactClick(fact.introduced_by_id)}\n onKeyDown={(e) => (e.key === \"Enter\" || e.key === \" \") && handleFactClick(fact.introduced_by_id)}\n title={`${fact.branch} · commit ${fact.introduced_by}`}\n >\n <p className=\"memory-fact-content\">{fact.content}</p>\n <div className=\"memory-fact-meta-row\">\n {!activeBranch && (\n <span className=\"memory-fact-branch\">{fact.branch}</span>\n )}\n <span className=\"memory-fact-blob\">#{fact.introduced_by}</span>\n <span className=\"memory-fact-time\">{relTime(fact.ts_ms)}</span>\n </div>\n </li>\n ))}\n </ul>\n </section>\n ))}\n </div>\n </div>\n );\n}\n","/**\n * HistoryView — unified timeline of off-chain commits, on-chain fork events,\n * and on-chain merge anchors.\n *\n * Three row types:\n * commit — off-chain Walrus blob (author, tool badge, branch pill)\n * fork — on-chain BranchCreated event (⑂ glyph, source branch)\n * anchor — on-chain MergeFinalized (◈ diamond node, jury/resolver summary)\n *\n * The visual rhythm between light commit rows and heavier on-chain rows teaches\n * the Model A architecture — cheap fast memories, anchored settlements — without\n * any voiceover.\n */\n\nimport { useMemo, useState } from \"react\";\nimport { useDagStore } from \"../../state/dagStore.js\";\nimport { useUiStore } from \"../../state/uiStore.js\";\nimport { branchTone } from \"../../ui/branch.js\";\nimport type { OffChainCommit, MergeAnchor, MemoryBranch } from \"../../sui/types.js\";\nimport TimeScrubber from \"../../components/TimeScrubber.js\";\nimport \"./HistoryView.css\";\n\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\ntype TimelineEntry =\n | { kind: \"commit\"; item: OffChainCommit }\n | { kind: \"fork\"; item: MemoryBranch }\n | { kind: \"anchor\"; item: MergeAnchor };\n\n// ─── Helpers ──────────────────────────────────────────────────────────────────\n\nfunction relTime(ms: number): string {\n const diff = Date.now() - ms;\n const s = Math.floor(diff / 1_000);\n if (s < 60) return `${s}s ago`;\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n return `${Math.floor(d / 30)}mo ago`;\n}\n\nfunction absTime(ms: number): string {\n return new Date(ms).toLocaleString(undefined, {\n month: \"short\", day: \"numeric\", hour: \"2-digit\", minute: \"2-digit\",\n });\n}\n\nconst TOOL_LABEL: Record<string, string> = {\n codex: \"Codex\",\n cursor: \"Cursor\",\n sdk: \"SDK\",\n};\n\n// ─── Gutter ───────────────────────────────────────────────────────────────────\n\ninterface GutterProps {\n nodeClass: string;\n hideTop: boolean;\n hideBot: boolean;\n}\n\nfunction Gutter({ nodeClass, hideTop, hideBot }: GutterProps) {\n return (\n <div className=\"history-gutter\" aria-hidden>\n <span className=\"history-line history-line-top\"\n style={{ visibility: hideTop ? \"hidden\" : \"visible\" }} />\n <span className={`history-node ${nodeClass}`} />\n <span className=\"history-line history-line-bottom\"\n style={{ visibility: hideBot ? \"hidden\" : \"visible\" }} />\n </div>\n );\n}\n\n// ─── Row components ───────────────────────────────────────────────────────────\n\nfunction CommitRow({ commit, isFirst, isLast, showBranch, onOpen, isSelected }: {\n commit: OffChainCommit;\n isFirst: boolean;\n isLast: boolean;\n showBranch: boolean;\n onOpen: () => void;\n isSelected: boolean;\n}) {\n const tool = commit.tool ? TOOL_LABEL[commit.tool] : null;\n const tooltip = [\n absTime(commit.ts_ms),\n `blob ${commit.blob_id.slice(0, 12)}…`,\n tool && `via ${tool}`,\n ].filter(Boolean).join(\"\\n\");\n\n return (\n <li\n role=\"button\"\n tabIndex={0}\n aria-pressed={isSelected}\n className={`history-row history-row--commit${isSelected ? \" selected\" : \"\"}`}\n title={tooltip}\n onClick={onOpen}\n onKeyDown={(e) => (e.key === \"Enter\" || e.key === \" \") && onOpen()}\n >\n <Gutter\n nodeClass={`branch-${branchTone(commit.branch)}`}\n hideTop={isFirst}\n hideBot={isLast}\n />\n <div className=\"history-content\">\n <div className=\"history-top-row\">\n <span className=\"history-message\">{commit.message}</span>\n {commit.artifacts && commit.artifacts.length > 0 && (\n <span\n className=\"chip muted\"\n title={`${commit.artifacts.length} artifact${commit.artifacts.length > 1 ? \"s\" : \"\"} attached`}\n style={{ marginLeft: \"auto\", flexShrink: 0 }}\n >\n 📎 {commit.artifacts.length}\n </span>\n )}\n </div>\n <div className=\"history-meta-row\">\n {commit.author && (\n <>\n <span className=\"history-author\">{commit.author}</span>\n <span className=\"history-sep\" aria-hidden>·</span>\n </>\n )}\n {showBranch && (\n <>\n <span className={`chip ${branchTone(commit.branch)}`}>{commit.branch}</span>\n <span className=\"history-sep\" aria-hidden>·</span>\n </>\n )}\n <span className=\"history-time\">{relTime(commit.ts_ms)}</span>\n </div>\n </div>\n </li>\n );\n}\n\nfunction ForkRow({ branch, isFirst, isLast, isNew }: {\n branch: MemoryBranch;\n isFirst: boolean;\n isLast: boolean;\n isNew: boolean;\n}) {\n const tooltip = [\n absTime(branch.ts_ms),\n branch.tx_digest && `tx ${branch.tx_digest.slice(0, 16)}…`,\n ].filter(Boolean).join(\"\\n\");\n\n return (\n <li\n className={`history-row history-row--fork${isNew ? \" is-new\" : \"\"}`}\n title={tooltip}\n >\n <Gutter\n nodeClass={`history-node--fork branch-${branchTone(branch.name)}`}\n hideTop={isFirst}\n hideBot={isLast}\n />\n <div className=\"history-content\">\n <div className=\"history-top-row history-fork-top\">\n <span className=\"history-fork-glyph\" aria-hidden>⑂</span>\n <span className=\"history-fork-label\">\n <strong>{branch.name}</strong> forked from <strong>{branch.from_branch}</strong>\n </span>\n <span className=\"history-flex-spacer\" />\n {branch.tx_digest && <span className=\"history-onchain-glyph\" title=\"on-chain\">◈</span>}\n <span className=\"history-time\">{relTime(branch.ts_ms)}</span>\n </div>\n </div>\n </li>\n );\n}\n\nfunction AnchorRow({ anchor, proposal, isFirst, isLast, isSelected, isNew, onOpen }: {\n anchor: MergeAnchor;\n proposal: ReturnType<typeof import(\"../../state/dagStore.js\").useDagStore.getState>[\"proposals\"][\"get\"] extends (k: string) => infer R ? R : never;\n isFirst: boolean;\n isLast: boolean;\n isSelected: boolean;\n isNew: boolean;\n onOpen: () => void;\n}) {\n const intoBranch = anchor.branch;\n const attestCount = proposal?.attestations.length ?? 0;\n const resolverLabel = proposal?.resolver_label ?? null;\n\n return (\n <li\n role=\"button\"\n tabIndex={0}\n aria-pressed={isSelected}\n className={`history-row history-row--anchor${isSelected ? \" selected\" : \"\"}${isNew ? \" is-new\" : \"\"}`}\n onClick={onOpen}\n onKeyDown={(e) => (e.key === \"Enter\" || e.key === \" \") && onOpen()}\n title={`${absTime(anchor.ts_ms)}\\nanchor ${anchor.id.slice(0, 16)}…`}\n >\n <Gutter\n nodeClass=\"history-node--anchor merge\"\n hideTop={isFirst}\n hideBot={isLast}\n />\n <div className=\"history-content\">\n <div className=\"history-top-row\">\n <span className=\"history-onchain-glyph history-onchain-glyph--anchor\" aria-hidden>◈</span>\n <span className=\"history-message\">\n merged{\" \"}\n {proposal\n ? <>\n <strong>{proposal.from_branch}</strong> → <strong>{intoBranch}</strong>\n </>\n : <strong>{intoBranch}</strong>}\n </span>\n </div>\n <div className=\"history-meta-row\">\n {resolverLabel && (\n <>\n <span className=\"history-resolver-label\">{resolverLabel}</span>\n <span className=\"history-sep\" aria-hidden>·</span>\n </>\n )}\n {attestCount > 0 && (\n <>\n <span className=\"history-parents-hint\">{attestCount} attest.</span>\n <span className=\"history-sep\" aria-hidden>·</span>\n </>\n )}\n <span className=\"history-time\">{relTime(anchor.ts_ms)}</span>\n </div>\n </div>\n </li>\n );\n}\n\n// ─── Main component ───────────────────────────────────────────────────────────\n\nexport default function HistoryView() {\n const orderedCommits = useDagStore((s) => s.orderedCommits);\n const orderedAnchors = useDagStore((s) => s.orderedAnchors);\n const orderedBranches = useDagStore((s) => s.orderedBranches);\n const proposals = useDagStore((s) => s.proposals);\n const newAnchorIds = useDagStore((s) => s.newAnchorIds);\n const newBranchIds = useDagStore((s) => s.newBranchIds);\n\n const activeBranch = useUiStore((s) => s.activeBranch);\n const panel = useUiStore((s) => s.panel);\n const openAnchor = useUiStore((s) => s.openAnchor);\n const openCommit = useUiStore((s) => s.openCommit);\n const replayActive = useUiStore((s) => s.replayActive);\n const replayIndex = useUiStore((s) => s.replayIndex);\n const timeTravelIdx = useUiStore((s) => s.timeTravelIdx);\n const setTimeTravel = useUiStore((s) => s.setTimeTravel);\n\n const [scrubberOpen, setScrubberOpen] = useState(false);\n\n const selectedAnchorId = panel?.kind === \"anchor\" ? panel.anchor.id : null;\n const selectedBlobId = panel?.kind === \"commit\" ? panel.commit.blob_id : null;\n\n const timeline = useMemo((): TimelineEntry[] => {\n // Off-chain commits — filter by active branch\n const commits: TimelineEntry[] = orderedCommits\n .filter((c) => !activeBranch || c.branch === activeBranch)\n .map((c) => ({ kind: \"commit\", item: c }));\n\n // Fork events — skip genesis (from_branch === \"\"); show creation of active branch\n const forks: TimelineEntry[] = orderedBranches\n .filter((b) => b.from_branch !== \"\")\n .filter((b) => !activeBranch || b.name === activeBranch)\n .map((b) => ({ kind: \"fork\", item: b }));\n\n // On-chain merge anchors\n const anchors: TimelineEntry[] = orderedAnchors\n .filter((a) => !activeBranch || a.branch === activeBranch)\n .map((a) => ({ kind: \"anchor\", item: a }));\n\n const merged = [...commits, ...forks, ...anchors]\n .sort((a, b) => a.item.ts_ms - b.item.ts_ms);\n\n // Time-travel cuts the commit-only portion; forks and anchors always show.\n const cutIdx = timeTravelIdx;\n const commits_sorted = merged.filter((e) => e.kind === \"commit\");\n const others_sorted = merged.filter((e) => e.kind !== \"commit\");\n\n let visible: TimelineEntry[];\n if (cutIdx !== null) {\n // Show only commits up to and including cutIdx, plus all forks/anchors.\n const visibleCommits = commits_sorted.slice(0, cutIdx + 1);\n visible = [...visibleCommits, ...others_sorted]\n .sort((a, b) => a.item.ts_ms - b.item.ts_ms);\n } else {\n visible = merged;\n }\n\n const sliced = replayActive ? visible.slice(0, replayIndex) : visible;\n return [...sliced].reverse();\n }, [\n orderedCommits,\n orderedBranches,\n orderedAnchors,\n activeBranch,\n replayActive,\n replayIndex,\n timeTravelIdx,\n ]);\n\n if (timeline.length === 0) {\n return (\n <div className=\"history-empty\">\n <p>No history{activeBranch ? ` on ${activeBranch}` : \"\"}.</p>\n <p className=\"history-empty-sub\">\n Commits appear when loaded via <code>memfork ui</code>.\n Branch forks and merge settlements appear live from on-chain events.\n </p>\n </div>\n );\n }\n\n const commitCount = timeline.filter((e) => e.kind === \"commit\").length;\n const forkCount = timeline.filter((e) => e.kind === \"fork\").length;\n const anchorCount = timeline.filter((e) => e.kind === \"anchor\").length;\n\n const summaryParts: string[] = [];\n if (commitCount) summaryParts.push(`${commitCount} commit${commitCount !== 1 ? \"s\" : \"\"}`);\n if (forkCount) summaryParts.push(`${forkCount} fork${forkCount !== 1 ? \"s\" : \"\"}`);\n if (anchorCount) summaryParts.push(`${anchorCount} merge${anchorCount !== 1 ? \"s\" : \"\"}`);\n\n const totalCommits = orderedCommits\n .filter((c) => !activeBranch || c.branch === activeBranch).length;\n\n const branchCommitsForScrubber = orderedCommits.filter(\n (c) => !activeBranch || c.branch === activeBranch,\n );\n\n return (\n <div className=\"history-view\">\n <div className=\"history-header\">\n <span className=\"history-header-count\">{summaryParts.join(\" · \")}</span>\n {activeBranch && (\n <span className={`chip ${branchTone(activeBranch)}`}>\n {activeBranch}\n </span>\n )}\n {totalCommits > 1 && (\n <button\n className={`history-tt-btn${scrubberOpen ? \" open\" : \"\"}${timeTravelIdx !== null ? \" active\" : \"\"}`}\n onClick={() => setScrubberOpen((v) => !v)}\n title=\"Time-travel · view memory at any point in history\"\n aria-label=\"Toggle time-travel scrubber\"\n aria-pressed={scrubberOpen}\n >\n {/* Clock with counterclockwise arrow */}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.7\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"6\" />\n <polyline points=\"8,4.5 8,8.5 10.5,10\" />\n <path d=\"M4.5 2.5 A6 6 0 0 0 2 8\" strokeWidth=\"1.5\" />\n <polyline points=\"3,2 4.5,2.5 4,4\" />\n </svg>\n {timeTravelIdx !== null && (\n <span className=\"history-tt-badge\" aria-hidden=\"true\" />\n )}\n </button>\n )}\n </div>\n {totalCommits > 1 && (\n <TimeScrubber\n total={totalCommits}\n current={timeTravelIdx}\n onChange={setTimeTravel}\n commits={branchCommitsForScrubber}\n open={scrubberOpen}\n />\n )}\n\n <ul className=\"history-list\" role=\"list\" aria-label=\"Branch history\">\n {timeline.map((entry, i) => {\n const isFirst = i === 0;\n const isLast = i === timeline.length - 1;\n\n if (entry.kind === \"commit\") {\n return (\n <CommitRow\n key={entry.item.blob_id}\n commit={entry.item}\n isFirst={isFirst}\n isLast={isLast}\n showBranch={!activeBranch}\n isSelected={entry.item.blob_id === selectedBlobId}\n onOpen={() => openCommit(entry.item)}\n />\n );\n }\n\n if (entry.kind === \"fork\") {\n return (\n <ForkRow\n key={`fork-${entry.item.name}`}\n branch={entry.item}\n isFirst={isFirst}\n isLast={isLast}\n isNew={newBranchIds.has(entry.item.name)}\n />\n );\n }\n\n // anchor\n const a = entry.item;\n return (\n <AnchorRow\n key={a.id}\n anchor={a}\n proposal={proposals.get(a.proposal_id)}\n isFirst={isFirst}\n isLast={isLast}\n isSelected={a.id === selectedAnchorId}\n isNew={newAnchorIds.has(a.id)}\n onOpen={() => openAnchor(a)}\n />\n );\n })}\n </ul>\n </div>\n );\n}\n","/**\n * MergesView — the Merges tab.\n *\n * Three sections:\n * Active — pending proposals rendered as live ceremony cards\n * Settled — finalized/aborted proposals as compact history rows\n * Graveyard — branches that lost a merge; still queryable\n *\n * The ceremony card is the signature component: branch heads side-by-side,\n * attestation rows arriving live (pulse → green), threshold fill bar, Sui tx links.\n */\n\nimport { useMemo } from \"react\";\nimport { useDagStore } from \"../../state/dagStore.js\";\nimport { useUiStore } from \"../../state/uiStore.js\";\nimport { branchTone } from \"../../ui/branch.js\";\nimport type {\n MergeProposal,\n AttestationRecord,\n JuryJudge,\n MemoryBranch,\n} from \"../../sui/types.js\";\nimport \"./MergesView.css\";\n\n// ─── Helpers ──────────────────────────────────────────────────────────────────\n\nfunction relTime(ms: number): string {\n const diff = Date.now() - ms;\n const s = Math.floor(diff / 1_000);\n if (s < 60) return `${s}s ago`;\n const m = Math.floor(s / 60);\n if (m < 60) return `${m}m ago`;\n const h = Math.floor(m / 60);\n if (h < 24) return `${h}h ago`;\n const d = Math.floor(h / 24);\n if (d < 30) return `${d}d ago`;\n return `${Math.floor(d / 30)}mo ago`;\n}\n\nfunction countdown(ms: number): string {\n const diff = ms - Date.now();\n if (diff <= 0) return \"expired\";\n const h = Math.floor(diff / 3_600_000);\n const m = Math.floor((diff % 3_600_000) / 60_000);\n if (h > 0) return `${h}h ${m}m`;\n return `${m}m`;\n}\n\n// ─── Attestation row ──────────────────────────────────────────────────────────\n\nfunction AttestRow({ attest }: { attest: AttestationRecord }) {\n const label = attest.label ?? attest.signer.slice(0, 10) + \"…\";\n const tooltip = [\n attest.sig_verified !== false && \"Ed25519 sig verified on-chain\",\n attest.tx_digest && `tx ${attest.tx_digest.slice(0, 16)}…`,\n ].filter(Boolean).join(\"\\n\");\n\n return (\n <li className=\"ceremony-attest-row ceremony-attest-row--cast\" title={tooltip}>\n <span className=\"ceremony-attest-check\" aria-label=\"attested\">✓</span>\n <span className=\"ceremony-attest-label\">{label}</span>\n {attest.model && <span className=\"ceremony-attest-model\">{attest.model}</span>}\n {attest.vote && (\n <span className=\"ceremony-attest-vote-text\">voted {attest.vote}</span>\n )}\n <span className=\"ceremony-attest-time-spacer\" />\n <span className=\"ceremony-attest-reltime\">{relTime(attest.ts_ms)}</span>\n </li>\n );\n}\n\nfunction PendingJudgeRow({ judge }: { judge: JuryJudge }) {\n return (\n <li className=\"ceremony-attest-row ceremony-attest-row--pending\">\n <span className=\"ceremony-attest-pulse\" aria-label=\"waiting\" />\n <span className=\"ceremony-attest-label\">{judge.label}</span>\n <span className=\"ceremony-attest-model\">{judge.model}</span>\n <span className=\"ceremony-attest-voting\">voting…</span>\n </li>\n );\n}\n\n// ─── Threshold bar ────────────────────────────────────────────────────────────\n\nfunction ThresholdBar({\n attestCount,\n threshold,\n total,\n}: {\n attestCount: number;\n threshold: number;\n total: number;\n}) {\n const pct = Math.min(attestCount / threshold, 1) * 100;\n return (\n <div className=\"ceremony-threshold\">\n <div className=\"ceremony-threshold-bar\">\n <div\n className=\"ceremony-threshold-fill\"\n style={{ width: `${pct}%` }}\n />\n </div>\n <span className=\"ceremony-threshold-label\">\n {attestCount} of {threshold} required\n {total > threshold && ` (${total} judges)`}\n <span className=\"ceremony-threshold-note\"> · enforced by Move ◈</span>\n </span>\n </div>\n );\n}\n\n// ─── LWW card (self-finalizing, no jury) ─────────────────────────────────────\n\nfunction LwwCard({ proposal }: { proposal: MergeProposal }) {\n const expiresIn = countdown(proposal.expires_at_ms ?? 0);\n const isExpiring = (proposal.expires_at_ms ?? 0) - Date.now() < 30 * 60 * 1000;\n\n return (\n <div className=\"ceremony-card ceremony-card--lww\">\n <div className=\"ceremony-header\">\n <div className=\"ceremony-header-left\">\n <span className=\"ceremony-icon\" aria-hidden>⚡</span>\n <span className=\"ceremony-route-text\">\n <strong>{proposal.from_branch}</strong>\n <span className=\"ceremony-arrow\">→</span>\n <strong>{proposal.into_branch}</strong>\n </span>\n <span className=\"ceremony-resolver-label\">LWW — self-finalizing…</span>\n </div>\n <div className=\"ceremony-header-right\">\n <span className={`ceremony-expiry${isExpiring ? \" ceremony-expiry--warn\" : \"\"}`}>\n expires in {expiresIn}\n </span>\n </div>\n </div>\n <p className=\"ceremony-lww-note\">\n No attestations required · last-write-wins resolver · finalizes automatically\n </p>\n </div>\n );\n}\n\n// ─── Active ceremony card ─────────────────────────────────────────────────────\n\nfunction CeremonyCard({ proposal }: { proposal: MergeProposal }) {\n const judges = proposal.jury_judges ?? [];\n const threshold = proposal.jury_threshold ?? judges.length;\n const attested = proposal.attestations;\n\n // Determine which judges have voted and which are still pending\n const attestedAddrs = new Set(attested.map((a) => a.signer));\n const pendingJudges = judges.filter((j) => !attestedAddrs.has(j.address));\n\n const expiresIn = countdown(proposal.expires_at_ms ?? 0);\n const isExpiring = (proposal.expires_at_ms ?? 0) - Date.now() < 30 * 60 * 1000;\n\n return (\n <div className=\"ceremony-card\">\n {/* Card header */}\n <div className=\"ceremony-header\">\n <div className=\"ceremony-header-left\">\n <span className=\"ceremony-icon\" aria-hidden>⚖</span>\n <span className=\"ceremony-route-text\">\n <strong>{proposal.from_branch}</strong>\n <span className=\"ceremony-arrow\">→</span>\n <strong>{proposal.into_branch}</strong>\n </span>\n {proposal.resolver_label && (\n <span className=\"ceremony-resolver-label\">{proposal.resolver_label}</span>\n )}\n </div>\n <div className=\"ceremony-header-right\">\n <span className={`ceremony-expiry${isExpiring ? \" ceremony-expiry--warn\" : \"\"}`}>\n expires in {expiresIn}\n </span>\n </div>\n </div>\n\n {/* Attestation rows */}\n <ul className=\"ceremony-attests\" aria-label=\"Attestations\">\n {attested.map((a, i) => (\n <AttestRow key={i} attest={a} />\n ))}\n {pendingJudges.map((j) => (\n <PendingJudgeRow key={j.address} judge={j} />\n ))}\n {/* If no judge config, just show arrived attestations */}\n {judges.length === 0 && attested.length === 0 && (\n <li className=\"ceremony-attests-empty\">Waiting for jury workers…</li>\n )}\n </ul>\n\n {/* Threshold bar */}\n <ThresholdBar\n attestCount={attested.length}\n threshold={threshold}\n total={judges.length || threshold}\n />\n </div>\n );\n}\n\n// ─── Settled row ──────────────────────────────────────────────────────────────\n\nfunction SettledRow({ proposal }: { proposal: MergeProposal }) {\n const openProposal = useUiStore((s) => s.openProposal);\n const attestCount = proposal.attestations.length;\n const isAborted = proposal.status === \"aborted\";\n\n return (\n <li\n role=\"button\"\n tabIndex={0}\n className={`settled-row${isAborted ? \" settled-row--rejected\" : \"\"}`}\n onClick={() => openProposal(proposal)}\n onKeyDown={(e) => (e.key === \"Enter\" || e.key === \" \") && openProposal(proposal)}\n >\n <div className=\"settled-row-left\">\n <span className={`settled-check${isAborted ? \" settled-check--rejected\" : \"\"}`} aria-label={isAborted ? \"rejected\" : \"finalized\"}>\n {isAborted ? \"✗\" : \"✓\"}\n </span>\n <span className=\"settled-route\">\n <strong>{proposal.from_branch}</strong>\n <span className=\"settled-arrow\" aria-hidden>→</span>\n <strong>{proposal.into_branch}</strong>\n </span>\n <span className={`chip ${isAborted ? \"red\" : \"green\"}`}>\n {isAborted ? \"REJECTED\" : \"MERGED\"}\n </span>\n {proposal.resolver_label && (\n <span className=\"settled-resolver\">{proposal.resolver_label}</span>\n )}\n {attestCount > 0 && (\n <span className=\"settled-resolver\">{attestCount} attest.</span>\n )}\n </div>\n <div className=\"settled-row-right\">\n <span className=\"settled-time\">{relTime(proposal.ts_ms)}</span>\n <span className=\"settled-view-hint\">view →</span>\n </div>\n </li>\n );\n}\n\n// ─── Graveyard row ────────────────────────────────────────────────────────────\n\nfunction GraveyardRow({ branch }: { branch: MemoryBranch }) {\n const setActiveBranch = useUiStore((s) => s.setActiveBranch);\n const setActiveView = useUiStore((s) => s.setActiveView);\n\n function handleAsk() {\n setActiveBranch(branch.name);\n setActiveView(\"history\");\n }\n\n return (\n <li className=\"graveyard-row\">\n <div className=\"graveyard-row-top\">\n <span className=\"graveyard-cross\" aria-hidden>✗</span>\n <span className={`chip ${branchTone(branch.name)}`}>{branch.name}</span>\n <span className=\"graveyard-time\">rejected {relTime(branch.ts_ms)}</span>\n <button className=\"graveyard-ask-btn\" onClick={handleAsk} title=\"Browse this branch\">\n ask it\n </button>\n </div>\n {branch.rejection_rationale && (\n <p className=\"graveyard-rationale\">{branch.rejection_rationale}</p>\n )}\n </li>\n );\n}\n\n// ─── Main view ────────────────────────────────────────────────────────────────\n\nexport default function MergesView() {\n const proposals = useDagStore((s) => s.proposals);\n const orderedBranches = useDagStore((s) => s.orderedBranches);\n\n const { pending, settled, graveyard } = useMemo(() => {\n const all = Array.from(proposals.values()).sort((a, b) => b.ts_ms - a.ts_ms);\n return {\n pending: all.filter((p) => p.status === \"pending\"),\n settled: all.filter((p) => p.status === \"finalized\" || p.status === \"aborted\"),\n graveyard: orderedBranches.filter((b) => b.is_graveyard),\n };\n }, [proposals, orderedBranches]);\n\n const isEmpty = pending.length === 0 && settled.length === 0 && graveyard.length === 0;\n\n if (isEmpty) {\n return (\n <div className=\"merges-empty\">\n <p>No merge proposals yet.</p>\n <p className=\"merges-empty-sub\">\n Proposals appear when <code>memfork merge</code> is run or{\" \"}\n <code>mem.proposeMerge()</code> is called from the SDK.\n </p>\n </div>\n );\n }\n\n return (\n <div className=\"merges-view\">\n {/* ── Active ceremonies ── */}\n {pending.length > 0 && (\n <section className=\"merges-section\">\n <header className=\"merges-section-header\">\n <span className=\"merges-section-title\">Active</span>\n <span className=\"chip orange\">{pending.length}</span>\n </header>\n <div className=\"merges-ceremonies\">\n {pending.map((p) =>\n p.resolver_label === \"LWW\"\n ? <LwwCard key={p.id} proposal={p} />\n : <CeremonyCard key={p.id} proposal={p} />,\n )}\n </div>\n </section>\n )}\n\n {/* ── Settled history ── */}\n {settled.length > 0 && (\n <section className=\"merges-section\">\n <header className=\"merges-section-header\">\n <span className=\"merges-section-title\">Settled</span>\n <span className=\"chip muted\">{settled.length}</span>\n </header>\n <ul className=\"merges-settled-list\">\n {settled.map((p) => (\n <SettledRow key={p.id} proposal={p} />\n ))}\n </ul>\n </section>\n )}\n\n {/* ── Graveyard ── */}\n {graveyard.length > 0 && (\n <section className=\"merges-section merges-section--graveyard\">\n <header className=\"merges-section-header\">\n <span className=\"merges-section-title\">Roads not taken</span>\n <span className=\"chip muted\">{graveyard.length}</span>\n </header>\n <p className=\"merges-graveyard-note\">\n These branches lost a merge vote. Their memory is still intact and queryable —\n they didn't disappear, they just didn't win.\n </p>\n <ul className=\"merges-graveyard-list\">\n {graveyard.map((b) => (\n <GraveyardRow key={b.name} branch={b} />\n ))}\n </ul>\n </section>\n )}\n </div>\n );\n}\n","/**\n * Demo seed — pre-populates the DAG store with a realistic 6-week history\n * so the visualizer is usable without a live Sui connection.\n *\n * Model A: regular commits are off-chain Walrus blobs (no CommitCreated events).\n * The demo seeds branches and merge anchors. Off-chain commit history is represented\n * by human-readable labels on merge anchors (the resolved blob content).\n *\n * Mirrors the showpiece setup described in DEMO.md:\n * - 8 branches, 5 merge settlements\n * - Jury(2,3) merge of dev/redis-first vs dev/bcrypt-first into main\n * - All branch heads advanced to resolved blob IDs\n */\n\nimport type {\n BranchCreatedEvent,\n MergeProposedEvent,\n AttestationSubmittedEvent,\n MergeFinalizedEvent,\n OffChainCommit,\n} from \"../sui/types.js\";\n\nconst TREE = \"0x099bb03595562bd4fdcb84dc60a330563ee55ca6d7b0808f048e1741795bc5be\";\nconst PACKAGE = \"0x080722f5b7025679aa17792a3b07ef9b875b4ad3cee7640ecf9b8b7abd5b5347\";\n\nconst ADDR_JURY_1 = \"0x9e4d2c8a1b57f3e06d29c84b7f1e53a2d08c6b95\";\nconst ADDR_JURY_2 = \"0x3b16e8f2c94a07d53e1b62f49c8a27b5e31d0e84\";\nconst ADDR_JURY_3 = \"0x6c83a4e1b92d75f08e34b17c6a50e2d49b8c3f21\";\n\n// Shared judge config used across Jury proposals\nconst JURY_JUDGES = [\n { address: ADDR_JURY_1, label: \"judge-1\", model: \"gpt-5\" },\n { address: ADDR_JURY_2, label: \"judge-2\", model: \"claude\" },\n { address: ADDR_JURY_3, label: \"judge-3\", model: \"gemini\" },\n];\n\nconst RESOLVER = \"0xd5a3b7e9c2f10864a83c5d2e7b94f1c63a07e582\";\n\n// Base timestamps — spread across ~6 weeks\nconst NOW = Date.now();\nconst DAY = 86_400_000;\nconst W6 = NOW - 42 * DAY;\n\nfunction ts(daysAgo: number, h = 10, m = 0): number {\n return W6 + (42 - daysAgo) * DAY + (h * 60 + m) * 60_000;\n}\n\nfunction id(hex: string): string { return `0x${hex}`; }\nfunction txd(suffix: string): string { return `${PACKAGE.slice(0, 10)}tx${suffix}`; }\n// Fake Walrus blob IDs (SHA-256-sized hex stubs for demo)\nfunction blob(suffix: string): string {\n return `${suffix.padEnd(56, \"0\")}blob`;\n}\n\n// ─── Branch events ────────────────────────────────────────────────────────────\n\nexport const DEMO_BRANCHES: BranchCreatedEvent[] = [\n { tree_id: TREE, branch: \"main\", from_branch: \"\", memwal_namespace: `memforks/${TREE}/main`, tx_digest: txd(\"b00\"), ts_ms: ts(42) },\n { tree_id: TREE, branch: \"feat/auth\", from_branch: \"main\", memwal_namespace: `memforks/${TREE}/feat/auth`, tx_digest: txd(\"b01\"), ts_ms: ts(38) },\n { tree_id: TREE, branch: \"feat/billing\", from_branch: \"main\", memwal_namespace: `memforks/${TREE}/feat/billing`, tx_digest: txd(\"b02\"), ts_ms: ts(30) },\n { tree_id: TREE, branch: \"feat/payments\", from_branch: \"main\", memwal_namespace: `memforks/${TREE}/feat/payments`, tx_digest: txd(\"b03\"), ts_ms: ts(20) },\n { tree_id: TREE, branch: \"hotfix/jwt\", from_branch: \"main\", memwal_namespace: `memforks/${TREE}/hotfix/jwt`, tx_digest: txd(\"b04\"), ts_ms: ts(14) },\n { tree_id: TREE, branch: \"dev/redis-first\", from_branch: \"main\", memwal_namespace: `memforks/${TREE}/dev/redis-first`, tx_digest: txd(\"b05\"), ts_ms: ts(5, 9) },\n { tree_id: TREE, branch: \"dev/bcrypt-first\", from_branch: \"main\", memwal_namespace: `memforks/${TREE}/dev/bcrypt-first`, tx_digest: txd(\"b06\"), ts_ms: ts(5, 9, 5) },\n { tree_id: TREE, branch: \"explore/3ds\", from_branch: \"feat/payments\", memwal_namespace: `memforks/${TREE}/explore/3ds`, tx_digest: txd(\"b07\"), ts_ms: ts(10) },\n];\n\n// ─── Merge proposals, attestations, and finalizations ────────────────────────\n\n// Merge 1: feat/auth → main (LWW)\nexport const DEMO_PROPOSAL_AUTH: MergeProposedEvent = {\n tree_id: TREE, proposal_id: id(\"prop01\"),\n from_branch: \"feat/auth\", into_branch: \"main\",\n from_head_blob_id: blob(\"auth-tip\"),\n into_head_blob_id: blob(\"main-before-auth\"),\n resolver_id: RESOLVER,\n expires_at_ms: ts(18) + DAY,\n ts_ms: ts(18, 9), tx_digest: txd(\"prop01\"),\n};\nexport const DEMO_FINALIZED_AUTH: MergeFinalizedEvent = {\n tree_id: TREE, proposal_id: id(\"prop01\"),\n merge_commit_id: id(\"anc001auth\"),\n resolved_blob_id: blob(\"main-after-auth\"),\n ts_ms: ts(18, 10), tx_digest: txd(\"fin01\"),\n};\n\n// Merge 2: hotfix/jwt → main (LWW)\nexport const DEMO_PROPOSAL_JWT: MergeProposedEvent = {\n tree_id: TREE, proposal_id: id(\"prop02\"),\n from_branch: \"hotfix/jwt\", into_branch: \"main\",\n from_head_blob_id: blob(\"jwt-tip\"),\n into_head_blob_id: blob(\"main-after-auth\"),\n resolver_id: RESOLVER,\n expires_at_ms: ts(12) + DAY,\n ts_ms: ts(12, 9), tx_digest: txd(\"prop02\"),\n};\nexport const DEMO_FINALIZED_JWT: MergeFinalizedEvent = {\n tree_id: TREE, proposal_id: id(\"prop02\"),\n merge_commit_id: id(\"anc002jwt\"),\n resolved_blob_id: blob(\"main-after-jwt\"),\n ts_ms: ts(12, 10), tx_digest: txd(\"fin02\"),\n};\n\n// Merge 3: Jury(2,3) — dev/redis-first wins over dev/bcrypt-first\nexport const DEMO_PROPOSAL_JURY: MergeProposedEvent = {\n tree_id: TREE, proposal_id: id(\"prop03\"),\n from_branch: \"dev/redis-first\", into_branch: \"main\",\n from_head_blob_id: blob(\"redis-tip\"),\n into_head_blob_id: blob(\"main-after-jwt\"),\n resolver_id: RESOLVER,\n expires_at_ms: ts(5, 11) + DAY,\n ts_ms: ts(5, 11, 30), tx_digest: txd(\"prop03\"),\n};\nexport const DEMO_ATTESTATIONS: AttestationSubmittedEvent[] = [\n { tree_id: TREE, proposal_id: id(\"prop03\"), signer: ADDR_JURY_1, kind: 0x01, ts_ms: ts(5, 11, 35), tx_digest: txd(\"atst01\"), label: \"judge-1\", model: \"gpt-5\", vote: \"dev/redis-first\", sig_verified: true },\n { tree_id: TREE, proposal_id: id(\"prop03\"), signer: ADDR_JURY_2, kind: 0x01, ts_ms: ts(5, 11, 40), tx_digest: txd(\"atst02\"), label: \"judge-2\", model: \"claude\", vote: \"dev/bcrypt-first\", sig_verified: true },\n { tree_id: TREE, proposal_id: id(\"prop03\"), signer: ADDR_JURY_3, kind: 0x04, ts_ms: ts(5, 11, 55), tx_digest: txd(\"atst03\"), label: \"judge-3\", model: \"gemini\", vote: \"dev/redis-first\", sig_verified: true },\n];\nexport const DEMO_FINALIZED_JURY: MergeFinalizedEvent = {\n tree_id: TREE, proposal_id: id(\"prop03\"),\n merge_commit_id: id(\"anc003jury\"),\n resolved_blob_id: blob(\"main-after-redis\"),\n ts_ms: ts(5, 14), tx_digest: txd(\"fin03\"),\n};\n\n// ─── Pending ceremony (billing → main, 1 of 3 votes cast, live demo surface) ──\n\nconst BILLING_PROPOSED_AT = NOW - 60 * 60 * 1000; // 1h ago\nconst BILLING_EXPIRES_AT = NOW + 3 * 60 * 60 * 1000 + 14 * 60 * 1000; // +3h 14m\nconst BILLING_ATTESTED_AT = NOW - 45 * 60 * 1000; // 45m ago\n\nexport const DEMO_PROPOSAL_BILLING: MergeProposedEvent = {\n tree_id: TREE, proposal_id: id(\"prop04\"),\n from_branch: \"feat/billing\", into_branch: \"main\",\n from_head_blob_id: blob(\"billing-stripe\"),\n into_head_blob_id: blob(\"main-after-redis\"),\n resolver_id: RESOLVER,\n expires_at_ms: BILLING_EXPIRES_AT,\n ts_ms: BILLING_PROPOSED_AT, tx_digest: txd(\"prop04\"),\n};\n\nexport const DEMO_ATTESTATION_BILLING: AttestationSubmittedEvent = {\n tree_id: TREE, proposal_id: id(\"prop04\"),\n signer: ADDR_JURY_1, kind: 0x01,\n ts_ms: BILLING_ATTESTED_AT, tx_digest: txd(\"atst04\"),\n label: \"judge-1\", model: \"gpt-5\",\n vote: \"feat/billing\", sig_verified: true,\n};\n\n// ─── Human-readable anchor labels (attached after seeding) ───────────────────\n\nexport const ANCHOR_LABELS: Record<string, string> = {\n \"0xanc001auth\": \"merge feat/auth → main · LWW approved\",\n \"0xanc002jwt\": \"merge hotfix/jwt → main · LWW · fix DST off-by-one\",\n \"0xanc003jury\": \"merge dev/redis-first → main · Jury(2,3) approved · LLM reconciled\",\n};\n\n// ─── Demo memory facts ────────────────────────────────────────────────────────\n\nimport type { MemoryFact } from \"../state/memoryStore.js\";\n\nexport const DEMO_FACTS: Record<string, MemoryFact[]> = {\n main: [\n { key: \"error_handling.pattern\", content: \"Always use AppError wrapper. Never throw raw strings or untyped errors in request handlers.\", introduced_by: blob(\"auth-tip\").slice(0, 7), introduced_by_id: blob(\"auth-tip\"), branch: \"main\", ts_ms: ts(19) },\n { key: \"auth.jwt.expiry\", content: \"JWT access token TTL is 15 minutes. Refresh token TTL is 7 days. No sliding expiry.\", introduced_by: blob(\"auth-tip\").slice(0, 7), introduced_by_id: blob(\"auth-tip\"), branch: \"main\", ts_ms: ts(35) },\n { key: \"auth.jwt.rotation\", content: \"Refresh tokens rotate on every use. Old token is invalidated immediately.\", introduced_by: blob(\"auth-tip\").slice(0, 7), introduced_by_id: blob(\"auth-tip\"), branch: \"main\", ts_ms: ts(35) },\n { key: \"auth.bcrypt.cost\", content: \"bcrypt cost factor is 12. Avg auth latency 340ms at p99 under 10k RPS.\", introduced_by: blob(\"redis-tip\").slice(0, 7), introduced_by_id: blob(\"redis-tip\"), branch: \"main\", ts_ms: ts(5, 10) },\n { key: \"auth.rate_limit\", content: \"Rate limit /auth endpoints at 100 req/min per IP. Return 429 with Retry-After header.\", introduced_by: blob(\"auth-tip\").slice(0, 7), introduced_by_id: blob(\"auth-tip\"), branch: \"main\", ts_ms: ts(32) },\n { key: \"caching.decision\", content: \"Prefer Redis caching over bcrypt cost reduction. Jury verdict 2/3: dev/redis-first wins. Redis projected 48ms vs 190ms for cost=10.\", introduced_by: blob(\"main-after-redis\").slice(0, 7), introduced_by_id: blob(\"main-after-redis\"), branch: \"main\", ts_ms: ts(5, 14) },\n { key: \"payments.stripe_intent\", content: \"Create a PaymentIntent for every charge. Never charge a card directly. Pass idempotency key.\", introduced_by: blob(\"main-before-auth\").slice(0, 7), introduced_by_id: blob(\"main-before-auth\"), branch: \"main\", ts_ms: ts(20) },\n { key: \"hotfix.jwt_dst\", content: \"JWT expiry has an off-by-one on DST boundary. Fixed in hotfix/jwt: compare epoch seconds not Date objects.\", introduced_by: blob(\"jwt-tip\").slice(0, 7), introduced_by_id: blob(\"jwt-tip\"), branch: \"main\", ts_ms: ts(14) },\n ],\n \"feat/auth\": [\n { key: \"error_handling.pattern\", content: \"Always use AppError wrapper.\", introduced_by: blob(\"auth-tip\").slice(0, 7), introduced_by_id: blob(\"auth-tip\"), branch: \"feat/auth\", ts_ms: ts(19) },\n { key: \"auth.jwt.expiry\", content: \"JWT access token TTL is 15 minutes.\", introduced_by: blob(\"auth-tip\").slice(0, 7), introduced_by_id: blob(\"auth-tip\"), branch: \"feat/auth\", ts_ms: ts(35) },\n ],\n \"dev/redis-first\": [\n { key: \"caching.hypothesis\", content: \"Redis caching reduces bcrypt pressure. Cache the session token → skip bcrypt on cache hit.\", introduced_by: blob(\"redis-tip\").slice(0, 7), introduced_by_id: blob(\"redis-tip\"), branch: \"dev/redis-first\", ts_ms: ts(5, 9, 10) },\n { key: \"caching.redis_hit_rate\", content: \"Simulated Redis hit rate 87% → projected auth latency 48ms.\", introduced_by: blob(\"redis-tip\").slice(0, 7), introduced_by_id: blob(\"redis-tip\"), branch: \"dev/redis-first\", ts_ms: ts(5, 11) },\n ],\n \"dev/bcrypt-first\": [\n { key: \"caching.hypothesis\", content: \"bcrypt cost reduction is safer than Redis. No new infrastructure, no cache invalidation risk.\", introduced_by: blob(\"bcrypt-tip\").slice(0, 7), introduced_by_id: blob(\"bcrypt-tip\"), branch: \"dev/bcrypt-first\", ts_ms: ts(5, 9, 10) },\n ],\n};\n\n// ─── Demo off-chain commits ────────────────────────────────────────────────────\n\nexport const DEMO_COMMITS: OffChainCommit[] = [\n // main — initial scaffolding by Dev A via SDK\n { blob_id: blob(\"main-init\"), branch: \"main\", ts_ms: ts(42), message: \"init project skeleton\", parent_blob_ids: [], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"sdk\" },\n { blob_id: blob(\"main-deps\"), branch: \"main\", ts_ms: ts(41), message: \"add package.json + tsconfig\", parent_blob_ids: [blob(\"main-init\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"sdk\" },\n { blob_id: blob(\"main-readme\"), branch: \"main\", ts_ms: ts(40), message: \"draft README\", parent_blob_ids: [blob(\"main-deps\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"sdk\" },\n { blob_id: blob(\"main-before-auth\"), branch: \"main\", ts_ms: ts(39), message: \"placeholder for auth module\", parent_blob_ids: [blob(\"main-readme\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"sdk\" },\n // feat/auth — Dev A in Codex\n { blob_id: blob(\"auth-setup\"), branch: \"feat/auth\", ts_ms: ts(37), message: \"scaffold auth service\", parent_blob_ids: [blob(\"main-before-auth\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n { blob_id: blob(\"auth-jwt\"), branch: \"feat/auth\", ts_ms: ts(36), message: \"implement JWT sign/verify\", parent_blob_ids: [blob(\"auth-setup\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n { blob_id: blob(\"auth-tests\"), branch: \"feat/auth\", ts_ms: ts(35, 14), message: \"add auth unit tests\", parent_blob_ids: [blob(\"auth-jwt\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n { blob_id: blob(\"auth-tip\"), branch: \"feat/auth\", ts_ms: ts(35, 16), message: \"error handling: always use AppError wrapper, never throw raw\", parent_blob_ids: [blob(\"auth-tests\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n // main after auth merge (post-anchor)\n { blob_id: blob(\"main-after-auth\"), branch: \"main\", ts_ms: ts(18, 10, 5), message: \"← merged feat/auth\", parent_blob_ids: [blob(\"main-before-auth\"), blob(\"auth-tip\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"sdk\" },\n // hotfix/jwt — Dev B in Cursor\n { blob_id: blob(\"jwt-fix1\"), branch: \"hotfix/jwt\", ts_ms: ts(13, 9), message: \"reproduce DST off-by-one in test\", parent_blob_ids: [blob(\"main-after-auth\")], parent_blob_hashes: [], delta: {}, author: \"Dev B\", tool: \"cursor\" },\n { blob_id: blob(\"jwt-tip\"), branch: \"hotfix/jwt\", ts_ms: ts(13, 11), message: \"compare epoch seconds not Date objects\", parent_blob_ids: [blob(\"jwt-fix1\")], parent_blob_hashes: [], delta: {}, author: \"Dev B\", tool: \"cursor\" },\n // main after hotfix merge\n { blob_id: blob(\"main-after-jwt\"), branch: \"main\", ts_ms: ts(12, 10, 5), message: \"← merged hotfix/jwt\", parent_blob_ids: [blob(\"main-after-auth\"), blob(\"jwt-tip\")], parent_blob_hashes: [], delta: {}, author: \"Dev B\", tool: \"cursor\" },\n // feat/billing — Dev B in Cursor\n { blob_id: blob(\"billing-init\"), branch: \"feat/billing\", ts_ms: ts(29), message: \"scaffold billing module\", parent_blob_ids: [blob(\"main-after-auth\")], parent_blob_hashes: [], delta: {}, author: \"Dev B\", tool: \"cursor\" },\n { blob_id: blob(\"billing-stripe\"), branch: \"feat/billing\", ts_ms: ts(25), message: \"integrate Stripe SDK\", parent_blob_ids: [blob(\"billing-init\")], parent_blob_hashes: [], delta: {}, author: \"Dev B\", tool: \"cursor\" },\n // dev/redis-first — Dev A in Codex\n { blob_id: blob(\"redis-init\"), branch: \"dev/redis-first\", ts_ms: ts(5, 9, 30), message: \"add redis client\", parent_blob_ids: [blob(\"main-after-jwt\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n { blob_id: blob(\"redis-bench\"), branch: \"dev/redis-first\", ts_ms: ts(5, 10, 30), message: \"benchmark: bcrypt cost=12, avg auth=340ms\", parent_blob_ids: [blob(\"redis-init\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n { blob_id: blob(\"redis-tip\"), branch: \"dev/redis-first\", ts_ms: ts(5, 11), message: \"result: Redis hit rate 87%, projected auth=48ms\", parent_blob_ids: [blob(\"redis-bench\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n // dev/bcrypt-first — Dev A in Codex\n { blob_id: blob(\"bcrypt-init\"), branch: \"dev/bcrypt-first\", ts_ms: ts(5, 9, 30), message: \"reduce bcrypt cost factor to 10\", parent_blob_ids: [blob(\"main-after-jwt\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n { blob_id: blob(\"bcrypt-tip\"), branch: \"dev/bcrypt-first\", ts_ms: ts(5, 10), message: \"result: cost=10 gives auth=190ms, no new dependency\", parent_blob_ids: [blob(\"bcrypt-init\")], parent_blob_hashes: [], delta: {}, author: \"Dev A\", tool: \"codex\" },\n];\n\n// ─── Seed helper ──────────────────────────────────────────────────────────────\n\nimport { useDagStore } from \"../state/dagStore.js\";\nimport { useMemoryStore } from \"../state/memoryStore.js\";\n\nexport function seedDemoData() {\n const store = useDagStore.getState();\n store.reset();\n\n // Apply branches in chronological order.\n [...DEMO_BRANCHES].sort((a, b) => a.ts_ms - b.ts_ms).forEach(b => store.applyBranch(b));\n\n // Apply merge ceremonies in order.\n store.applyProposal(DEMO_PROPOSAL_AUTH);\n store.applyFinalized(DEMO_FINALIZED_AUTH);\n\n store.applyProposal(DEMO_PROPOSAL_JWT);\n store.applyFinalized(DEMO_FINALIZED_JWT);\n\n store.applyProposal(DEMO_PROPOSAL_JURY);\n for (const a of DEMO_ATTESTATIONS) store.applyAttestation(a);\n store.applyFinalized(DEMO_FINALIZED_JURY);\n\n // Pending billing ceremony — 1 of 3 votes cast, not yet finalized.\n store.applyProposal(DEMO_PROPOSAL_BILLING);\n store.applyAttestation(DEMO_ATTESTATION_BILLING);\n\n // Seed off-chain commits so the graph and history views are populated.\n store.applyOffChainCommits(DEMO_COMMITS);\n\n // Label resolvers for display in the timeline.\n store.enrichProposal(DEMO_PROPOSAL_AUTH.proposal_id, { resolver_label: \"LWW\" });\n store.enrichProposal(DEMO_PROPOSAL_JWT.proposal_id, { resolver_label: \"LWW\" });\n store.enrichProposal(DEMO_PROPOSAL_JURY.proposal_id, {\n resolver_label: \"Jury(2,3)\",\n jury_threshold: 2,\n jury_judges: JURY_JUDGES,\n });\n store.enrichProposal(DEMO_PROPOSAL_BILLING.proposal_id, {\n resolver_label: \"Jury(2,3)\",\n jury_threshold: 2,\n jury_judges: JURY_JUDGES,\n });\n\n // Mark dev/bcrypt-first as rejected — it lost the jury vote to dev/redis-first.\n store.markGraveyard(\n \"dev/bcrypt-first\",\n \"Jury voted 2-of-3 for Redis caching path. bcrypt cost-reduction path rejected.\",\n );\n\n // Seed memory facts.\n const memStore = useMemoryStore.getState();\n memStore.reset();\n for (const [branch, facts] of Object.entries(DEMO_FACTS)) {\n memStore.setFacts(branch, facts);\n }\n}\n","import { useEffect, useRef, useCallback } from \"react\";\nimport TopBar from \"./layout/TopBar.js\";\nimport RightDrawer from \"./layout/RightDrawer.js\";\nimport DagCanvas from \"./views/dag/DagCanvas.js\";\nimport MemoryView from \"./views/memory/MemoryView.js\";\nimport HistoryView from \"./views/history/HistoryView.js\";\nimport MergesView from \"./views/merges/MergesView.js\";\nimport { useDagStore } from \"./state/dagStore.js\";\nimport { useUiStore } from \"./state/uiStore.js\";\nimport { useMemoryStore } from \"./state/memoryStore.js\";\nimport { memForksClient } from \"./sui/client.js\";\nimport { seedDemoData } from \"./seed/demo.js\";\nimport \"./styles/global.css\";\nimport \"./App.css\";\n\n// ─── Rate-limit banner ────────────────────────────────────────────────────────\n\nfunction RateLimitBanner({ secondsLeft }: { secondsLeft: number }) {\n if (secondsLeft <= 0) return null;\n const mins = Math.ceil(secondsLeft / 60);\n return (\n <div style={{\n background: \"var(--surface-1)\",\n borderBottom: \"1px solid var(--border)\",\n color: \"var(--fg-2)\",\n fontSize: \"0.75rem\",\n padding: \"6px 16px\",\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n }}>\n <span style={{ color: \"var(--yellow, #e8a600)\" }}>⚠</span>\n MemWal rate limit active — showing cached data.\n Auto-retry in {secondsLeft < 60 ? `${secondsLeft}s` : `~${mins}m`}.\n </div>\n );\n}\n\n// ─── App ──────────────────────────────────────────────────────────────────────\n\nexport default function App() {\n const activeView = useUiStore((s) => s.activeView);\n const activeBranch = useUiStore((s) => s.activeBranch);\n const setLive = useDagStore((s) => s.setLive);\n const setTreeId = useDagStore((s) => s.setTreeId);\n const applyBranch = useDagStore((s) => s.applyBranch);\n const applyProposal = useDagStore((s) => s.applyProposal);\n const enrichProposal = useDagStore((s) => s.enrichProposal);\n const applyAttestation = useDagStore((s) => s.applyAttestation);\n const applyFinalized = useDagStore((s) => s.applyFinalized);\n const applyAborted = useDagStore((s) => s.applyAborted);\n const applyOffChainCommits = useDagStore((s) => s.applyOffChainCommits);\n const setFacts = useMemoryStore((s) => s.setFacts);\n\n const bootstrapped = useRef(false);\n const hasMemwalRef = useRef(false);\n const retryInSecs = useUiStore((s) => s.retryInSeconds ?? 0);\n const setRateLimit = useUiStore((s) => s.setRateLimit);\n\n // ── Refresh callback — force-reload all known branches; exposed to TopBar ──\n const refreshAll = useCallback(async () => {\n if (!hasMemwalRef.current) return;\n await loadAllBranches(applyOffChainCommits, setFacts, setRateLimit, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Expose refreshAll to TopBar via a stable ref on the store.\n useUiStore.getState().setRefreshAll(refreshAll);\n\n // ── Initial bootstrap ──────────────────────────────────────────────────────\n useEffect(() => {\n if (bootstrapped.current) return;\n bootstrapped.current = true;\n\n (async () => {\n const cfg = await memForksClient.loadConfig();\n setTreeId(cfg.treeId);\n hasMemwalRef.current = cfg.hasMemwal;\n\n const params = new URLSearchParams(window.location.search);\n const forceDemo = params.get(\"demo\") !== null;\n const hasLiveSource =\n !forceDemo &&\n (cfg.hasMemwal || !!params.get(\"tree\") || document.URL.includes(\"localhost\"));\n\n if (!hasLiveSource) { seedDemoData(); return; }\n\n memForksClient.setHandlers({\n onBranch: applyBranch,\n onProposed: (e) => {\n applyProposal(e);\n enrichFromResolver(e.proposal_id, e.resolver_id, enrichProposal);\n },\n onAttestation: applyAttestation,\n onFinalized: applyFinalized,\n onAborted: applyAborted,\n });\n\n try {\n await memForksClient.fetchHistory();\n setLive(true);\n memForksClient.startPolling(5_000);\n\n // Load only the active/default branch on startup — not a full sweep.\n // The Refresh button in TopBar does the full cross-branch load on demand.\n if (cfg.hasMemwal) {\n const branch = useUiStore.getState().activeBranch ?? \"main\";\n await loadBranch(branch, applyOffChainCommits, setFacts, setRateLimit, false);\n }\n } catch (err) {\n console.warn(\"[memforks] live fetch failed, falling back to demo:\", err);\n seedDemoData();\n }\n })();\n\n // Poll the active branch every 60 s. On-chain events (forks, merges) still\n // update at 5 s via memForksClient.startPolling above — this covers only\n // off-chain MemWal commits and memory facts.\n const pollTimer = setInterval(() => {\n if (!hasMemwalRef.current) return;\n const branch = useUiStore.getState().activeBranch ?? \"main\";\n loadBranch(branch, applyOffChainCommits, setFacts, setRateLimit, false);\n }, 60_000);\n\n // Count down the rate-limit display every second.\n const countdownTimer = setInterval(() => {\n const s = useUiStore.getState().retryInSeconds ?? 0;\n if (s > 0) useUiStore.getState().setRateLimit(true, s - 1);\n else if (useUiStore.getState().rateLimited) useUiStore.getState().setRateLimit(false, 0);\n }, 1_000);\n\n return () => {\n memForksClient.stopPolling();\n clearInterval(pollTimer);\n clearInterval(countdownTimer);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ── Immediate refresh on branch switch ────────────────────────────────────\n useEffect(() => {\n if (!hasMemwalRef.current || !activeBranch) return;\n loadBranch(activeBranch, applyOffChainCommits, setFacts, setRateLimit, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeBranch]);\n\n return (\n <div className=\"app-root\">\n <TopBar />\n <RateLimitBanner secondsLeft={retryInSecs} />\n <div className=\"app-body\">\n {activeView === \"memory\" && <MemoryView />}\n {activeView === \"history\" && <HistoryView />}\n {activeView === \"merges\" && <MergesView />}\n {activeView === \"graph\" && <DagCanvas />}\n <RightDrawer />\n </div>\n </div>\n );\n}\n\n// ─── Resolver enrichment ──────────────────────────────────────────────────────\n\nfunction resolverKindToLabel(kind: number, threshold?: number, total?: number): string {\n if (kind === 0x00) return \"LWW\";\n if (kind === 0x01) return \"Union\";\n if (kind === 0x03) {\n if (threshold !== undefined && total !== undefined) return `Jury(${threshold},${total})`;\n if (threshold !== undefined) return `Jury(${threshold})`;\n return \"Jury\";\n }\n return `Kind(${kind})`;\n}\n\nimport type { MergeProposal } from \"./sui/types.js\";\n// Inline BCS decoder for JURY_RECONCILE config — avoids importing @memfork/core\n// (which pulls in Node.js-only modules like node:crypto via artifacts.ts).\nfunction decodeJuryConfig(config: Uint8Array): { judges: string[]; k: number } {\n let pos = 0;\n function u8(): number { return config[pos++]!; }\n function uleb128(): number {\n let v = 0, s = 0, b: number;\n do { b = u8(); v |= (b & 0x7f) << s; s += 7; } while (b & 0x80);\n return v;\n }\n function address(): string {\n const bytes = config.slice(pos, pos + 32); pos += 32;\n return \"0x\" + Array.from(bytes).map((b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n }\n const n = uleb128();\n const judges: string[] = [];\n for (let i = 0; i < n; i++) judges.push(address());\n const k = u8();\n return { judges, k };\n}\ntype EnrichProposalFn = (id: string, patch: Partial<Pick<MergeProposal, \"resolver_label\" | \"jury_threshold\" | \"jury_judges\">>) => void;\n\n// Cache the full resolver info (kind + decoded jury config) by resolver ID.\ninterface ResolverCache { kind: number; juryThreshold?: number; judgeAddresses?: string[] }\nconst resolverInfoCache = new Map<string, ResolverCache>();\n\nasync function enrichFromResolver(\n proposalId: string,\n resolverId: string,\n enrich: EnrichProposalFn,\n): Promise<void> {\n let cached = resolverInfoCache.get(resolverId);\n\n if (!cached) {\n const info = await memForksClient.fetchResolverInfo(resolverId);\n if (!info) return;\n\n cached = { kind: info.kind };\n\n // Decode jury config to get threshold + judge addresses.\n if (info.kind === 0x03 /* JURY_RECONCILE */ && info.config.length > 0) {\n try {\n const { judges, k } = decodeJuryConfig(info.config);\n cached.juryThreshold = k;\n cached.judgeAddresses = judges;\n } catch { /* malformed config — skip jury enrichment */ }\n }\n\n resolverInfoCache.set(resolverId, cached);\n }\n\n const patch: Partial<Pick<MergeProposal, \"resolver_label\" | \"jury_threshold\" | \"jury_judges\">> = {\n resolver_label: resolverKindToLabel(\n cached.kind,\n cached.juryThreshold,\n cached.judgeAddresses?.length,\n ),\n };\n\n if (cached.juryThreshold !== undefined) {\n patch.jury_threshold = cached.juryThreshold;\n }\n if (cached.judgeAddresses) {\n patch.jury_judges = cached.judgeAddresses.map((address, i) => ({\n address,\n label: `judge-${i}`,\n model: \"\",\n }));\n }\n\n enrich(proposalId, patch);\n}\n\n// ─── Live data loading ─────────────────────────────────────────────────────────\n\nimport type { OffChainCommit } from \"./sui/types.js\";\nimport type { MemoryFact } from \"./state/memoryStore.js\";\n\ntype SetFacts = (branch: string, facts: MemoryFact[]) => void;\ntype ApplyCommits = (commits: OffChainCommit[]) => void;\ntype SetRateLimit = (limited: boolean, retryInSeconds: number) => void;\n\nfunction hashText(s: string): string {\n let h = 5381;\n for (let i = 0; i < s.length; i++) h = ((h << 5) + h + s.charCodeAt(i)) >>> 0;\n return h.toString(36);\n}\n\nconst CATEGORY_RULES: { name: string; re: RegExp }[] = [\n { name: \"Setup & Provisioning\", re: /\\b(provision|quickstart|install|setup|onboard|deploy|mainnet|testnet|gas|sponsor|bootstrap)\\b/i },\n { name: \"Error Handling\", re: /\\b(error|exception|throw|catch|fail|apperror|retry|fallback|crash)\\b/i },\n { name: \"Security & Auth\", re: /\\b(auth|permission|credential|secret|encrypt|decrypt|seal|signature|token|access|delegate|private key)\\b/i },\n { name: \"Testing & QA\", re: /\\b(test|spec|coverage|assert|mock|fixture|e2e|lint|ci)\\b/i },\n { name: \"Memory & Versioning\", re: /\\b(branch|merge|resolver|namespace|commit|fork|recall|anchor|walrus|on-chain)\\b/i },\n { name: \"Architecture & Design\", re: /\\b(architect|design|pattern|module|structure|schema|interface|component|service|endpoint|\\bapi\\b)\\b/i },\n { name: \"Conventions & Style\", re: /\\b(convention|standard|always|never|prefer|style|format|naming|guideline|\\brule\\b)\\b/i },\n { name: \"Performance\", re: /\\b(performance|latency|cache|optimi[sz]|throughput|speed|slow|fast)\\b/i },\n];\n\nfunction categorize(text: string): string {\n for (const rule of CATEGORY_RULES) if (rule.re.test(text)) return rule.name;\n return \"General\";\n}\n\nfunction knownBranches(): string[] {\n const set = new Set<string>([\"main\"]);\n for (const name of useDagStore.getState().branches.keys()) set.add(name);\n return Array.from(set);\n}\n\nasync function loadBranch(\n branch: string,\n applyCommits: ApplyCommits,\n setFacts: SetFacts,\n setRateLimit: SetRateLimit,\n force: boolean,\n): Promise<void> {\n try {\n const qs = `branch=${encodeURIComponent(branch)}${force ? \"&force=1\" : \"\"}`;\n const r = await fetch(`/api/history?${qs}`, { signal: AbortSignal.timeout(15_000) });\n if (!r.ok) return;\n const data = await r.json() as {\n commits: OffChainCommit[];\n rateLimited?: boolean;\n retryInSeconds?: number;\n };\n\n // Propagate rate-limit state to the banner.\n if (data.rateLimited) {\n setRateLimit(true, data.retryInSeconds ?? 0);\n } else {\n setRateLimit(false, 0);\n }\n\n const commits = data.commits ?? [];\n if (commits.length) applyCommits(commits);\n\n // Derive facts from commits — no separate /api/facts call needed.\n const seen = new Set<string>();\n const facts: MemoryFact[] = [];\n for (const c of commits) {\n const factStrings = ((c.delta as Record<string, unknown>)?.[\"facts\"] as string[] | undefined) ?? [];\n for (const text of factStrings) {\n const norm = text.trim();\n if (!norm) continue;\n const key = hashText(norm.toLowerCase());\n if (seen.has(key)) continue;\n seen.add(key);\n facts.push({\n key,\n content: norm,\n category: categorize(norm),\n introduced_by: c.blob_id.slice(0, 7),\n introduced_by_id: c.blob_id,\n branch,\n ts_ms: c.ts_ms,\n });\n }\n }\n setFacts(branch, facts);\n } catch (e) {\n console.warn(`[memforks] load failed for ${branch}:`, e);\n }\n}\n\nasync function loadAllBranches(\n applyCommits: ApplyCommits,\n setFacts: SetFacts,\n setRateLimit: SetRateLimit,\n force: boolean,\n): Promise<void> {\n await Promise.allSettled(\n knownBranches().map((b) => loadBranch(b, applyCommits, setFacts, setRateLimit, force)),\n );\n}\n","import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport App from \"./App.js\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"No #root element found\");\n\ncreateRoot(root).render(\n <StrictMode>\n <App />\n </StrictMode>,\n);\n"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","err","reactDomModule","createRoot","createStoreImpl","createState","state","listeners","setState","partial","replace","nextState","previousState","listener","getState","api","initialState","__vite_import_meta_env__","createStore","React","is","objectIs","useState","useEffect","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","value","_useState","inst","forceUpdate","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","shimModule","useSyncExternalStore","useRef","useMemo","withSelector_production","getServerSnapshot","selector","isEqual","instRef","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","withSelectorModule","ReactExports","useSyncExternalStoreWithSelector","useSyncExternalStoreExports","didWarnAboutEqualityFn","identity","arg","useStore","equalityFn","slice","createImpl","useBoundStore","create","sortedAnchors","anchors","sortedCommits","commits","sortedBranches","branches","useDagStore","set","get","s","next","name","existing","newIds","proposals","proposal","existingSigners","judgeIndex","autoLabel","attestation","branch","anchor","loser","map","patch","rationale","useUiStore","_b","_a","fn","limited","retryInSeconds","idx","VIEWS","TopBar","orderedAnchors","isLive","treeId","activeBranch","setActiveBranch","activeView","setActiveView","replayActive","replayIndex","startReplay","stepReplay","stopReplay","refreshAll","rateLimited","replayTimer","total","handleReplay","branchNames","pendingCount","shortTree","replayLabel","jsxs","jsx","CODE_TO_ERROR_TYPE","SuiHTTPTransportError","JsonRpcError","message","code","SuiHTTPStatusError","status","statusText","PACKAGE_VERSION","JsonRpcHTTPTransport","options","__privateAdd","_requestId","_options","__privateSet","input","init","fetchFn","__privateGet","res","data","SUI_NS_NAME_REGEX","SUI_NS_DOMAIN_REGEX","MAX_SUI_NS_NAME_LENGTH","isValidSuiNSName","normalizeSuiNSName","format","lowerCase","parts","labels","domain","ulebEncode","num","bigNum","arr","len","ulebDecode","shift","byte","BcsReader","bytes","value1","result","start","length","i","isBytes","isArrayOf","isString","item","astr","label","anumber","aArr","astrArr","anumArr","chain","args","wrap","encode","decode","alphabet","letters","lettersA","indexes","digits","letter","join","separator","from","to","convertRadix","pos","dlen","carry","done","digit","fromCarry","digitBase","div","rounded","radix","_256","genBase58","abc","base58","toBase58","buffer","fromBase58","str","fromBase64","base64String","char","CHUNK_SIZE","toBase64","output","chunk","fromHex","hexStr","normalized","padded","intArr","toHex","array","size","_","DataLoader","batchLoadFn","getValidMaxBatchSize","getValidBatchScheduleFn","getValidCacheKeyFn","getValidCacheMap","getValidName","key","batch","getCurrentBatch","cacheMap","cacheKey","cachedPromise","cacheHits","resolve","promise","reject","keys","isArrayLike","loadPromises","error","enqueuePostPromiseJob","resolvedPromise","loader","existingBatch","newBatch","dispatchBatch","resolveCacheHits","batchPromise","failedDispatch","values","maxBatchSize","batchScheduleFn","cacheKeyFn","missingFunctions","fnName","encodeStr","encoding","splitGenericParameters","genericSeparators","left","right","tok","word","nestedAngleBrackets","BcsWriter","initialSize","maxSize","allocateSize","requiredSize","nextSize","nextBuffer","toLittleEndian","vector","bigint","BcsType","_write","_serialize","options$1","writer","SerializedBcs","reader","hex","b64","validate","SERIALIZED_BCS_BRAND","isSerializedBcs","obj","schema","_schema","_bytes","fixedSizeBcsType","uIntBcsType","readMethod","writeMethod","bigUIntBcsType","val","dynamicSizeBcsType","serialize","type","stringLikeBcsType","toBytes","fromBytes","lazyBcsType","lazyType","getType","BcsStruct","fields","canonicalOrder","field","BcsEnum","index","enumEntry","kind","name$1","optionName","optionType","variant","BcsTuple","fixedArray","option","bcs","compareBcsBytes","keyType","valueType","entries","keyBytes","TX_DIGEST_LENGTH","isValidTransactionDigest","SUI_ADDRESS_LENGTH","isValidSuiAddress","isHex","getHexByteLength","isValidSuiObjectId","MOVE_IDENTIFIER_REGEX","isValidMoveIdentifier","PRIMITIVE_TYPE_TAGS","VECTOR_TYPE_REGEX","isValidTypeTag","vectorMatch","isValidStructTag","isValidParsedStructTag","tag","isValidNamedPackage","param","parseStructTag","parseTypeTag","inner","parsed","normalizeStructTag","address","module","isMvrPackage","rest","typeParams","typeParam","normalizeSuiAddress","forceAdd0x","normalizeSuiObjectId","NAME_PATTERN","VERSION_REGEX","MAX_APP_SIZE","NAME_SEPARATOR","org","app","version","isValidNamedType","splitType","ClientCache","prefix","cache","_prefix","_cache","load","prefixKey","BaseClient","network","base","registrations","extensions","registration","methodCache","target","prop","receiver","MVR_API_HEADER","MvrClient","url","pageSize","overrides","_MvrClient_instances","_url","_pageSize","_overrides","validateOverrides","hasMvrName","mvrPackageDataLoader_get","mvrTypes","extractMvrTypes","resolvedTypes","mvrTypeDataLoader_get","typeMap","resolvedType","replaceMvrNames","types","packages","typesArray","resolvedPackages","replacedTypes","replacedPackages","pkg","resolvedPkg","_c","resolved","__privateMethod","resolvePackages_fn","resolveTypes_fn","batches","results","fetch_fn","pkgData","typeData","body","response","errorBody","isStructTag","typeCache","cacheHit","nameOrType","findNamesInTransaction","builder","command","getNamesFromTypeList","moveCall","replaceNames","tx","nameParts","names","VECTOR_REGEX","STRUCT_REGEX","TypeTagSerializer","normalizeAddress","structMatch","struct","unsafe_u64","optionEnum","Address","ObjectDigest","SuiObjectRef","SharedObjectRef","ObjectArg","Owner","Reservation","WithdrawalType","TypeTag","WithdrawFrom","FundsWithdrawal","CallArg","InnerTypeTag","StructTag","typeTag","Argument","ProgrammableMoveCall","Command","ProgrammableTransaction","TransactionKind","ValidDuring","TransactionExpiration","GasData","TransactionDataV1","TransactionData","IntentScope","IntentVersion","AppId","Intent","IntentMessage","CompressedSignature","PublicKey","MultiSigPkMap","MultiSigPublicKey","MultiSig","SenderSignedTransaction","SenderSignedData","PasskeyAuthenticator","MoveObjectType","TypeOrigin","UpgradeInfo","MovePackage","MoveObject","Data","ObjectInner","PackageUpgradeError","ModuleId","MoveLocation","CommandArgumentError","TypeArgumentError","ExecutionFailureStatus","ExecutionStatus","GasCostSummary","TransactionEffectsV1","VersionDigest","ObjectIn","AccumulatorAddress","AccumulatorOperation","AccumulatorValue","AccumulatorWriteV1","ObjectOut","IDOperation","EffectsObjectChange","UnchangedConsensusKind","TransactionEffectsV2","TransactionEffects","pureBcsSchemaFromTypeName","generic","suiBcs","title","abytes","needsLen","ofLen","got","aexists","instance","checkFinished","aoutput","out","min","u32","clean","arrays","isLE","byteSwap","swap8IfBE","byteSwap32","swap32IfBE","createHasher","hashCons","info","hashC","msg","opts","tmp","BSIGMA","U32_MASK64","_32n","fromBig","rotrSH","rotrSL","rotrBH","rotrBL","rotr32H","_h","rotr32L","_l","add","Al","Bl","add3L","Cl","add3H","low","B2B_IV","BBUF","G1b","Xl","Dl","u64.add3L","u64.add3H","u64.rotr32H","u64.rotr32L","u64.add","u64.rotrSH","u64.rotrSL","G2b","u64.rotrBH","u64.rotrBL","checkBlake2Opts","outputLen","keyLen","saltLen","persLen","salt","personalization","_BLAKE2","blockLen","__publicField","buffer32","offset","buf","take","dataOffset","data32","pos32","out32","full","tail","off","finished","destroyed","_BLAKE2b","olen","keyLength","slt","pers","v0l","v0h","v1l","v1h","v2l","v2h","v3l","v3h","v4l","v4h","v5l","v5h","v6l","v6h","v7l","v7h","isLast","u64.fromBig","j","blake2b","deriveDynamicFieldID","parentId","hash","DEFAULT_CONFIG","getGlobalConfig","config$1","store$3","getGlobalMessage","lang","store$2","getSchemaMessage","store$1","getSpecificMessage","reference","_stringify","_addIssue","context","dataset","other","expected","received","issue","isSchema","message$1","_standardCache","_getStandardProps","cached","value$1","_isValidObjectKey","object$1","_joinExpects","values$1","list","ValiError","issues","check","requirement","integer","transform","operation","ABORT_EARLY_CONFIG","getFallback","getDefault","itemDataset","pathItem","boolean","lazy","getter","literal","literal_","nullable","wrapped","default_","nullish","number","object","entries$1","valueSchema","valueDataset","optional","picklist","record","entryKey","entryValue","keyDataset","string","tuple","items","_subIssues","datasets","union","validDataset","typedDatasets","untypedDatasets","optionDataset","unknown","parse","pipe","pipe$1","safeEnum","withKind","SuiAddress","ObjectID","BCSBytes","JsonU64","U32","ObjectRefSchema","ArgumentSchema","GasDataSchema","OpenSignatureBodySchema","OpenSignatureSchema","ProgrammableMoveCallSchema","$Intent","CommandSchema","ObjectArgSchema","ReservationSchema","WithdrawalTypeArgSchema","WithdrawFromSchema","FundsWithdrawalArgSchema","CallArgSchema","NormalizedCallArg","ValidDuringSchema","TransactionDataSchema","SUI_ACCUMULATOR_ROOT_OBJECT_ID","ACCUMULATOR_KEY_TYPE_TAG","COIN_RESERVATION_MAGIC","isCoinReservationDigest","digestBase58","deriveReservationObjectId","owner","chainIdentifier","accBytes","chainBytes","xored","createCoinReservationRef","reservedBalance","epoch","digestBytes","view","epochNum","ObjectRef","serializeV1TransactionData","transactionData","inputs","convertTransactionArgument","mod","transactionDataFromV1","ref","transaction","parseV1TransactionArgument","getIdFromCallArg","remapCommandArguments","inputMapping","commandMapping","remapArg","newInputIndex","newCommandIndex","hashTypedData","typeTagBytes","dataWithTag","prepareSuiAddress","TransactionDataBuilder","programmableTx","clone","maxSizeBytes","onlyTransactionKind","commands","expiration","sender","gasData","commandIndex","replacement","resultIndex","sizeDiff","_command","otherTransaction","atCommandIndex","otherInput","existingIndex","newIndex","remappedCommands","resolvedInput","original","resolved$1","TransactionCommands","objects","o","coin","amounts","destination","sources","modules","dependencies","dep","packageId","ticket","elements","enumUnion","SerializedTransactionDataV2Schema","Pure","Inputs","objectId","digest","mutable","initialSharedVersion","reservation","typeArg","withdrawFrom","SuiClientError","SimulationError","ObjectError","MOVE_STDLIB_ADDRESS","SUI_FRAMEWORK_ADDRESS","SUI_SYSTEM_ADDRESS","SUI_CLOCK_OBJECT_ID","SUI_TYPE_ARG","SUI_SYSTEM_STATE_OBJECT_ID","SUI_RANDOM_OBJECT_ID","SUI_DENY_LIST_OBJECT_ID","parseTypeName","typeName","isTxContext","getPureBcsSchema","typeSignature","normalizedPkg","MAX_OBJECTS_PER_FETCH","GAS_SAFE_OVERHEAD","MAX_GAS","computeGasBudget","gasUsed","gasPrice","safeOverhead","baseComputationCostWithOverhead","gasBudget","getClient","coreClientResolveTransactionPlugin","client","needsGasPrice","needsPayment","gasPayer","usesGasCoin","withdrawals","normalizedGasPayer","withdrawalOwner","needsSimulateExpiration","needsSystemState","needsChainId","systemStateResult","balanceResult","coinsResult","chainIdResult","normalizeInputs","resolveObjectReferences","systemState","setGasBudget","buildValidDuringExpiration","setGasPayment","setExpiration","simulateExpiration","simulateResult","executionError","balance","coins","budget","addressBalance","filteredCoins","paymentCoins","reservationAmount","existingChainIdentifier","resolvedSystemState","currentEpoch","objectsToResolve","dedupedIds","objectChunks","chunkIds","responsesById","invalidObjects","objectsById","updated","isUsedAsMutable","isUsedAsReceiving","moveCallsToResolve","moveFunctionsToResolve","functionName","moveFunctionParameters","moduleName","def","parameters","params","inputValue","unresolvedObject","usedAsMutable","argIndex","usedAsReceiving","isReceivingType","RECEIVING_TYPE","needsTransactionResolution","resolveTransactionPlugin","normalizeRawArguments","amount","normalizeRawArgument","createObjectMethods","makeObject","createPure","makePure","pure","typeOrSerializedValue","namedPackagesPlugin","buildOptions","COIN_WITH_BALANCE","SUI_TYPE","coinWithBalance","useGasCoin","coinResult","resolveCoinBalance","coinType","createBalance","CoinWithBalanceData","coinTypes","totalByType","intentsByType","outputKind","usedIds","coinsByType","addressBalanceByType","getCoinsAndBalanceOfType","mergedCoins","exactBalanceByType","usedAddressBalance","typeState","totalRequired","intentResult","intentsForType","intents","loadedCoinBalance","sum","abNeeded","baseCoin","splitCmdIndex","splitResult","mergedCoin","hasBalanceIntent","sourcedFromAB","remainingBalance","balanceRequest","balance$1","allCoins","balanceResponse","loadMoreCoins","cursor","hasNextPage","nextCursor","createTransactionResult","baseResult","nestedResults","nestedResultFor","property","TRANSACTION_BRAND","isTransaction","Transaction","_Transaction_instances","_serializationPlugins","_buildPlugins","_intentResolvers","_inputSection","_commandSection","_availableResults","_pendingPromises","_added","_data","inserted","addInput_fn","serialized","newTransaction","cmd","step","intent","resolver","price","payments","payment","fork","fork_fn","placeholder","addCommand_fn","result$1","txResult","resolveArgument_fn","normalizeTransactionArgument_fn","src","fullyResolved","_key","signer","prepareBuild_fn","waitForPendingTasks_fn","sortCommandsAndInputs_fn","steps","runPlugins_fn","plugins","createNext","plugin","calledNext","nextResolved","newPromise","unorderedCommands","unorderedInputs","orderedCommands","orderedInputs","filteredCommands","getOriginalIndex","DEFAULT_MVR_URLS","CoreClient","normalizedNameType","fieldId","fieldObject","fieldType","content","nameTypeParam","isDynamicObject","valueBcs","wrappedType","dynamicField","signal","timeout","pollSchedule","include","abortSignal","abortPromise","schedule","t0","scheduleIndex","lastInterval","remaining","additionalSignatures","transactionBytes","signature","ordinalRules","ordinalSuffixes","formatOrdinal","formatMoveAbortMessage","location","abortCode","cleverError","errorStr","locationStr","MinimalEffectsWithError","MinimalExecutionStatusNoError","MinimalEffectsNoError","formatErrorMessage","$kind","parseBcsExecutionError","failure","moveLocation","upgradeError","parseTransactionBcs","parseTransactionEffectsBcs","effects","parseTransactionEffectsV1","parseTransactionEffectsV2","changedObjects","change","_d","_e","_f","parseJsonRpcExecutionStatus","abortError","rawMessage","commandMatch","instructionMatch","instruction","moduleParts","JSONRpcCoreClient","jsonRpcClient","mvr","_jsonRpcClient","_g","parseObject","filter","coinBalance","parseTransaction","checksDisabled","dryRunResult","devInspectResult","dryRunFailed","effectsSource","objectTypes","parseTransactionEffectsJson","parsedTransaction","parseOwnerAddress","event","commandResults","_i","referenceGasPrice","attributes","dynamicFields","fullType","bcsBytes","derivedNameType","resolvedPackageId","parseVisibility","abilities","parseAbilities","parseNormalizedSuiMoveType","ret","serializeObjectToBcs","typeStr","moveObjectType","normalizedSuiFramework","gasCoinType","stakedSuiType","coinPrefix","innerTypeMatch","contents","convertOwnerToBcs","bcsContent","objectBcs","jsonContent","displayData","parseOwner","signatures","parsedTx","effectsBytes","objectChanges","unchangedConsensusObjects","parseNormalizedSuiMoveTypeBody","abilitySet","ability","visibility","SUI_CLIENT_BRAND","SuiJsonRpcClient","limit","method","order","transactionBlock","resp","query","devInspectTxBytes","pollInterval","timeoutSignal","timeoutPromise","DEFAULT_PACKAGE_ID","DEFAULT_TREE_ID","DEFAULT_RPC","RPC_BY_NETWORK","EXPLORER_BY_NETWORK","WALRUS_BLOB_BASE","WALRUS_BLOB_BY_NETWORK","_walrusBlobBase","getWalrusBlobBase","_suiExplorerBase","getSuiExplorerBase","SUI_EXPLORER_BASE","parseBranch","parseMergeProposed","decodeBlobIdField","parseAttestation","vote","raw","parseMergeFinalized","parseMergeAborted","MemForksClient","rpc","SuiClient","cfg","resolvedRpc","intervalMs","resolverId","config","isHistory","hasMore","memForksClient","branchTone","relTime","ms","diff","absTime","CommitInspector","copied","setCopied","openProposal","relatedProposal","blobIdStr","resolvedBlobHex","copyBlobId","blobId","ATTEST_KIND","STATUS_CHIP","shortAddr","addr","ProposalInspector","mergeAnchors","openAnchor","mergeAnchor","TOOL_LABEL","formatBytes","ArtifactRow","artifact","downloadUrl","shortBlob","OffChainCommitInspector","commit","blobHex","deltaKeys","toolLabel","pid","RightDrawer","panel","closeDrawer","isOpen","LANE_COLORS","LANE_HEIGHT","NODE_RADIUS","X_PADDING","TOP_PADDING","MIN_X_STEP","NODE_R","computeLayout","branchFirstTs","prev","laneNames","laneIndex","laneColors","allTs","minTs","tsRange","totalNodes","CONTENT_W","tsToX","ts","nodes","lane","color","edges","child","parent","anchorNode","parentBlobId","height","diamond","cx","cy","LANE_LABEL_W","DagCanvas","orderedCommits","newAnchorIds","registerZoom","selectedId","svgRef","visibleCommits","filtered","visibleAnchors","layout","width","firstNew","container","anchorId","handleNodeClick","useCallback","totalW","x1","x2","cp1x","cp2x","isSelected","isNew","clickable","Fragment","useMemoryStore","facts","merged","TimeScrubber","current","onChange","open","sliderVal","fillPct","handleChange","MemoryView","openCommit","offChainCommits","timeTravelIdx","setTimeTravel","factsByBranch","setQuery","scrubberOpen","setScrubberOpen","toggleScrubber","branchCommits","allFacts","cutCommit","cutMs","groups","cat","handleFactClick","totalCount","branchLabel","category","groupFacts","fact","Gutter","nodeClass","hideTop","hideBot","CommitRow","isFirst","showBranch","onOpen","tool","tooltip","ForkRow","AnchorRow","intoBranch","attestCount","resolverLabel","HistoryView","orderedBranches","newBranchIds","selectedAnchorId","selectedBlobId","timeline","forks","cutIdx","commits_sorted","others_sorted","visible","commitCount","forkCount","anchorCount","summaryParts","totalCommits","branchCommitsForScrubber","entry","countdown","AttestRow","attest","PendingJudgeRow","judge","ThresholdBar","threshold","pct","LwwCard","expiresIn","isExpiring","CeremonyCard","judges","attested","attestedAddrs","pendingJudges","SettledRow","isAborted","GraveyardRow","handleAsk","MergesView","pending","settled","graveyard","all","TREE","PACKAGE","ADDR_JURY_1","ADDR_JURY_2","ADDR_JURY_3","JURY_JUDGES","RESOLVER","NOW","DAY","W6","daysAgo","txd","suffix","blob","DEMO_BRANCHES","DEMO_PROPOSAL_AUTH","DEMO_FINALIZED_AUTH","DEMO_PROPOSAL_JWT","DEMO_FINALIZED_JWT","DEMO_PROPOSAL_JURY","DEMO_ATTESTATIONS","DEMO_FINALIZED_JURY","BILLING_PROPOSED_AT","BILLING_EXPIRES_AT","BILLING_ATTESTED_AT","DEMO_PROPOSAL_BILLING","DEMO_ATTESTATION_BILLING","DEMO_FACTS","DEMO_COMMITS","seedDemoData","store","memStore","RateLimitBanner","secondsLeft","mins","App","setLive","setTreeId","applyBranch","applyProposal","enrichProposal","applyAttestation","applyFinalized","applyAborted","applyOffChainCommits","setFacts","bootstrapped","hasMemwalRef","retryInSecs","setRateLimit","loadAllBranches","enrichFromResolver","loadBranch","pollTimer","countdownTimer","resolverKindToLabel","decodeJuryConfig","u8","uleb128","resolverInfoCache","proposalId","enrich","hashText","CATEGORY_RULES","categorize","text","rule","knownBranches","applyCommits","force","qs","seen","factStrings","norm","root","StrictMode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72]}
|