LavaPack.loadBundle([[2084,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){t.exports={snapId:"npm:@metamask/message-signing-snap",manifest:{version:"0.6.0",description:"Provides public key and message signing used for signing in with MetaMask",proposedName:"Sign in with MetaMask",repository:{type:"git",url:"https://github.com/MetaMask/message-signing-snap.git"},source:{shasum:"MVxPWtAZ1Sdw63kwfZswKlYQ6dddnr7vvbj4V7j/Fc4=",location:{npm:{filePath:"dist/bundle.js",iconPath:"images/icon.svg",packageName:"@metamask/message-signing-snap",registry:"https://registry.npmjs.org/"}}},initialConnections:{"https://portfolio.metamask.io":{},"https://portfolio-builds.metafi-dev.codefi.network":{},"https://docs.metamask.io":{},"https://developer.metamask.io":{}},initialPermissions:{snap_getEntropy:{},"endowment:rpc":{dapps:!0,snaps:!1}},manifestVersion:"0.1"},files:[{path:"images/icon.svg",value:'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'},{path:"dist/bundle.js",value:'(()=>{var e={463:e=>{e.exports=a,a.default=a,a.stable=u,a.stableStringify=u;var t="[...]",n="[Circular]",r=[],s=[];function i(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function a(e,t,n,a){var o;void 0===a&&(a=i()),c(e,"",0,[],void 0,0,a);try{o=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var d=r.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return o}function o(e,t,n,i){var a=Object.getOwnPropertyDescriptor(i,n);void 0!==a.get?a.configurable?(Object.defineProperty(i,n,{value:e}),r.push([i,n,t,a])):s.push([t,n,e]):(i[n]=e,r.push([i,n,t]))}function c(e,r,s,i,a,d,u){var l;if(d+=1,"object"==typeof e&&null!==e){for(l=0;lu.depthLimit)return void o(t,e,r,a);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void o(t,e,r,a);if(i.push(e),Array.isArray(e))for(l=0;lt?1:0}function u(e,t,n,a){void 0===a&&(a=i());var o,c=l(e,"",0,[],void 0,0,a)||e;try{o=0===s.length?JSON.stringify(c,t,n):JSON.stringify(c,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var d=r.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return o}function l(e,s,i,a,c,u,h){var f;if(u+=1,"object"==typeof e&&null!==e){for(f=0;fh.depthLimit)return void o(t,e,s,c);if(void 0!==h.edgesLimit&&i+1>h.edgesLimit)return void o(t,e,s,c);if(a.push(e),Array.isArray(e))for(f=0;f0)for(var r=0;r{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{onRpcRequest:()=>Fs});var e={};function t(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)}n.r(e),n.d(e,{aK:()=>hr,e8:()=>Gn,DO:()=>Jn,dJ:()=>fr,OG:()=>pr,My:()=>Xn,Ph:()=>sr,lX:()=>ir,Id:()=>dr,fg:()=>yr,qj:()=>cr,aT:()=>rr,r4:()=>lr,aY:()=>Wn,x:()=>_r,lq:()=>ar,z:()=>or,zW:()=>Qn,Q5:()=>wr});const s=(e,t)=>Object.hasOwnProperty.call(e,t);var i;!function(e){e[e.Null=4]="Null",e[e.Comma=1]="Comma",e[e.Wrapper=1]="Wrapper",e[e.True=4]="True",e[e.False=5]="False",e[e.Quote=1]="Quote",e[e.Colon=1]="Colon",e[e.Date=24]="Date"}(i=i||(i={}));var a=n(463);class o extends TypeError{constructor(e,t){let n;const{message:r,explanation:s,...i}=e,{path:a}=e,o=0===a.length?r:`At path: ${a.join(".")} -- ${r}`;super(s??o),null!=s&&(this.cause=o),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>n??(n=[e,...t()])}}function c(e){return"object"==typeof e&&null!==e}function d(e){return"symbol"==typeof e?e.toString():"string"==typeof e?JSON.stringify(e):`${e}`}function u(e,t,n,r){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:s,branch:i}=t,{type:a}=n,{refinement:o,message:c=`Expected a value of type \\`${a}\\`${o?` with refinement \\`${o}\\``:""}, but received: \\`${d(r)}\\``}=e;return{value:r,type:a,refinement:o,key:s[s.length-1],path:s,branch:i,...e,message:c}}function*l(e,t,n,r){(function(e){return c(e)&&"function"==typeof e[Symbol.iterator]})(e)||(e=[e]);for(const s of e){const e=u(s,t,n,r);e&&(yield e)}}function*h(e,t,n={}){const{path:r=[],branch:s=[e],coerce:i=!1,mask:a=!1}=n,o={path:r,branch:s};if(i&&(e=t.coercer(e,o),a&&"type"!==t.type&&c(t.schema)&&c(e)&&!Array.isArray(e)))for(const n in e)void 0===t.schema[n]&&delete e[n];let d="valid";for(const r of t.validator(e,o))r.explanation=n.message,d="not_valid",yield[r,void 0];for(let[u,l,f]of t.entries(e,o)){const t=h(l,f,{path:void 0===u?r:[...r,u],branch:void 0===u?s:[...s,l],coerce:i,mask:a,message:n.message});for(const n of t)n[0]?(d=null===n[0].refinement||void 0===n[0].refinement?"not_valid":"not_refined",yield[n[0],void 0]):i&&(l=n[1],void 0===u?e=l:e instanceof Map?e.set(u,l):e instanceof Set?e.add(l):c(e)&&(void 0!==l||u in e)&&(e[u]=l))}if("not_valid"!==d)for(const r of t.refiner(e,o))r.explanation=n.message,d="not_refined",yield[r,void 0];"valid"===d&&(yield[void 0,e])}class f{constructor(e){const{type:t,schema:n,validator:r,refiner:s,coercer:i=e=>e,entries:a=function*(){}}=e;this.type=t,this.schema=n,this.entries=a,this.coercer=i,this.validator=r?(e,t)=>l(r(e,t),t,this,e):()=>[],this.refiner=s?(e,t)=>l(s(e,t),t,this,e):()=>[]}assert(e,t){return p(e,this,t)}create(e,t){return m(e,this,t)}is(e){return g(e,this)}mask(e,t){return function(e,t,n){const r=y(e,t,{coerce:!0,mask:!0,message:n});if(r[0])throw r[0];return r[1]}(e,this,t)}validate(e,t={}){return y(e,this,t)}}function p(e,t,n){const r=y(e,t,{message:n});if(r[0])throw r[0]}function m(e,t,n){const r=y(e,t,{coerce:!0,message:n});if(r[0])throw r[0];return r[1]}function g(e,t){return!y(e,t)[0]}function y(e,t,n={}){const r=h(e,t,n),s=function(e){const{done:t,value:n}=e.next();return t?void 0:n}(r);if(s[0]){return[new o(s[0],(function*(){for(const e of r)e[0]&&(yield e[0])})),void 0]}return[void 0,s[1]]}function v(e,t){return new f({type:e,schema:null,validator:t})}function w(e){let t;return new f({type:"lazy",schema:null,*entries(n,r){t??(t=e()),yield*t.entries(n,r)},validator:(n,r)=>(t??(t=e()),t.validator(n,r)),coercer:(n,r)=>(t??(t=e()),t.coercer(n,r)),refiner:(n,r)=>(t??(t=e()),t.refiner(n,r))})}function _(e){return new f({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[n,r]of t.entries())yield[n,r,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${d(e)}`})}function b(e){const t=d(e),n=typeof e;return new f({type:"literal",schema:"string"===n||"number"===n||"boolean"===n?e:null,validator:n=>n===e||`Expected the literal \\`${t}\\`, but received: ${d(n)}`})}function x(){return v("never",(()=>!1))}function E(){return v("number",(e=>"number"==typeof e&&!isNaN(e)||`Expected a number, but received: ${d(e)}`))}function k(e){const t=e?Object.keys(e):[],n=x();return new f({type:"object",schema:e??null,*entries(r){if(e&&c(r)){const s=new Set(Object.keys(r));for(const n of t)s.delete(n),yield[n,r[n],e[n]];for(const e of s)yield[e,r[e],n]}},validator:e=>c(e)||`Expected an object, but received: ${d(e)}`,coercer:e=>c(e)?{...e}:e})}function O(e){return new f({...e,validator:(t,n)=>void 0===t||e.validator(t,n),refiner:(t,n)=>void 0===t||e.refiner(t,n)})}function S(e,t){return new f({type:"record",schema:null,*entries(n){if(c(n))for(const r in n){const s=n[r];yield[r,r,e],yield[r,s,t]}},validator:e=>c(e)||`Expected an object, but received: ${d(e)}`})}function A(){return v("string",(e=>"string"==typeof e||`Expected a string, but received: ${d(e)}`))}function N(e){const t=e.map((e=>e.type)).join(" | ");return new f({type:"union",schema:null,coercer(t){for(const n of e){const[e,r]=n.validate(t,{coerce:!0});if(!e)return r}return t},validator(n,r){const s=[];for(const t of e){const[...e]=h(n,t,r),[i]=e;if(!i?.[0])return[];for(const[t]of e)t&&s.push(t)}return[`Expected the value to satisfy a union of \\`${t}\\`, but received: ${d(n)}`,...s]}})}function T(e,t,n){return new f({...e,coercer:(r,s)=>g(r,t)?e.coercer(n(r,s),s):e.coercer(r,s)})}Error;function Z(e){return function(e){return function(e){return"object"==typeof e&&null!==e&&"message"in e}(e)&&"string"==typeof e.message?e.message:null==e?"":String(e)}(e).replace(/\\.$/u,"")}function I(e,t){return n=e,Boolean("string"==typeof n?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var n}class B extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}const C=e=>k(e);function j({path:e,branch:t}){const n=e[e.length-1];return s(t[t.length-2],n)}function R(e){return new f({...e,type:`optional ${e.type}`,validator:(t,n)=>!j(n)||e.validator(t,n),refiner:(t,n)=>!j(n)||e.refiner(t,n)})}const P=N([b(null),v("boolean",(e=>"boolean"==typeof e)),v("finite number",(e=>g(e,E())&&Number.isFinite(e))),A(),_(w((()=>P))),S(A(),w((()=>P)))]),L=T(P,v("any",(()=>!0)),(e=>(function(e,t,n="Assertion failed",r=B){try{p(e,t)}catch(e){throw I(r,`${n}: ${Z(e)}.`)}}(e,P),JSON.parse(JSON.stringify(e,((e,t)=>{if("__proto__"!==e&&"constructor"!==e)return t}))))));function U(e){try{return function(e){m(e,L)}(e),!0}catch{return!1}}const $=b("2.0"),M=(z=N([E(),A()]),new f({...z,validator:(e,t)=>null===e||z.validator(e,t),refiner:(e,t)=>null===e||z.refiner(e,t)}));var z;const q=C({code:v("integer",(e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${d(e)}`)),message:A(),data:R(L),stack:R(A())}),D=N([S(A(),L),_(L)]);C({id:M,jsonrpc:$,method:A(),params:R(D)}),C({jsonrpc:$,method:A(),params:R(D)});k({id:M,jsonrpc:$,result:O(v("unknown",(()=>!0))),error:O(q)});const F=C({id:M,jsonrpc:$,result:L}),V=C({id:M,jsonrpc:$,error:q});N([F,V]);const H={invalidInput:-32e3,resourceNotFound:-32001,resourceUnavailable:-32002,transactionRejected:-32003,methodNotSupported:-32004,limitExceeded:-32005,parse:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internal:-32603},K={"-32700":{standard:"JSON RPC 2.0",message:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."},"-32600":{standard:"JSON RPC 2.0",message:"The JSON sent is not a valid Request object."},"-32601":{standard:"JSON RPC 2.0",message:"The method does not exist / is not available."},"-32602":{standard:"JSON RPC 2.0",message:"Invalid method parameter(s)."},"-32603":{standard:"JSON RPC 2.0",message:"Internal JSON-RPC error."},"-32000":{standard:"EIP-1474",message:"Invalid input."},"-32001":{standard:"EIP-1474",message:"Resource not found."},"-32002":{standard:"EIP-1474",message:"Resource unavailable."},"-32003":{standard:"EIP-1474",message:"Transaction rejected."},"-32004":{standard:"EIP-1474",message:"Method not supported."},"-32005":{standard:"EIP-1474",message:"Request limit exceeded."},4001:{standard:"EIP-1193",message:"User rejected the request."},4100:{standard:"EIP-1193",message:"The requested account and/or method has not been authorized by the user."},4200:{standard:"EIP-1193",message:"The requested method is not supported by this Ethereum provider."},4900:{standard:"EIP-1193",message:"The provider is disconnected from all chains."},4901:{standard:"EIP-1193",message:"The provider is disconnected from the specified chain."}},W=H.internal,J=(G(W),"Unspecified server error.");function G(e,t="Unspecified error message. This is a bug, please report it."){if(function(e){return Number.isInteger(e)}(e)){const t=e.toString();if(s(K,t))return K[t].message;if(function(e){return e>=-32099&&e<=-32e3}(e))return J}return t}function Y(e){return Array.isArray(e)?e.map((e=>U(e)?e:t(e)?X(e):null)):t(e)?X(e):U(e)?e:null}function X(e){return Object.getOwnPropertyNames(e).reduce(((t,n)=>{const r=e[n];return U(r)&&(t[n]=r),t}),{})}const Q=(ee=a,ee?.__esModule?ee.default:ee);var ee;class te extends Error{constructor(e,n,r){if(!Number.isInteger(e))throw new Error(\'"code" must be an integer.\');if(!n||"string"!=typeof n)throw new Error(\'"message" must be a non-empty string.\');!function(e){return t(e)&&s(e,"cause")&&t(e.cause)}(r)?super(n):(super(n,{cause:r.cause}),s(this,"cause")||Object.assign(this,{cause:r.cause})),void 0!==r&&(this.data=r),this.code=e}serialize(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data,function(e){if("object"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}}(this.data)&&(e.data.cause=Y(this.data.cause))),this.stack&&(e.stack=this.stack),e}toString(){return Q(this.serialize(),ne,2)}}function ne(e,t){if("[Circular]"!==t)return t}const re=e=>ie(H.invalidParams,e),se=e=>ie(H.methodNotFound,e);function ie(e,t){const[n,r]=ae(t);return new te(e,n??G(e),r)}function ae(e){if(e){if("string"==typeof e)return[e];if("object"==typeof e&&!Array.isArray(e)){const{message:t,data:n}=e;if(t&&"string"!=typeof t)throw new Error("Must specify string message.");return[t??void 0,n]}}return[]}var oe,ce;!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),r={};for(const e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`\'${e}\'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(oe||(oe={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(ce||(ce={}));const de=oe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ue=e=>{switch(typeof e){case"undefined":return de.undefined;case"string":return de.string;case"number":return isNaN(e)?de.nan:de.number;case"boolean":return de.boolean;case"function":return de.function;case"bigint":return de.bigint;case"symbol":return de.symbol;case"object":return Array.isArray(e)?de.array:null===e?de.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?de.promise:"undefined"!=typeof Map&&e instanceof Map?de.map:"undefined"!=typeof Set&&e instanceof Set?de.set:"undefined"!=typeof Date&&e instanceof Date?de.date:de.object;default:return de.unknown}},le=oe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class he extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(const s of e.issues)if("invalid_union"===s.code)s.unionErrors.map(r);else if("invalid_return_type"===s.code)r(s.returnTypeError);else if("invalid_arguments"===s.code)r(s.argumentsError);else if(0===s.path.length)n._errors.push(t(s));else{let e=n,r=0;for(;re.message){const t={},n=[];for(const r of this.issues)r.path.length>0?(t[r.path[0]]=t[r.path[0]]||[],t[r.path[0]].push(e(r))):n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}he.create=e=>new he(e);const fe=(e,t)=>{let n;switch(e.code){case le.invalid_type:n=e.received===de.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case le.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,oe.jsonStringifyReplacer)}`;break;case le.unrecognized_keys:n=`Unrecognized key(s) in object: ${oe.joinValues(e.keys,", ")}`;break;case le.invalid_union:n="Invalid input";break;case le.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${oe.joinValues(e.options)}`;break;case le.invalid_enum_value:n=`Invalid enum value. Expected ${oe.joinValues(e.options)}, received \'${e.received}\'`;break;case le.invalid_arguments:n="Invalid function arguments";break;case le.invalid_return_type:n="Invalid function return type";break;case le.invalid_date:n="Invalid date";break;case le.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:oe.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case le.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case le.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case le.custom:n="Invalid input";break;case le.invalid_intersection_types:n="Intersection results could not be merged";break;case le.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case le.not_finite:n="Number must be finite";break;default:n=t.defaultError,oe.assertNever(e)}return{message:n}};let pe=fe;function me(){return pe}const ge=e=>{const{data:t,path:n,errorMaps:r,issueData:s}=e,i=[...n,...s.path||[]],a={...s,path:i};if(void 0!==s.message)return{...s,path:i,message:s.message};let o="";const c=r.filter((e=>!!e)).slice().reverse();for(const e of c)o=e(a,{data:t,defaultError:o}).message;return{...s,path:i,message:o}};function ye(e,t){const n=me(),r=ge({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===fe?void 0:fe].filter((e=>!!e))});e.common.issues.push(r)}class ve{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const r of t){if("aborted"===r.status)return we;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,r=await e.value;n.push({key:t,value:r})}return ve.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const r of t){const{key:t,value:s}=r;if("aborted"===t.status)return we;if("aborted"===s.status)return we;"dirty"===t.status&&e.dirty(),"dirty"===s.status&&e.dirty(),"__proto__"===t.value||void 0===s.value&&!r.alwaysSet||(n[t.value]=s.value)}return{status:e.value,value:n}}}const we=Object.freeze({status:"aborted"}),_e=e=>({status:"dirty",value:e}),be=e=>({status:"valid",value:e}),xe=e=>"aborted"===e.status,Ee=e=>"dirty"===e.status,ke=e=>"valid"===e.status,Oe=e=>"undefined"!=typeof Promise&&e instanceof Promise;function Se(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Ae(e,t,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,n):s?s.value=n:t.set(e,n),n}var Ne,Te,Ze;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ne||(Ne={}));class Ie{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Be=(e,t)=>{if(ke(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new he(e.common.issues);return this._error=t,this._error}}};function Ce(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(\'Can\\\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.\');if(t)return{errorMap:t,description:s};return{errorMap:(t,s)=>{var i,a;const{message:o}=e;return"invalid_enum_value"===t.code?{message:null!=o?o:s.defaultError}:void 0===s.data?{message:null!==(i=null!=o?o:r)&&void 0!==i?i:s.defaultError}:"invalid_type"!==t.code?{message:s.defaultError}:{message:null!==(a=null!=o?o:n)&&void 0!==a?a:s.defaultError}},description:s}}class je{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return ue(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ue(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ve,ctx:{common:e.parent.common,data:e.data,parsedType:ue(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Oe(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const r={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ue(e)},s=this._parseSync({data:e,path:r.path,parent:r});return Be(r,s)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ue(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(Oe(r)?r:Promise.resolve(r));return Be(n,s)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,r)=>{const s=e(t),i=()=>r.addIssue({code:le.custom,...n(t)});return"undefined"!=typeof Promise&&s instanceof Promise?s.then((e=>!!e||(i(),!1))):!!s||(i(),!1)}))}refinement(e,t){return this._refinement(((n,r)=>!!e(n)||(r.addIssue("function"==typeof t?t(n,r):t),!1)))}_refinement(e){return new Nt({schema:this,typeName:Mt.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Tt.create(this,this._def)}nullable(){return Zt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return dt.create(this,this._def)}promise(){return At.create(this,this._def)}or(e){return ht.create([this,e],this._def)}and(e){return gt.create(this,e,this._def)}transform(e){return new Nt({...Ce(this._def),schema:this,typeName:Mt.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new It({...Ce(this._def),innerType:this,defaultValue:t,typeName:Mt.ZodDefault})}brand(){return new Rt({typeName:Mt.ZodBranded,type:this,...Ce(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new Bt({...Ce(this._def),innerType:this,catchValue:t,typeName:Mt.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Pt.create(this,e)}readonly(){return Lt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Re=/^c[^\\s-]{8,}$/i,Pe=/^[0-9a-z]+$/,Le=/^[0-9A-HJKMNP-TV-Z]{26}$/,Ue=/^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i,$e=/^[a-z0-9_-]{21}$/i,Me=/^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/,ze=/^(?!\\.)(?!.*\\.\\.)([A-Z0-9_\'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;let qe;const De=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Fe=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ve=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,He="((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))",Ke=new RegExp(`^${He}$`);function We(e){let t="([01]\\\\d|2[0-3]):[0-5]\\\\d:[0-5]\\\\d";return e.precision?t=`${t}\\\\.\\\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\\\.\\\\d+)?`),t}function Je(e){let t=`${He}T${We(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\\\d{2}:?\\\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}class Ge extends je{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==de.string){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.string,received:t.parsedType}),we}const t=new ve;let n;for(const i of this._def.checks)if("min"===i.kind)e.data.lengthi.value&&(n=this._getOrReturnCtx(e,n),ye(n,{code:le.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),t.dirty());else if("length"===i.kind){const r=e.data.length>i.value,s=e.data.lengthe.test(t)),{validation:t,code:le.invalid_string,...Ne.errToObj(n)})}_addCheck(e){return new Ge({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ne.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ne.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ne.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ne.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ne.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ne.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ne.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ne.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ne.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ne.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ne.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ne.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ne.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ne.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ne.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ne.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ne.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ne.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ne.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ne.errToObj(t)})}nonempty(e){return this.min(1,Ne.errToObj(e))}trim(){return new Ge({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Ge({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Ge({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuer?n:r;return parseInt(e.toFixed(s).replace(".",""))%parseInt(t.toFixed(s).replace(".",""))/Math.pow(10,s)}Ge.create=e=>{var t;return new Ge({checks:[],typeName:Mt.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...Ce(e)})};class Xe extends je{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==de.number){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.number,received:t.parsedType}),we}let t;const n=new ve;for(const r of this._def.checks)if("int"===r.kind)oe.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ye(t,{code:le.invalid_type,expected:"integer",received:"float",message:r.message}),n.dirty());else if("min"===r.kind){(r.inclusive?e.datar.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),ye(t,{code:le.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else"multipleOf"===r.kind?0!==Ye(e.data,r.value)&&(t=this._getOrReturnCtx(e,t),ye(t,{code:le.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ye(t,{code:le.not_finite,message:r.message}),n.dirty()):oe.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ne.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ne.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ne.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ne.toString(t))}setLimit(e,t,n,r){return new Xe({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ne.toString(r)}]})}_addCheck(e){return new Xe({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ne.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ne.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ne.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ne.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ne.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ne.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ne.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ne.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ne.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&oe.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Xe({checks:[],typeName:Mt.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...Ce(e)});class Qe extends je{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==de.bigint){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.bigint,received:t.parsedType}),we}let t;const n=new ve;for(const r of this._def.checks)if("min"===r.kind){(r.inclusive?e.datar.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),ye(t,{code:le.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty())}else"multipleOf"===r.kind?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ye(t,{code:le.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):oe.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ne.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ne.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ne.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ne.toString(t))}setLimit(e,t,n,r){return new Qe({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ne.toString(r)}]})}_addCheck(e){return new Qe({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ne.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ne.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ne.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ne.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ne.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Qe({checks:[],typeName:Mt.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...Ce(e)})};class et extends je{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==de.boolean){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.boolean,received:t.parsedType}),we}return be(e.data)}}et.create=e=>new et({typeName:Mt.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...Ce(e)});class tt extends je{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==de.date){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.date,received:t.parsedType}),we}if(isNaN(e.data.getTime())){return ye(this._getOrReturnCtx(e),{code:le.invalid_date}),we}const t=new ve;let n;for(const r of this._def.checks)"min"===r.kind?e.data.getTime()r.value&&(n=this._getOrReturnCtx(e,n),ye(n,{code:le.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),t.dirty()):oe.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new tt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ne.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ne.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew tt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Mt.ZodDate,...Ce(e)});class nt extends je{_parse(e){if(this._getType(e)!==de.symbol){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.symbol,received:t.parsedType}),we}return be(e.data)}}nt.create=e=>new nt({typeName:Mt.ZodSymbol,...Ce(e)});class rt extends je{_parse(e){if(this._getType(e)!==de.undefined){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.undefined,received:t.parsedType}),we}return be(e.data)}}rt.create=e=>new rt({typeName:Mt.ZodUndefined,...Ce(e)});class st extends je{_parse(e){if(this._getType(e)!==de.null){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.null,received:t.parsedType}),we}return be(e.data)}}st.create=e=>new st({typeName:Mt.ZodNull,...Ce(e)});class it extends je{constructor(){super(...arguments),this._any=!0}_parse(e){return be(e.data)}}it.create=e=>new it({typeName:Mt.ZodAny,...Ce(e)});class at extends je{constructor(){super(...arguments),this._unknown=!0}_parse(e){return be(e.data)}}at.create=e=>new at({typeName:Mt.ZodUnknown,...Ce(e)});class ot extends je{_parse(e){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.never,received:t.parsedType}),we}}ot.create=e=>new ot({typeName:Mt.ZodNever,...Ce(e)});class ct extends je{_parse(e){if(this._getType(e)!==de.undefined){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.void,received:t.parsedType}),we}return be(e.data)}}ct.create=e=>new ct({typeName:Mt.ZodVoid,...Ce(e)});class dt extends je{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==de.array)return ye(t,{code:le.invalid_type,expected:de.array,received:t.parsedType}),we;if(null!==r.exactLength){const e=t.data.length>r.exactLength.value,s=t.data.lengthr.maxLength.value&&(ye(t,{code:le.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>r.type._parseAsync(new Ie(t,e,t.path,n))))).then((e=>ve.mergeArray(n,e)));const s=[...t.data].map(((e,n)=>r.type._parseSync(new Ie(t,e,t.path,n))));return ve.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new dt({...this._def,minLength:{value:e,message:Ne.toString(t)}})}max(e,t){return new dt({...this._def,maxLength:{value:e,message:Ne.toString(t)}})}length(e,t){return new dt({...this._def,exactLength:{value:e,message:Ne.toString(t)}})}nonempty(e){return this.min(1,e)}}function ut(e){if(e instanceof lt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Tt.create(ut(r))}return new lt({...e._def,shape:()=>t})}return e instanceof dt?new dt({...e._def,type:ut(e.element)}):e instanceof Tt?Tt.create(ut(e.unwrap())):e instanceof Zt?Zt.create(ut(e.unwrap())):e instanceof yt?yt.create(e.items.map((e=>ut(e)))):e}dt.create=(e,t)=>new dt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Mt.ZodArray,...Ce(t)});class lt extends je{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=oe.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==de.object){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.object,received:t.parsedType}),we}const{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:s}=this._getCached(),i=[];if(!(this._def.catchall instanceof ot&&"strip"===this._def.unknownKeys))for(const e in n.data)s.includes(e)||i.push(e);const a=[];for(const e of s){const t=r[e],s=n.data[e];a.push({key:{status:"valid",value:e},value:t._parse(new Ie(n,s,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof ot){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of i)a.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)i.length>0&&(ye(n,{code:le.unrecognized_keys,keys:i}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of i){const r=n.data[t];a.push({key:{status:"valid",value:t},value:e._parse(new Ie(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of a){const n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e})).then((e=>ve.mergeObjectSync(t,e))):ve.mergeObjectSync(t,a)}get shape(){return this._def.shape()}strict(e){return Ne.errToObj,new lt({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var r,s,i,a;const o=null!==(i=null===(s=(r=this._def).errorMap)||void 0===s?void 0:s.call(r,t,n).message)&&void 0!==i?i:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(a=Ne.errToObj(e).message)&&void 0!==a?a:o}:{message:o}}}:{}})}strip(){return new lt({...this._def,unknownKeys:"strip"})}passthrough(){return new lt({...this._def,unknownKeys:"passthrough"})}extend(e){return new lt({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new lt({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Mt.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new lt({...this._def,catchall:e})}pick(e){const t={};return oe.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new lt({...this._def,shape:()=>t})}omit(e){const t={};return oe.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new lt({...this._def,shape:()=>t})}deepPartial(){return ut(this)}partial(e){const t={};return oe.objectKeys(this.shape).forEach((n=>{const r=this.shape[n];e&&!e[n]?t[n]=r:t[n]=r.optional()})),new lt({...this._def,shape:()=>t})}required(e){const t={};return oe.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Tt;)e=e._def.innerType;t[n]=e}})),new lt({...this._def,shape:()=>t})}keyof(){return kt(oe.objectKeys(this.shape))}}lt.create=(e,t)=>new lt({shape:()=>e,unknownKeys:"strip",catchall:ot.create(),typeName:Mt.ZodObject,...Ce(t)}),lt.strictCreate=(e,t)=>new lt({shape:()=>e,unknownKeys:"strict",catchall:ot.create(),typeName:Mt.ZodObject,...Ce(t)}),lt.lazycreate=(e,t)=>new lt({shape:e,unknownKeys:"strip",catchall:ot.create(),typeName:Mt.ZodObject,...Ce(t)});class ht extends je{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new he(e.ctx.common.issues)));return ye(t,{code:le.invalid_union,unionErrors:n}),we}));{let e;const r=[];for(const s of n){const n={...t,common:{...t.common,issues:[]},parent:null},i=s._parseSync({data:t.data,path:t.path,parent:n});if("valid"===i.status)return i;"dirty"!==i.status||e||(e={result:i,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const s=r.map((e=>new he(e)));return ye(t,{code:le.invalid_union,unionErrors:s}),we}}get options(){return this._def.options}}ht.create=(e,t)=>new ht({options:e,typeName:Mt.ZodUnion,...Ce(t)});const ft=e=>e instanceof xt?ft(e.schema):e instanceof Nt?ft(e.innerType()):e instanceof Et?[e.value]:e instanceof Ot?e.options:e instanceof St?oe.objectValues(e.enum):e instanceof It?ft(e._def.innerType):e instanceof rt?[void 0]:e instanceof st?[null]:e instanceof Tt?[void 0,...ft(e.unwrap())]:e instanceof Zt?[null,...ft(e.unwrap())]:e instanceof Rt||e instanceof Lt?ft(e.unwrap()):e instanceof Bt?ft(e._def.innerType):[];class pt extends je{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==de.object)return ye(t,{code:le.invalid_type,expected:de.object,received:t.parsedType}),we;const n=this.discriminator,r=t.data[n],s=this.optionsMap.get(r);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(ye(t,{code:le.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),we)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const r=new Map;for(const n of t){const t=ft(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \\`${e}\\` could not be extracted from all schema options`);for(const s of t){if(r.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);r.set(s,n)}}return new pt({typeName:Mt.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:r,...Ce(n)})}}function mt(e,t){const n=ue(e),r=ue(t);if(e===t)return{valid:!0,data:e};if(n===de.object&&r===de.object){const n=oe.objectKeys(t),r=oe.objectKeys(e).filter((e=>-1!==n.indexOf(e))),s={...e,...t};for(const n of r){const r=mt(e[n],t[n]);if(!r.valid)return{valid:!1};s[n]=r.data}return{valid:!0,data:s}}if(n===de.array&&r===de.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let r=0;r{if(xe(e)||xe(r))return we;const s=mt(e.value,r.value);return s.valid?((Ee(e)||Ee(r))&&t.dirty(),{status:t.value,value:s.data}):(ye(n,{code:le.invalid_intersection_types}),we)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>r(e,t))):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}gt.create=(e,t,n)=>new gt({left:e,right:t,typeName:Mt.ZodIntersection,...Ce(n)});class yt extends je{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.array)return ye(n,{code:le.invalid_type,expected:de.array,received:n.parsedType}),we;if(n.data.lengththis._def.items.length&&(ye(n,{code:le.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const r=[...n.data].map(((e,t)=>{const r=this._def.items[t]||this._def.rest;return r?r._parse(new Ie(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(r).then((e=>ve.mergeArray(t,e))):ve.mergeArray(t,r)}get items(){return this._def.items}rest(e){return new yt({...this._def,rest:e})}}yt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new yt({items:e,typeName:Mt.ZodTuple,rest:null,...Ce(t)})};class vt extends je{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.object)return ye(n,{code:le.invalid_type,expected:de.object,received:n.parsedType}),we;const r=[],s=this._def.keyType,i=this._def.valueType;for(const e in n.data)r.push({key:s._parse(new Ie(n,e,n.path,e)),value:i._parse(new Ie(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?ve.mergeObjectAsync(t,r):ve.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,n){return new vt(t instanceof je?{keyType:e,valueType:t,typeName:Mt.ZodRecord,...Ce(n)}:{keyType:Ge.create(),valueType:e,typeName:Mt.ZodRecord,...Ce(t)})}}class wt extends je{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.map)return ye(n,{code:le.invalid_type,expected:de.map,received:n.parsedType}),we;const r=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map((([e,t],i)=>({key:r._parse(new Ie(n,e,n.path,[i,"key"])),value:s._parse(new Ie(n,t,n.path,[i,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of i){const r=await n.key,s=await n.value;if("aborted"===r.status||"aborted"===s.status)return we;"dirty"!==r.status&&"dirty"!==s.status||t.dirty(),e.set(r.value,s.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of i){const r=n.key,s=n.value;if("aborted"===r.status||"aborted"===s.status)return we;"dirty"!==r.status&&"dirty"!==s.status||t.dirty(),e.set(r.value,s.value)}return{status:t.value,value:e}}}}wt.create=(e,t,n)=>new wt({valueType:t,keyType:e,typeName:Mt.ZodMap,...Ce(n)});class _t extends je{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==de.set)return ye(n,{code:le.invalid_type,expected:de.set,received:n.parsedType}),we;const r=this._def;null!==r.minSize&&n.data.sizer.maxSize.value&&(ye(n,{code:le.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());const s=this._def.valueType;function i(e){const n=new Set;for(const r of e){if("aborted"===r.status)return we;"dirty"===r.status&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}const a=[...n.data.values()].map(((e,t)=>s._parse(new Ie(n,e,n.path,t))));return n.common.async?Promise.all(a).then((e=>i(e))):i(a)}min(e,t){return new _t({...this._def,minSize:{value:e,message:Ne.toString(t)}})}max(e,t){return new _t({...this._def,maxSize:{value:e,message:Ne.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_t.create=(e,t)=>new _t({valueType:e,minSize:null,maxSize:null,typeName:Mt.ZodSet,...Ce(t)});class bt extends je{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==de.function)return ye(t,{code:le.invalid_type,expected:de.function,received:t.parsedType}),we;function n(e,n){return ge({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,me(),fe].filter((e=>!!e)),issueData:{code:le.invalid_arguments,argumentsError:n}})}function r(e,n){return ge({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,me(),fe].filter((e=>!!e)),issueData:{code:le.invalid_return_type,returnTypeError:n}})}const s={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof At){const e=this;return be((async function(...t){const a=new he([]),o=await e._def.args.parseAsync(t,s).catch((e=>{throw a.addIssue(n(t,e)),a})),c=await Reflect.apply(i,this,o);return await e._def.returns._def.type.parseAsync(c,s).catch((e=>{throw a.addIssue(r(c,e)),a}))}))}{const e=this;return be((function(...t){const a=e._def.args.safeParse(t,s);if(!a.success)throw new he([n(t,a.error)]);const o=Reflect.apply(i,this,a.data),c=e._def.returns.safeParse(o,s);if(!c.success)throw new he([r(o,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new bt({...this._def,args:yt.create(e).rest(at.create())})}returns(e){return new bt({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new bt({args:e||yt.create([]).rest(at.create()),returns:t||at.create(),typeName:Mt.ZodFunction,...Ce(n)})}}class xt extends je{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}xt.create=(e,t)=>new xt({getter:e,typeName:Mt.ZodLazy,...Ce(t)});class Et extends je{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ye(t,{received:t.data,code:le.invalid_literal,expected:this._def.value}),we}return{status:"valid",value:e.data}}get value(){return this._def.value}}function kt(e,t){return new Ot({values:e,typeName:Mt.ZodEnum,...Ce(t)})}Et.create=(e,t)=>new Et({value:e,typeName:Mt.ZodLiteral,...Ce(t)});class Ot extends je{constructor(){super(...arguments),Te.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ye(t,{expected:oe.joinValues(n),received:t.parsedType,code:le.invalid_type}),we}if(Se(this,Te,"f")||Ae(this,Te,new Set(this._def.values),"f"),!Se(this,Te,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ye(t,{received:t.data,code:le.invalid_enum_value,options:n}),we}return be(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Ot.create(e,{...this._def,...t})}exclude(e,t=this._def){return Ot.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Te=new WeakMap,Ot.create=kt;class St extends je{constructor(){super(...arguments),Ze.set(this,void 0)}_parse(e){const t=oe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==de.string&&n.parsedType!==de.number){const e=oe.objectValues(t);return ye(n,{expected:oe.joinValues(e),received:n.parsedType,code:le.invalid_type}),we}if(Se(this,Ze,"f")||Ae(this,Ze,new Set(oe.getValidEnumValues(this._def.values)),"f"),!Se(this,Ze,"f").has(e.data)){const e=oe.objectValues(t);return ye(n,{received:n.data,code:le.invalid_enum_value,options:e}),we}return be(e.data)}get enum(){return this._def.values}}Ze=new WeakMap,St.create=(e,t)=>new St({values:e,typeName:Mt.ZodNativeEnum,...Ce(t)});class At extends je{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==de.promise&&!1===t.common.async)return ye(t,{code:le.invalid_type,expected:de.promise,received:t.parsedType}),we;const n=t.parsedType===de.promise?t.data:Promise.resolve(t.data);return be(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}At.create=(e,t)=>new At({type:e,typeName:Mt.ZodPromise,...Ce(t)});class Nt extends je{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Mt.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,s={addIssue:e=>{ye(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),"preprocess"===r.type){const e=r.transform(n.data,s);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return we;const r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===r.status?we:"dirty"===r.status||"dirty"===t.value?_e(r.value):r}));{if("aborted"===t.value)return we;const r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===r.status?we:"dirty"===r.status||"dirty"===t.value?_e(r.value):r}}if("refinement"===r.type){const e=e=>{const t=r.refinement(e,s);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===r.status?we:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?we:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===r.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!ke(e))return e;const i=r.transform(e.value,s);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>ke(e)?Promise.resolve(r.transform(e.value,s)).then((e=>({status:t.value,value:e}))):e))}oe.assertNever(r)}}Nt.create=(e,t,n)=>new Nt({schema:e,typeName:Mt.ZodEffects,effect:t,...Ce(n)}),Nt.createWithPreprocess=(e,t,n)=>new Nt({schema:t,effect:{type:"preprocess",transform:e},typeName:Mt.ZodEffects,...Ce(n)});class Tt extends je{_parse(e){return this._getType(e)===de.undefined?be(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Tt.create=(e,t)=>new Tt({innerType:e,typeName:Mt.ZodOptional,...Ce(t)});class Zt extends je{_parse(e){return this._getType(e)===de.null?be(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Zt.create=(e,t)=>new Zt({innerType:e,typeName:Mt.ZodNullable,...Ce(t)});class It extends je{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===de.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}It.create=(e,t)=>new It({innerType:e,typeName:Mt.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...Ce(t)});class Bt extends je{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Oe(r)?r.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new he(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new he(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Bt.create=(e,t)=>new Bt({innerType:e,typeName:Mt.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...Ce(t)});class Ct extends je{_parse(e){if(this._getType(e)!==de.nan){const t=this._getOrReturnCtx(e);return ye(t,{code:le.invalid_type,expected:de.nan,received:t.parsedType}),we}return{status:"valid",value:e.data}}}Ct.create=e=>new Ct({typeName:Mt.ZodNaN,...Ce(e)});const jt=Symbol("zod_brand");class Rt extends je{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class Pt extends je{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?we:"dirty"===e.status?(t.dirty(),_e(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?we:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new Pt({in:e,out:t,typeName:Mt.ZodPipeline})}}class Lt extends je{_parse(e){const t=this._def.innerType._parse(e),n=e=>(ke(e)&&(e.value=Object.freeze(e.value)),e);return Oe(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Ut(e,t={},n){return e?it.create().superRefine(((r,s)=>{var i,a;if(!e(r)){const e="function"==typeof t?t(r):"string"==typeof t?{message:t}:t,o=null===(a=null!==(i=e.fatal)&&void 0!==i?i:n)||void 0===a||a,c="string"==typeof e?{message:e}:e;s.addIssue({code:"custom",...c,fatal:o})}})):it.create()}Lt.create=(e,t)=>new Lt({innerType:e,typeName:Mt.ZodReadonly,...Ce(t)});const $t={object:lt.lazycreate};var Mt;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Mt||(Mt={}));const zt=Ge.create,qt=Xe.create,Dt=Ct.create,Ft=Qe.create,Vt=et.create,Ht=tt.create,Kt=nt.create,Wt=rt.create,Jt=st.create,Gt=it.create,Yt=at.create,Xt=ot.create,Qt=ct.create,en=dt.create,tn=lt.create,nn=lt.strictCreate,rn=ht.create,sn=pt.create,an=gt.create,on=yt.create,cn=vt.create,dn=wt.create,un=_t.create,ln=bt.create,hn=xt.create,fn=Et.create,pn=Ot.create,mn=St.create,gn=At.create,yn=Nt.create,vn=Tt.create,wn=Zt.create,_n=Nt.createWithPreprocess,bn=Pt.create,xn={string:e=>Ge.create({...e,coerce:!0}),number:e=>Xe.create({...e,coerce:!0}),boolean:e=>et.create({...e,coerce:!0}),bigint:e=>Qe.create({...e,coerce:!0}),date:e=>tt.create({...e,coerce:!0})},En=we;var kn=Object.freeze({__proto__:null,defaultErrorMap:fe,setErrorMap:function(e){pe=e},getErrorMap:me,makeIssue:ge,EMPTY_PATH:[],addIssueToContext:ye,ParseStatus:ve,INVALID:we,DIRTY:_e,OK:be,isAborted:xe,isDirty:Ee,isValid:ke,isAsync:Oe,get util(){return oe},get objectUtil(){return ce},ZodParsedType:de,getParsedType:ue,ZodType:je,datetimeRegex:Je,ZodString:Ge,ZodNumber:Xe,ZodBigInt:Qe,ZodBoolean:et,ZodDate:tt,ZodSymbol:nt,ZodUndefined:rt,ZodNull:st,ZodAny:it,ZodUnknown:at,ZodNever:ot,ZodVoid:ct,ZodArray:dt,ZodObject:lt,ZodUnion:ht,ZodDiscriminatedUnion:pt,ZodIntersection:gt,ZodTuple:yt,ZodRecord:vt,ZodMap:wt,ZodSet:_t,ZodFunction:bt,ZodLazy:xt,ZodLiteral:Et,ZodEnum:Ot,ZodNativeEnum:St,ZodPromise:At,ZodEffects:Nt,ZodTransformer:Nt,ZodOptional:Tt,ZodNullable:Zt,ZodDefault:It,ZodCatch:Bt,ZodNaN:Ct,BRAND:jt,ZodBranded:Rt,ZodPipeline:Pt,ZodReadonly:Lt,custom:Ut,Schema:je,ZodSchema:je,late:$t,get ZodFirstPartyTypeKind(){return Mt},coerce:xn,any:Gt,array:en,bigint:Ft,boolean:Vt,date:Ht,discriminatedUnion:sn,effect:yn,enum:pn,function:ln,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Ut((t=>t instanceof e),t),intersection:an,lazy:hn,literal:fn,map:dn,nan:Dt,nativeEnum:mn,never:Xt,null:Jt,nullable:wn,number:qt,object:tn,oboolean:()=>Vt().optional(),onumber:()=>qt().optional(),optional:vn,ostring:()=>zt().optional(),pipeline:bn,preprocess:_n,promise:gn,record:cn,set:un,strictObject:nn,string:zt,symbol:Kt,transformer:yn,tuple:on,undefined:Wt,union:rn,unknown:Yt,void:Qt,NEVER:En,ZodIssueCode:le,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:he});function On(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Sn(e,...t){if(!((n=e)instanceof Uint8Array||ArrayBuffer.isView(n)&&"Uint8Array"===n.constructor.name))throw new Error("Uint8Array expected");var n;if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function An(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");On(e.outputLen),On(e.blockLen)}function Nn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Tn(e,t){Sn(e);const n=t.outputLen;if(e.lengthnew DataView(e.buffer,e.byteOffset,e.byteLength),Bn=(e,t)=>e<<32-t|e>>>t;Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function Cn(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),Sn(e),e}class jn{clone(){return this._cloneInto()}}function Rn(e=32){if(Zn&&"function"==typeof Zn.getRandomValues)return Zn.getRandomValues(new Uint8Array(e));if(Zn&&"function"==typeof Zn.randomBytes)return Zn.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}const Pn=(e,t,n)=>e&t^e&n^t&n;class Ln extends jn{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=In(this.buffer)}update(e){Nn(this);const{view:t,buffer:n,blockLen:r}=this,s=(e=Cn(e)).length;for(let i=0;ir-i&&(this.process(n,0),i=0);for(let e=i;e>s&i),o=Number(n&i),c=r?4:0,d=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+d,o,r)}(n,r-8,BigInt(8*this.length),s),this.process(n,0);const a=In(e),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,d=this.get();if(c>d.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>>3,s=Bn(n,17)^Bn(n,19)^n>>>10;Mn[e]=s+Mn[e-7]+r+Mn[e-16]|0}let{A:n,B:r,C:s,D:i,E:a,F:o,G:c,H:d}=this;for(let e=0;e<64;e++){const t=d+(Bn(a,6)^Bn(a,11)^Bn(a,25))+((u=a)&o^~u&c)+Un[e]+Mn[e]|0,l=(Bn(n,2)^Bn(n,13)^Bn(n,22))+Pn(n,r,s)|0;d=c,c=o,o=a,a=i+t|0,i=s,s=r,r=n,n=t+l|0}var u;n=n+this.A|0,r=r+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,d=d+this.H|0,this.set(n,r,s,i,a,o,c,d)}roundClean(){Mn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const qn=function(e){const t=t=>e().update(Cn(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}((()=>new zn));class Dn extends jn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,An(e);const n=Cn(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let e=0;enew Dn(e,t).update(n).digest();Fn.create=(e,t)=>new Dn(e,t);const Vn=BigInt(0),Hn=BigInt(1),Kn=BigInt(2);function Wn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function Jn(e){if(!Wn(e))throw new Error("Uint8Array expected")}function Gn(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)}const Yn=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function Xn(e){Jn(e);let t="";for(let n=0;n=tr._0&&e<=tr._9?e-tr._0:e>=tr.A&&e<=tr.F?e-(tr.A-10):e>=tr.a&&e<=tr.f?e-(tr.a-10):void 0}function rr(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let t=0,s=0;t"bigint"==typeof e&&Vn<=e;function lr(e,t,n){return ur(e)&&ur(t)&&ur(n)&&t<=e&&eVn;e>>=Hn,t+=1);return t}const pr=e=>(Kn<new Uint8Array(e),gr=e=>Uint8Array.from(e);function yr(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");let r=mr(e),s=mr(e),i=0;const a=()=>{r.fill(1),s.fill(0),i=0},o=(...e)=>n(s,r,...e),c=(e=mr())=>{s=o(gr([0]),e),r=o(),0!==e.length&&(s=o(gr([1]),e),r=o())},d=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e{let n;for(a(),c(e);!(n=t(d()));)c();return a(),n}}const vr={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||Wn(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function wr(e,t,n={}){const r=(t,n,r)=>{const s=vr[n];if("function"!=typeof s)throw new Error("invalid validator function");const i=e[t];if(!(r&&void 0===i||s(i,e)))throw new Error("param "+String(t)+" is invalid. Expected "+n+", got "+i)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e}function _r(e){const t=new WeakMap;return(n,...r)=>{const s=t.get(n);if(void 0!==s)return s;const i=e(n,...r);return t.set(n,i),i}}const br=BigInt(0),xr=BigInt(1),Er=BigInt(2),kr=BigInt(3),Or=BigInt(4),Sr=BigInt(5),Ar=BigInt(8);BigInt(9),BigInt(16);function Nr(e,t){const n=e%t;return n>=br?n:t+n}function Tr(e,t,n){if(tbr;)t&xr&&(r=r*e%n),e=e*e%n,t>>=xr;return r}function Zr(e,t,n){let r=e;for(;t-- >br;)r*=r,r%=n;return r}function Ir(e,t){if(e===br)throw new Error("invert: expected non-zero number");if(t<=br)throw new Error("invert: expected positive modulus, got "+t);let n=Nr(e,t),r=t,s=br,i=xr,a=xr,o=br;for(;n!==br;){const e=r/n,t=r%n,c=s-a*e,d=i-o*e;r=n,n=t,s=a,i=o,a=c,o=d}if(r!==xr)throw new Error("invert: does not exist");return Nr(s,t)}function Br(e){if(e%Or===kr){const t=(e+xr)/Or;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error("Cannot find square root");return r}}if(e%Ar===Sr){const t=(e-Sr)/Ar;return function(e,n){const r=e.mul(n,Er),s=e.pow(r,t),i=e.mul(n,s),a=e.mul(e.mul(i,Er),s),o=e.mul(i,e.sub(a,e.ONE));if(!e.eql(e.sqr(o),n))throw new Error("Cannot find square root");return o}}return function(e){const t=(e-xr)/Er;let n,r,s;for(n=e-xr,r=0;n%Er===br;n/=Er,r++);for(s=Er;s1e3)throw new Error("Cannot find square root: likely non-prime P");if(1===r){const t=(e+xr)/Or;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error("Cannot find square root");return r}}const i=(n+xr)/Er;return function(e,a){if(e.pow(a,t)===e.neg(e.ONE))throw new Error("Cannot find square root");let o=r,c=e.pow(e.mul(e.ONE,s),n),d=e.pow(a,i),u=e.pow(a,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t 0, got "+e);const{nBitLength:s,nByteLength:i}=jr(e,t);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a;const o=Object.freeze({ORDER:e,BITS:s,BYTES:i,MASK:pr(s),ZERO:br,ONE:xr,create:t=>Nr(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return br<=t&&te===br,isOdd:e=>(e&xr)===xr,neg:t=>Nr(-t,e),eql:(e,t)=>e===t,sqr:t=>Nr(t*t,e),add:(t,n)=>Nr(t+n,e),sub:(t,n)=>Nr(t-n,e),mul:(t,n)=>Nr(t*n,e),pow:(e,t)=>function(e,t,n){if(nbr;)n&xr&&(r=e.mul(r,s)),s=e.sqr(s),n>>=xr;return r}(o,e,t),div:(t,n)=>Nr(t*Ir(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Ir(t,e),sqrt:r.sqrt||(t=>(a||(a=Br(e)),a(o,t))),invertBatch:e=>function(e,t){const n=new Array(t.length),r=t.reduce(((t,r,s)=>e.is0(r)?t:(n[s]=t,e.mul(t,r))),e.ONE),s=e.inv(r);return t.reduceRight(((t,r,s)=>e.is0(r)?t:(n[s]=e.mul(t,n[s]),e.mul(t,r))),s),n}(o,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?or(e,i):ar(e,i),fromBytes:e=>{if(e.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);return n?ir(e):sr(e)}});return Object.freeze(o)}function Pr(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Lr(e){const t=Pr(e);return t+Math.ceil(t/2)}const Ur=BigInt(0),$r=BigInt(1);function Mr(e,t){const n=t.negate();return e?n:t}function zr(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function qr(e,t){zr(e,t);return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}function Dr(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach(((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)}))}function Fr(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach(((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)}))}const Vr=new WeakMap,Hr=new WeakMap;function Kr(e){return Hr.get(e)||1}function Wr(e){return function(e){const t=Cr.reduce(((e,t)=>(e[t]="function",e)),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"});wr(e,t)}(e.Fp),wr(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...jr(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function Jr(e){void 0!==e.lowS&&Gn("lowS",e.lowS),void 0!==e.prehash&&Gn("prehash",e.prehash)}const{Ph:Gr,aT:Yr}=e,Xr={Err:class extends Error{constructor(e=""){super(e)}},_tlv:{encode:(e,t)=>{const{Err:n}=Xr;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,s=Qn(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");const i=r>127?Qn(s.length/2|128):"";return Qn(e)+i+s+t},decode(e,t){const{Err:n}=Xr;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const s=t[r++];let i=0;if(!!(128&s)){const e=127&s;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const a=t.subarray(r,r+e);if(a.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===a[0])throw new n("tlv.decode(long): zero leftmost byte");for(const e of a)i=i<<8|e;if(r+=e,i<128)throw new n("tlv.decode(long): not minimal encoding")}else i=s;const a=t.subarray(r,r+i);if(a.length!==i)throw new n("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+i)}}},_int:{encode(e){const{Err:t}=Xr;if(e{const s=t.toAffine();return dr(Uint8Array.from([4]),n.toBytes(s.x),n.toBytes(s.y))}),i=t.fromBytes||(e=>{const t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function a(e){const{a:r,b:s}=t,i=n.sqr(e),a=n.mul(i,e);return n.add(n.add(a,n.mul(e,r)),s)}if(!n.eql(n.sqr(t.Gy),a(t.Gx)))throw new Error("bad generator point: equation left != right");function o(e){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:s,n:i}=t;if(n&&"bigint"!=typeof e){if(Wn(e)&&(e=Xn(e)),"string"!=typeof e||!n.includes(e.length))throw new Error("invalid private key");e=e.padStart(2*r,"0")}let a;try{a="bigint"==typeof e?e:sr(cr("private key",e,r))}catch(t){throw new Error("invalid private key, expected hex or "+r+" bytes, got "+typeof e)}return s&&(a=Nr(a,i)),hr("private key",a,es,i),a}function c(e){if(!(e instanceof l))throw new Error("ProjectivePoint expected")}const d=_r(((e,t)=>{const{px:r,py:s,pz:i}=e;if(n.eql(i,n.ONE))return{x:r,y:s};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(i));const o=n.mul(r,t),c=n.mul(s,t),d=n.mul(i,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(d,n.ONE))throw new Error("invZ was invalid");return{x:o,y:c}})),u=_r((e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw new Error("bad point: ZERO")}const{x:r,y:s}=e.toAffine();if(!n.isValid(r)||!n.isValid(s))throw new Error("bad point: x or y not FE");const i=n.sqr(s),o=a(r);if(!n.eql(i,o))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0}));class l{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,null==e||!n.isValid(e))throw new Error("x required");if(null==t||!n.isValid(t))throw new Error("y required");if(null==r||!n.isValid(r))throw new Error("z required");Object.freeze(this)}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof l)throw new Error("projective point not allowed");const s=e=>n.eql(e,n.ZERO);return s(t)&&s(r)?l.ZERO:new l(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(l.fromAffine)}static fromHex(e){const t=l.fromAffine(i(cr("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return l.BASE.multiply(o(e))}static msm(e,t){return function(e,t,n,r){if(Dr(n,e),Fr(r,t),n.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const s=e.ZERO,i=fr(BigInt(n.length)),a=i>12?i-3:i>4?i-2:i?2:1,o=(1<=0;e-=a){c.fill(s);for(let t=0;t>BigInt(e)&BigInt(o));c[i]=c[i].add(n[t])}let t=s;for(let e=c.length-1,n=s;e>0;e--)n=n.add(c[e]),t=t.add(n);if(d=d.add(t),0!==e)for(let e=0;eQr||d>Qr;)o&es&&(u=u.add(p)),d&es&&(h=h.add(p)),p=p.double(),o>>=es,d>>=es;return a&&(u=u.negate()),c&&(h=h.negate()),h=new l(n.mul(h.px,r.beta),h.py,h.pz),u.add(h)}multiply(e){const{endo:r,n:s}=t;let i,a;if(hr("scalar",e,es,s),r){const{k1neg:t,k1:s,k2neg:o,k2:c}=r.splitScalar(e);let{p:d,f:u}=this.wNAF(s),{p:h,f:p}=this.wNAF(c);d=f.constTimeNegate(t,d),h=f.constTimeNegate(o,h),h=new l(n.mul(h.px,r.beta),h.py,h.pz),i=d.add(h),a=u.add(p)}else{const{p:t,f:n}=this.wNAF(e);i=t,a=n}return l.normalizeZ([i,a])[0]}multiplyAndAddUnsafe(e,t,n){const r=l.BASE,s=(e,t)=>t!==Qr&&t!==es&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),i=s(this,t).add(s(e,n));return i.is0()?void 0:i}toAffine(e){return d(this,e)}isTorsionFree(){const{h:e,isTorsionFree:n}=t;if(e===es)return!0;if(n)return n(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:n}=t;return e===es?this:n?n(l,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Gn("isCompressed",e),this.assertValidity(),s(l,this,e)}toHex(e=!0){return Gn("isCompressed",e),Xn(this.toRawBytes(e))}}l.BASE=new l(t.Gx,t.Gy,n.ONE),l.ZERO=new l(n.ZERO,n.ONE,n.ZERO);const h=t.nBitLength,f=(p=l,m=t.endo?Math.ceil(h/2):h,{constTimeNegate:Mr,hasPrecomputes:e=>1!==Kr(e),unsafeLadder(e,t,n=p.ZERO){let r=e;for(;t>Ur;)t&$r&&(n=n.add(r)),r=r.double(),t>>=$r;return n},precomputeWindow(e,t){const{windows:n,windowSize:r}=qr(t,m),s=[];let i=e,a=i;for(let e=0;e>=d,u>s&&(u-=c,n+=$r);const l=r,h=r+Math.abs(u)-1,f=e%2!=0,p=u<0;0===u?a=a.add(Mr(f,t[l])):i=i.add(Mr(p,t[h]))}return{p:i,f:a}},wNAFUnsafe(e,t,n,r=p.ZERO){const{windows:s,windowSize:i}=qr(e,m),a=BigInt(2**e-1),o=2**e,c=BigInt(e);for(let e=0;e>=c,d>i&&(d-=o,n+=$r),0===d)continue;let u=t[s+Math.abs(d)-1];d<0&&(u=u.negate()),r=r.add(u)}return r},getPrecomputes(e,t,n){let r=Vr.get(t);return r||(r=this.precomputeWindow(t,e),1!==e&&Vr.set(t,n(r))),r},wNAFCached(e,t,n){const r=Kr(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){const s=Kr(e);return 1===s?this.unsafeLadder(e,t,r):this.wNAFUnsafe(s,this.getPrecomputes(s,e,n),t,r)},setWindowSize(e,t){zr(t,m),Hr.set(e,t),Vr.delete(e)}});var p,m;return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:o,weierstrassEquation:a,isWithinCurveOrder:function(e){return lr(e,es,t.n)}}}function rs(e){const t=function(e){const t=Wr(e);return wr(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:r}=t,s=n.BYTES+1,i=2*n.BYTES+1;function a(e){return Nr(e,r)}function o(e){return Ir(e,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:d,weierstrassEquation:u,isWithinCurveOrder:l}=ns({...t,toBytes(e,t,r){const s=t.toAffine(),i=n.toBytes(s.x),a=dr;return Gn("isCompressed",r),r?a(Uint8Array.from([t.hasEvenY()?2:3]),i):a(Uint8Array.from([4]),i,n.toBytes(s.y))},fromBytes(e){const t=e.length,r=e[0],a=e.subarray(1);if(t!==s||2!==r&&3!==r){if(t===i&&4===r){return{x:n.fromBytes(a.subarray(0,n.BYTES)),y:n.fromBytes(a.subarray(n.BYTES,2*n.BYTES))}}throw new Error("invalid Point, expected length of "+s+", or uncompressed "+i+", got "+t)}{const e=sr(a);if(!lr(e,es,n.ORDER))throw new Error("Point is not on curve");const t=u(e);let s;try{s=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("Point is not on curve"+t)}return!(1&~r)!==((s&es)===es)&&(s=n.neg(s)),{x:e,y:s}}}}),h=e=>Xn(ar(e,t.nByteLength));function f(e){return e>r>>es}const p=(e,t,n)=>sr(e.slice(t,n));class m{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const n=t.nByteLength;return e=cr("compactSignature",e,2*n),new m(p(e,0,n),p(e,n,2*n))}static fromDER(e){const{r:t,s:n}=Xr.toSig(cr("DER",e));return new m(t,n)}assertValidity(){hr("r",this.r,es,r),hr("s",this.s,es,r)}addRecoveryBit(e){return new m(this.r,this.s,e)}recoverPublicKey(e){const{r,s,recovery:i}=this,d=w(cr("msgHash",e));if(null==i||![0,1,2,3].includes(i))throw new Error("recovery id invalid");const u=2===i||3===i?r+t.n:r;if(u>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const l=1&i?"03":"02",f=c.fromHex(l+h(u)),p=o(u),m=a(-d*p),g=a(s*p),y=c.BASE.multiplyAndAddUnsafe(f,m,g);if(!y)throw new Error("point at infinify");return y.assertValidity(),y}hasHighS(){return f(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return rr(this.toDERHex())}toDERHex(){return Xr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return rr(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const g={isValidPrivateKey(e){try{return d(e),!0}catch(e){return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{const e=Lr(t.n);return function(e,t,n=!1){const r=e.length,s=Pr(t),i=Lr(t);if(r<16||r1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);const a=Nr(n?sr(e):ir(e),t-xr)+xr;return n?or(a,s):ar(a,s)}(t.randomBytes(e),t.n)},precompute:(e=8,t=c.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function y(e){const t=Wn(e),n="string"==typeof e,r=(t||n)&&e.length;return t?r===s||r===i:n?r===2*s||r===2*i:e instanceof c}const v=t.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const n=sr(e),r=8*e.length-t.nBitLength;return r>0?n>>BigInt(r):n},w=t.bits2int_modN||function(e){return a(v(e))},_=pr(t.nBitLength);function b(e){return hr("num < 2^"+t.nBitLength,e,Qr,_),ar(e,t.nByteLength)}function x(e,r,s=E){if(["recovered","canonical"].some((e=>e in s)))throw new Error("sign() legacy options not supported");const{hash:i,randomBytes:u}=t;let{lowS:h,prehash:p,extraEntropy:g}=s;null==h&&(h=!0),e=cr("msgHash",e),Jr(s),p&&(e=cr("prehashed msgHash",i(e)));const y=w(e),_=d(r),x=[b(_),b(y)];if(null!=g&&!1!==g){const e=!0===g?u(n.BYTES):g;x.push(cr("extraEntropy",e))}const k=dr(...x),O=y;return{seed:k,k2sig:function(e){const t=v(e);if(!l(t))return;const n=o(t),r=c.BASE.multiply(t).toAffine(),s=a(r.x);if(s===Qr)return;const i=a(n*a(O+s*_));if(i===Qr)return;let d=(r.x===s?0:2)|Number(r.y&es),u=i;return h&&f(i)&&(u=function(e){return f(e)?a(-e):e}(i),d^=1),new m(s,u,d)}}}const E={lowS:t.lowS,prehash:!1},k={lowS:t.lowS,prehash:!1};return c.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return c.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(y(e))throw new Error("first arg must be private key");if(!y(t))throw new Error("second arg must be public key");return c.fromHex(t).multiply(d(e)).toRawBytes(n)},sign:function(e,n,r=E){const{seed:s,k2sig:i}=x(e,n,r),a=t;return yr(a.hash.outputLen,a.nByteLength,a.hmac)(s,i)},verify:function(e,n,r,s=k){const i=e;n=cr("msgHash",n),r=cr("publicKey",r);const{lowS:d,prehash:u,format:l}=s;if(Jr(s),"strict"in s)throw new Error("options.strict was renamed to lowS");if(void 0!==l&&"compact"!==l&&"der"!==l)throw new Error("format must be compact or der");const h="string"==typeof i||Wn(i),f=!h&&!l&&"object"==typeof i&&null!==i&&"bigint"==typeof i.r&&"bigint"==typeof i.s;if(!h&&!f)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let p,g;try{if(f&&(p=new m(i.r,i.s)),h){try{"compact"!==l&&(p=m.fromDER(i))}catch(e){if(!(e instanceof Xr.Err))throw e}p||"der"===l||(p=m.fromCompact(i))}g=c.fromHex(r)}catch(e){return!1}if(!p)return!1;if(d&&p.hasHighS())return!1;u&&(n=t.hash(n));const{r:y,s:v}=p,_=w(n),b=o(v),x=a(_*b),E=a(y*b),O=c.BASE.multiplyAndAddUnsafe(g,x,E)?.toAffine();return!!O&&a(O.x)===y},ProjectivePoint:c,Signature:m,utils:g}}function ss(e){return{hash:e,hmac:(t,...n)=>Fn(e,t,function(...e){let t=0;for(let n=0;n(e+t/cs)/t;function us(e){const t=is,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),d=e*e*e%t,u=d*d*e%t,l=Zr(u,n,t)*u%t,h=Zr(l,n,t)*u%t,f=Zr(h,cs,t)*d%t,p=Zr(f,s,t)*f%t,m=Zr(p,i,t)*p%t,g=Zr(m,o,t)*m%t,y=Zr(g,c,t)*g%t,v=Zr(y,o,t)*m%t,w=Zr(v,n,t)*u%t,_=Zr(w,a,t)*p%t,b=Zr(_,r,t)*d%t,x=Zr(b,cs,t);if(!ls.eql(ls.sqr(x),e))throw new Error("Cannot find square root");return x}const ls=Rr(is,void 0,void 0,{sqrt:us}),hs=function(e,t){const n=t=>rs({...e,...ss(t)});return Object.freeze({...n(t),create:n})}({a:BigInt(0),b:BigInt(7),Fp:ls,n:as,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=as,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-os*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,a=BigInt("0x100000000000000000000000000000000"),o=ds(i*e,t),c=ds(-r*e,t);let d=Nr(e-o*n-c*s,t),u=Nr(-o*r-c*i,t);const l=d>a,h=u>a;if(l&&(d=t-d),h&&(u=t-u),d>a||u>a)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:d,k2neg:h,k2:u}}}},qn);BigInt(0);hs.ProjectivePoint;function fs(e,...t){if(!((n=e)instanceof Uint8Array||ArrayBuffer.isView(n)&&"Uint8Array"===n.constructor.name))throw new Error("Uint8Array expected");var n;if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ps(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ms(e,t){fs(e);const n=t.outputLen;if(e.lengthnew DataView(e.buffer,e.byteOffset,e.byteLength),ys=(e,t)=>e<<32-t|e>>>t;Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function vs(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),fs(e),e}class ws{clone(){return this._cloneInto()}}const _s=(e,t,n)=>e&t^e&n^t&n;class bs extends ws{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=gs(this.buffer)}update(e){ps(this);const{view:t,buffer:n,blockLen:r}=this,s=(e=vs(e)).length;for(let i=0;ir-i&&(this.process(n,0),i=0);for(let e=i;e>s&i),o=Number(n&i),c=r?4:0,d=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+d,o,r)}(n,r-8,BigInt(8*this.length),s),this.process(n,0);const a=gs(e),o=this.outputLen;if(o%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,d=this.get();if(c>d.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e>>3,s=ys(n,17)^ys(n,19)^n>>>10;ks[e]=s+ks[e-7]+r+ks[e-16]|0}let{A:n,B:r,C:s,D:i,E:a,F:o,G:c,H:d}=this;for(let e=0;e<64;e++){const t=d+(ys(a,6)^ys(a,11)^ys(a,25))+((u=a)&o^~u&c)+xs[e]+ks[e]|0,l=(ys(n,2)^ys(n,13)^ys(n,22))+_s(n,r,s)|0;d=c,c=o,o=a,a=i+t|0,i=s,s=r,r=n,n=t+l|0}var u;n=n+this.A|0,r=r+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,d=d+this.H|0,this.set(n,r,s,i,a,o,c,d)}roundClean(){ks.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Ss=function(e){const t=t=>e().update(vs(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}((()=>new Os));function As(e,t){return Ns(e,"pattern",(n=>t.test(n)||`Expected a ${e.type} matching \\`/${t.source}/\\` but received "${n}"`))}function Ns(e,t,n){return new f({...e,*refiner(r,s){yield*e.refiner(r,s);const i=l(n(r,s),s,e,r);for(const e of i)yield{...e,refinement:t}}})}As(A(),/^(?:0x)?[0-9a-f]+$/iu),As(A(),/^0x[0-9a-f]+$/iu),As(A(),/^0x[0-9a-f]{40}$/u),As(A(),/^0x[0-9a-fA-F]{40}$/u);function Ts(e){return e.startsWith("0x")||e.startsWith("0X")?e.substring(2):e}function Zs(e,...t){if(!((n=e)instanceof Uint8Array||null!=n&&"object"==typeof n&&"Uint8Array"===n.constructor.name))throw new Error("Uint8Array expected");var n;if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");const Is=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function Bs(e){Zs(e);let t="";for(let n=0;n=Cs&&e<=js?e-Cs:e>=Rs&&e<=Ps?e-(Rs-10):e>=Ls&&e<=Us?e-(Ls-10):void 0}function Ms(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);const t=e.length,n=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let t=0,s=0;t{switch(e.method){case"getPublicKey":return qs();case"signMessage":{const{params:t}=e;!function(e){try{Ds.parse(e)}catch{throw re({message:"`signMessage`, must take a `message` parameter that must begin with `metamask:`"})}}(t);const{message:n}=t;return await async function(e){const t=await zs(),n=Ss(e);return`0x${hs.sign(n,t).toCompactHex()}`}(n)}default:throw se({data:{method:e.method}})}}})();var s=exports;for(var i in r)s[i]=r[i];r.__esModule&&Object.defineProperty(s,"__esModule",{value:!0})})();'}],removable:!1}}}},{package:"@metamask/message-signing-snap",file:"node_modules/@metamask/message-signing-snap/dist/preinstalled-snap.json"}],[209,{"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("@metamask/transaction-controller"),n=e("lodash");f.default={version:22,migrate(e){const t=(0,n.cloneDeep)(e);t.meta.version=22;try{const e=function(e){const t=e,{TransactionController:f}=t;if(f&&f.transactions){const{transactions:e}=t.TransactionController;t.TransactionController.transactions=e.map((e=>(e.status!==a.TransactionStatus.submitted||e.submittedTime||(e.submittedTime=(new Date).getTime()),e)))}return t}(t.data);t.data=e}catch(e){console.warn(`MetaMask Migration #22${e.stack}`)}return Promise.resolve(t)}}}}},{package:"$root$",file:"app/scripts/migrations/022.js"}],[21,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getMultichainNetworkControllerMessenger=function(e){return e.getRestricted({name:"MultichainNetworkController",allowedActions:["NetworkController:setActiveNetwork","NetworkController:getState"],allowedEvents:["AccountsController:selectedAccountChange"]})}}}},{package:"$root$",file:"app/scripts/controller-init/messengers/multichain/multichain-network-controller-messenger.ts"}],[210,{"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/transaction-controller");f.default={version:23,migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=23;try{const e=function(e){const t=e,{TransactionController:f}=t;if(f&&f.transactions){const{transactions:e}=t.TransactionController;if(e.length<=40)return t;const f=e.reverse();let a=!0;for(;f.length>40&&a;){const e=f.findIndex((e=>e.status===n.TransactionStatus.failed||e.status===n.TransactionStatus.rejected||e.status===n.TransactionStatus.confirmed||e.status===n.TransactionStatus.dropped));e<0?a=!1:f.splice(e,1)}t.TransactionController.transactions=f.reverse()}return t}(t.data);t.data=e}catch(e){console.warn(`MetaMask Migration #23${e.stack}`)}return Promise.resolve(t)}}}}},{package:"$root$",file:"app/scripts/migrations/023.js"}],[211,{"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/transaction-controller");f.default={version:24,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=24;const f=function(e){const t=e;if(!t.TransactionController)return t;const{transactions:f}=t.TransactionController;return t.TransactionController.transactions=f.map(((e,t)=>(e.status===n.TransactionStatus.unapproved&&e.txParams&&e.txParams.from&&(e.txParams.from=e.txParams.from.toLowerCase()),e))),t}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/024.js"}],[212,{"../lib/util":187,"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/transaction-controller"),s=e("../lib/util");f.default={version:25,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=25;const f=function(e){const t=e;if(t.TransactionController&&t.TransactionController.transactions){const{transactions:e}=t.TransactionController;t.TransactionController.transactions=e.map((e=>(e.status!==n.TransactionStatus.unapproved||(e.txParams=function(e){const t={from:e=>(0,s.addHexPrefix)(e).toLowerCase(),to:()=>(0,s.addHexPrefix)(e.to).toLowerCase(),nonce:e=>(0,s.addHexPrefix)(e),value:e=>(0,s.addHexPrefix)(e),data:e=>(0,s.addHexPrefix)(e),gas:e=>(0,s.addHexPrefix)(e),gasPrice:e=>(0,s.addHexPrefix)(e)},f={};return Object.keys(t).forEach((a=>{e[a]&&(f[a]=t[a](e[a]))})),f}(e.txParams)),e)))}return t}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/025.js"}],[213,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:26,migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=26;try{const e=t.data;t.data=function(e){if(!e.KeyringController||!e.PreferencesController)return e;if(!e.KeyringController.walletNicknames)return e;return e.PreferencesController.identities=Object.keys(e.KeyringController.walletNicknames).reduce(((t,f)=>(t[f]={name:e.KeyringController.walletNicknames[f],address:f},t)),{}),delete e.KeyringController.walletNicknames,e}(e)}catch(e){return console.warn(`MetaMask Migration #26${e.stack}`),Promise.reject(e)}return Promise.resolve(t)}}}}},{package:"$root$",file:"app/scripts/migrations/026.js"}],[214,{"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/transaction-controller");f.default={version:27,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=27;const f=function(e){const t=e;if(t.TransactionController&&t.TransactionController.transactions){const{transactions:e}=t.TransactionController;t.TransactionController.transactions=e.filter((e=>e.status!==n.TransactionStatus.rejected))}return t}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/027.js"}],[215,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:28,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=28;const f=function(e){const t=e;if(t.PreferencesController&&t.PreferencesController.tokens&&t.PreferencesController.identities){const{identities:e,tokens:f}=t.PreferencesController;t.PreferencesController.accountTokens={},Object.keys(e).forEach((e=>{t.PreferencesController.accountTokens[e]={mainnet:f}})),t.PreferencesController.tokens=[]}return t}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/028.js"}],[216,{"./fail-tx":360,"@metamask/transaction-controller":2905},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a,n=e("@metamask/transaction-controller"),s=(a=e("./fail-tx"))&&a.__esModule?a:{default:a};f.default={version:29,migrate:(0,s.default)(29,"Stuck in approved state for too long.",(e=>{const t=e.status===n.TransactionStatus.approved,f=e.submittedTime,a=Date.now();return t&&a-f>432e5}))}}}},{package:"$root$",file:"app/scripts/migrations/029.js"}],[217,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:30,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=30;const f=function(e){const t=e;if(e.PreferencesController){const{frequentRpcListDetail:e}=t.PreferencesController;e&&(e.forEach(((t,f)=>{Boolean(t.chainId)&&Number.isNaN(parseInt(t.chainId))&&delete e[f].chainId})),t.PreferencesController.frequentRpcListDetail=e)}e.NetworkController&&(t.NetworkController.network&&Number.isNaN(parseInt(t.NetworkController.network))&&delete t.NetworkController.network,t.NetworkController.provider&&t.NetworkController.provider.chainId&&Number.isNaN(parseInt(t.NetworkController.provider.chainId))&&delete t.NetworkController.provider.chainId);return t}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/030.js"}],[218,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:31,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=31;const f=function(e){const{KeyringController:t,PreferencesController:f}=e;if(t&&f){const{vault:e}=t;f.completedOnboarding=Boolean(e)}return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/031.js"}],[219,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:32,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=32;const f=t.data;return t.data=function(e){const{PreferencesController:t}=e;if(t){const{betaUI:e}=t.featureFlags||{};t.completedUiMigration=e}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/032.js"}],[22,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getMultichainTransactionsControllerMessenger=function(e){return e.getRestricted({name:"MultichainTransactionsController",allowedEvents:["AccountsController:accountAdded","AccountsController:accountRemoved","AccountsController:accountTransactionsUpdated"],allowedActions:["AccountsController:listMultichainAccounts","SnapController:handleRequest","KeyringController:getState"]})}}}},{package:"$root$",file:"app/scripts/controller-init/messengers/multichain/multichain-transactions-controller-messenger.ts"}],[220,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:33,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=33;const f=function(e){const t=e;e.NoticeController&&delete t.NoticeController;return t}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/033.js"}],[221,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:34,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=34;const f=t.data;return t.data=function(e){const{PreferencesController:t}=e;if(t){const e=t.featureFlags||{};e.privacyMode||void 0!==t.migratedPrivacyMode||(t.migratedPrivacyMode=!0,e.privacyMode=!0)}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/034.js"}],[222,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:35,async migrate(e){const t=(0,a.cloneDeep)(e);return t.meta.version=35,t.data=function(e){e.PreferencesController&&e.PreferencesController.seedWords!==undefined&&delete e.PreferencesController.seedWords;return e}(t.data),t}}}}},{package:"$root$",file:"app/scripts/migrations/035.js"}],[223,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:36,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=36;const f=t.data;return t.data=function(e){const{PreferencesController:t}=e;if(t){const e=t.featureFlags||{};void 0!==e.privacyMode&&delete e.privacyMode}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/036.js"}],[224,{"@metamask/controller-utils":1474,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/controller-utils");f.default={version:37,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=37;const f=t.data;return t.data=function(e){if(e.AddressBookController){const t=e.AddressBookController.addressBook,f=new Set,a={};Object.values(t).forEach((e=>{f.add(e.chainId)}));for(const e of f.values()){a[e]={};for(const f in t)t[f].chainId===e&&(t[f].isEns=!1,(0,n.normalizeEnsName)(t[f].name)&&(t[f].isEns=!0),a[e][f]=t[f])}e.AddressBookController.addressBook=a}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/037.js"}],[225,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:38,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=38;const f=t.data;return t.data=function(e){const{ABTestController:t={}}=e,{abTests:f={}}=t;if(f.fullScreenVsPopup)return e;return{...e,ABTestController:{...t,abTests:{...f,fullScreenVsPopup:"control"}}}}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/038.js"}],[226,{"../../../shared/modules/hexstring-utils":5788,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("../../../shared/modules/hexstring-utils");const s="0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359",r="DAI",i="SAI";function o(e={}){return e&&"object"==typeof e&&e.symbol===r&&(0,n.toChecksumHexAddress)(e.address)===s}f.default={version:39,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=39;const f=t.data;return t.data=function(e){const{PreferencesController:t}=e;if(t){const e=t.tokens||[];if(Array.isArray(e))for(const t of e)o(t)&&(t.symbol=i);const f=t.accountTokens||{};if(f&&"object"==typeof f)for(const e of Object.keys(f)){const t=f[e];if(t&&"object"==typeof t)for(const e of Object.keys(t)){const f=t[e];if(Array.isArray(f))for(const e of f)o(e)&&(e.symbol=i)}}}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/039.js"}],[227,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:40,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=40;const f=t.data;return t.data=function(e){return delete e.ProviderApprovalController,e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/040.js"}],[228,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:41,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=41;const f=t.data;return t.data=function(e){e.PreferencesController&&e.PreferencesController.preferences&&(e.PreferencesController.preferences.autoLockTimeLimit=e.PreferencesController.preferences.autoLogoutTimeLimit,delete e.PreferencesController.preferences.autoLogoutTimeLimit);return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/041.js"}],[229,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:42,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=42;const f=t.data;return t.data=function(e){e.AppStateController?e.AppStateController.connectedStatusPopoverHasBeenShown=!1:e.AppStateController={connectedStatusPopoverHasBeenShown:!1};return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/042.js"}],[23,{"./notification-services-controller-messenger":24,"./notification-services-push-controller-messenger":25},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),Object.defineProperty(f,"getNotificationServicesControllerMessenger",{enumerable:!0,get:function(){return a.getNotificationServicesControllerMessenger}}),Object.defineProperty(f,"getNotificationServicesPushControllerMessenger",{enumerable:!0,get:function(){return n.getNotificationServicesPushControllerMessenger}});var a=e("./notification-services-controller-messenger"),n=e("./notification-services-push-controller-messenger")}}},{package:"$root$",file:"app/scripts/controller-init/messengers/notifications/index.ts"}],[230,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:43,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=43;const f=t.data;return t.data=function(e){var t;null!=e&&null!==(t=e.PreferencesController)&&void 0!==t&&t.currentAccountTab&&delete e.PreferencesController.currentAccountTab;return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/043.js"}],[231,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:44,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=44;const f=t.data;return t.data=function(e){var t;void 0!==(null==e||null===(t=e.AppStateController)||void 0===t?void 0:t.mkrMigrationReminderTimestamp)&&delete e.AppStateController.mkrMigrationReminderTimestamp;return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/044.js"}],[232,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:45,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=45;const f=t.data;return t.data=function(e){var t;n.includes(null==e||null===(t=e.PreferencesController)||void 0===t?void 0:t.ipfsGateway)&&(e.PreferencesController.ipfsGateway="dweb.link");return e}(f),t}};const n=["ipfs.io","ipfs.dweb.link"]}}},{package:"$root$",file:"app/scripts/migrations/045.js"}],[233,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:46,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=46;const f=t.data;return t.data=function(e){void 0!==(null==e?void 0:e.ABTestController)&&delete e.ABTestController;return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/046.js"}],[234,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:47,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=47;const f=t.data;return t.data=function(e){var t;const f=null==e||null===(t=e.TransactionController)||void 0===t?void 0:t.transactions;Array.isArray(f)&&f.forEach((e=>{"number"==typeof e.metamaskNetworkId&&(e.metamaskNetworkId=e.metamaskNetworkId.toString())}));return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/047.js"}],[235,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:48,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=48;const f=t.data;return t.data=function(e={}){var t,f,a,r,i,o,c,d;null===(t=e.NetworkController)||void 0===t||delete t.settings;const l=(null===(f=e.NetworkController)||void 0===f?void 0:f.provider)||{};if(("rpc"!==l.type||"string"==typeof l.chainId&&s.test(l.chainId))&&"localhost"!==l.type){if(null!==(a=e.NetworkController)&&void 0!==a&&a.provider){var u;if("rpcTarget"in e.NetworkController.provider){const t=e.NetworkController.provider.rpcTarget;e.NetworkController.provider.rpcUrl=t}null===(u=e.NetworkController)||void 0===u||null===(u=u.provider)||void 0===u||delete u.rpcTarget}}else e.NetworkController.provider={type:"rinkeby",rpcUrl:"",chainId:"0x4",nickname:"",rpcPrefs:{},ticker:"ETH"};e.PreferencesController||(e.PreferencesController={});e.PreferencesController.frequentRpcListDetail||(e.PreferencesController.frequentRpcListDetail=[]);e.PreferencesController.frequentRpcListDetail.unshift({rpcUrl:"http://localhost:8545",chainId:"0x539",ticker:"ETH",nickname:"Localhost 8545",rpcPrefs:{}}),null===(r=e.CachedBalancesController)||void 0===r||delete r.cachedBalances;const b=null===(i=e.TransactionController)||void 0===i?void 0:i.transactions;Array.isArray(b)&&b.forEach((e=>{const t=null==e?void 0:e.metamaskNetworkId;"string"==typeof t&&n.test(t)&&(e.metamaskNetworkId=parseInt(t,16).toString(10))}));const h=(null===(o=e.AddressBookController)||void 0===o?void 0:o.addressBook)||{};Object.keys(h).forEach((e=>{if(/^\d+$/iu.test(e)){const t=`0x${parseInt(e,10).toString(16)}`;!function(e,t){Object.values(e).forEach((e=>{e&&"object"==typeof e&&(e.chainId=t)}))}(h[e],t),h[t]?function(e,t,f){const a=e[t]||{},n={...e[f]};Object.keys(a).forEach((e=>{if(n[e]&&"object"==typeof n[e]){const t={};new Set([...Object.keys(n[e]),...Object.keys(a[e]||{})]).forEach((f=>{var s;t[f]=n[e][f]||(null===(s=a[e])||void 0===s?void 0:s[f])||""})),n[e]=t}else a[e]&&"object"==typeof a[e]&&(n[e]=a[e])})),e[f]=n}(h,e,t):h[t]=h[e],delete h[e]}})),null===(c=e.IncomingTransactionsController)||void 0===c||null===(c=c.incomingTxLastFetchedBlocksByNetwork)||void 0===c||delete c.localhost;const p=null===(d=e.PreferencesController)||void 0===d?void 0:d.accountTokens;p&&Object.keys(p).forEach((e=>{var t,f;const a=(null===(t=p[e])||void 0===t?void 0:t.localhost)||[];if(a.length>0){const t=p[e].rpc||[];t.length>0?p[e].rpc=function(e,t){const f=s(e),a=s(t),n=[];return new Set([...Object.keys(f),...Object.keys(a)]).forEach((e=>{n.push({...f[e],...a[e]})})),n;function s(e){return e.reduce(((e,t)=>(null!=t&&t.address&&"string"==typeof(null==t?void 0:t.address)&&(e[t.address]=t),e)),{})}}(a,t):p[e].rpc=a}null===(f=p[e])||void 0===f||delete f.localhost}));return e}(f),t}};const n=/^0x[0-9a-f]+$/iu,s=/^0x[1-9a-f]+[0-9a-f]*$/iu}}},{package:"$root$",file:"app/scripts/migrations/048.js"}],[236,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:49,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=49;const f=t.data;return t.data=function(e={}){if(e.PreferencesController){const{metaMetricsId:t,participateInMetaMetrics:f,metaMetricsSendCount:a}=e.PreferencesController;e.MetaMetricsController=e.MetaMetricsController??{},t!==undefined&&(e.MetaMetricsController.metaMetricsId=t,delete e.PreferencesController.metaMetricsId),f!==undefined&&(e.MetaMetricsController.participateInMetaMetrics=f,delete e.PreferencesController.participateInMetaMetrics),a!==undefined&&(e.MetaMetricsController.metaMetricsSendCount=a,delete e.PreferencesController.metaMetricsSendCount)}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/049.js"}],[237,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");const n=["METASWAP_GAS_PRICE_ESTIMATES_LAST_RETRIEVED","METASWAP_GAS_PRICE_ESTIMATES","cachedFetch","BASIC_PRICE_ESTIMATES_LAST_RETRIEVED","BASIC_PRICE_ESTIMATES","BASIC_GAS_AND_TIME_API_ESTIMATES","BASIC_GAS_AND_TIME_API_ESTIMATES_LAST_RETRIEVED","GAS_API_ESTIMATES_LAST_RETRIEVED","GAS_API_ESTIMATES"];f.default={version:50,async migrate(e){const t=(0,a.cloneDeep)(e);return t.meta.version=50,n.forEach((e=>{var t;return null===(t=window.localStorage)||void 0===t?void 0:t.removeItem(e)})),t}}}}},{package:"$root$",file:"app/scripts/migrations/050.js"}],[2371,{"./push-utils.cjs":2372},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.createSubscribeToPushNotifications=f.deleteRegToken=f.createRegToken=void 0;var a=e("./push-utils.cjs");Object.defineProperty(f,"createRegToken",{enumerable:!0,get:function(){return a.createRegToken}}),Object.defineProperty(f,"deleteRegToken",{enumerable:!0,get:function(){return a.deleteRegToken}}),Object.defineProperty(f,"createSubscribeToPushNotifications",{enumerable:!0,get:function(){return a.createSubscribeToPushNotifications}})}}},{package:"@metamask/notification-services-controller",file:"node_modules/@metamask/notification-services-controller/dist/NotificationServicesPushController/web/index.cjs"}],[2372,{"../../NotificationServicesController/index.cjs":2344,"../../shared/to-raw-notification.cjs":2376,"firebase/app":4448,"firebase/messaging":4449,"firebase/messaging/sw":4450,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.createSubscribeToPushNotifications=f.deleteRegToken=f.createRegToken=f.supportedCache=void 0;const n=e("firebase/app"),s=e("firebase/messaging"),r=e("firebase/messaging/sw"),i=a(e("loglevel")),o=e("../../NotificationServicesController/index.cjs"),c=e("../../shared/to-raw-notification.cjs");f.supportedCache=null;const d=async e=>{if(!await(async()=>(f.supportedCache??(f.supportedCache=await(0,r.isSupported)()),f.supportedCache))())return null;const t=await(async e=>{try{return(0,n.getApp)()}catch{const t={apiKey:e.apiKey,authDomain:e.authDomain,storageBucket:e.storageBucket,projectId:e.projectId,messagingSenderId:e.messagingSenderId,appId:e.appId,measurementId:e.measurementId};return(0,n.initializeApp)(t)}})(e);return(0,r.getMessaging)(t)};f.createRegToken=async function(e){try{const t=await d(e);if(!t)return null;return await(0,s.getToken)(t,{serviceWorkerRegistration:self.registration,vapidKey:e.vapidKey})}catch{return null}},f.deleteRegToken=async function(e){try{const t=await d(e);return!t||(await(0,s.deleteToken)(t),!0)}catch{return!1}},f.createSubscribeToPushNotifications=function(e){return async function(t){const f=await async function(e,t){const f=await d(e);if(!f)return null;const a=(0,r.onBackgroundMessage)(f,(async e=>{try{const f=e?.data?.data?JSON.parse(e?.data?.data):undefined;if(!f)return;const a=(0,c.toRawOnChainNotification)(f),n=o.Processors.processNotification(a);await t(n)}catch(t){throw i.default.error("Unable to send push notification:",{notification:e?.data?.data,error:t}),new Error("Unable to send push notification")}}));return()=>a()}(t,(async t=>{e.messenger.publish("NotificationServicesPushController:onNewNotifications",t),await e.onReceivedHandler(t)})),a=function(e){const t=t=>{const f=t?.notification?.data;e(t,f)};return self.addEventListener("notificationclick",t),()=>self.removeEventListener("notificationclick",t)}(((t,f)=>{e.messenger.publish("NotificationServicesPushController:pushNotificationClicked",f),e.onClickHandler(t,f)}));return()=>{f?.(),a()}}}}}},{package:"@metamask/notification-services-controller",file:"node_modules/@metamask/notification-services-controller/dist/NotificationServicesPushController/web/push-utils.cjs"}],[238,{"../../../shared/constants/network":5734,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("../../../shared/constants/network");f.default={version:51,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=51;const f=t.data;return t.data=function(e){var t,f;const{chainId:a,type:s}=(null==e||null===(t=e.NetworkController)||void 0===t?void 0:t.provider)||{},r=null===(f=n.BUILT_IN_NETWORKS[s])||void 0===f?void 0:f.chainId;r&&a!==r&&(e.NetworkController.provider.chainId=r);return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/051.js"}],[2382,{"./ObservableStore":2384},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.ComposedStore=void 0;const a=e("./ObservableStore");class n extends a.ObservableStore{constructor(e){super({}),this._children=e||{},Object.keys(this._children).forEach((e=>{const t=this._children[e];this._addChild(e,t)}))}_addChild(e,t){const f=t=>{const f=this.getState();f[e]=t,this.putState(f)};t.subscribe(f),f(t.getState())}}f.ComposedStore=n}}},{package:"@metamask/obs-store",file:"node_modules/@metamask/obs-store/dist/ComposedStore.js"}],[2383,{"./ObservableStore":2384},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.MergedStore=void 0;const a=e("./ObservableStore");class n extends a.ObservableStore{constructor(e=[]){super({}),this._children=e,e.forEach((e=>this._addChild(e))),this._updateWholeState()}_addChild(e){e.subscribe((()=>this._updateWholeState()))}_updateWholeState(){const e=this._children.map((e=>e.getState())),t=Object.assign({},...e);this.putState(t)}}f.MergedStore=n}}},{package:"@metamask/obs-store",file:"node_modules/@metamask/obs-store/dist/MergedStore.js"}],[2384,{"@metamask/safe-event-emitter":2556},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.ObservableStore=void 0;const n=a(e("@metamask/safe-event-emitter"));class s extends n.default{constructor(e){super(),e===undefined?this._state={}:this._state=e}getState(){return this._getState()}putState(e){this._putState(e),this.emit("update",e)}updateState(e){if(e&&"object"==typeof e){const t=this.getState();this.putState(Object.assign(Object.assign({},t),e))}else this.putState(e)}subscribe(e){this.on("update",e)}unsubscribe(e){this.removeListener("update",e)}_getState(){return this._state}_putState(e){this._state=e}}f.ObservableStore=s}}},{package:"@metamask/obs-store",file:"node_modules/@metamask/obs-store/dist/ObservableStore.js"}],[2385,{"readable-stream":5274},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.storeAsStream=void 0;const a=e("readable-stream");class n extends a.Duplex{constructor(e){super({objectMode:!0}),this.resume(),this.handler=e=>this.push(e),this.obsStore=e,this.obsStore.subscribe(this.handler)}pipe(e,t){const f=super.pipe(e,t);return e.write(this.obsStore.getState()),f}_write(e,t,f){this.obsStore.putState(e),f()}_read(e){return undefined}_destroy(e,t){this.obsStore.unsubscribe(this.handler),super._destroy(e,t)}}f.storeAsStream=function(e){return new n(e)}}}},{package:"@metamask/obs-store",file:"node_modules/@metamask/obs-store/dist/asStream.js"}],[2386,{"./ComposedStore":2382,"./MergedStore":2383,"./ObservableStore":2384,"./asStream":2385,"./transform":2387},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[f]}})}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./asStream"),f),n(e("./ComposedStore"),f),n(e("./MergedStore"),f),n(e("./ObservableStore"),f),n(e("./transform"),f)}}},{package:"@metamask/obs-store",file:"node_modules/@metamask/obs-store/dist/index.js"}],[2387,{"readable-stream":5274},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.storeTransformStream=void 0;const a=e("readable-stream");f.storeTransformStream=function(e){return new a.Transform({objectMode:!0,transform:(t,f,a)=>{try{const f=e(t);return a(undefined,f),undefined}catch(e){return a(e),undefined}}})}}}},{package:"@metamask/obs-store",file:"node_modules/@metamask/obs-store/dist/transform.js"}],[239,{"../../../shared/constants/network":5734,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("../../../shared/constants/network");f.default={version:52,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=52;const f=t.data;return t.data=function(e={}){if(e.PreferencesController){const{accountTokens:t,accountHiddenTokens:f,frequentRpcListDetail:a}=e.PreferencesController,s={},r={};if(t&&Object.keys(t).length>0){for(const e of Object.keys(t)){s[e]={},t[e][n.NETWORK_TYPES.RPC]&&a.forEach((f=>{s[e][f.chainId]=t[e][n.NETWORK_TYPES.RPC]}));for(const f of Object.keys(t[e]))switch(f){case n.NETWORK_TYPES.MAINNET:s[e][n.CHAIN_IDS.MAINNET]=t[e][n.NETWORK_TYPES.MAINNET];break;case"ropsten":s[e]["0x3"]=t[e].ropsten;break;case"rinkeby":s[e]["0x4"]=t[e].rinkeby;break;case n.NETWORK_TYPES.GOERLI:s[e][n.CHAIN_IDS.GOERLI]=t[e][n.NETWORK_TYPES.GOERLI];break;case"kovan":s[e]["0x2a"]=t[e].kovan}}e.PreferencesController.accountTokens=s}if(f&&Object.keys(f).length>0){for(const e of Object.keys(f)){r[e]={},f[e][n.NETWORK_TYPES.RPC]&&a.forEach((t=>{r[e][t.chainId]=f[e][n.NETWORK_TYPES.RPC]}));for(const t of Object.keys(f[e]))switch(t){case n.NETWORK_TYPES.MAINNET:r[e][n.CHAIN_IDS.MAINNET]=f[e][n.NETWORK_TYPES.MAINNET];break;case"ropsten":r[e]["0x3"]=f[e].ropsten;break;case"rinkeby":r[e]["0x4"]=f[e].rinkeby;break;case n.NETWORK_TYPES.GOERLI:r[e][n.CHAIN_IDS.GOERLI]=f[e][n.NETWORK_TYPES.GOERLI];break;case"kovan":r[e]["0x2a"]=f[e].kovan}}e.PreferencesController.accountHiddenTokens=r}}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/052.js"}],[24,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getNotificationServicesControllerMessenger=function(e){return e.getRestricted({name:"NotificationServicesController",allowedActions:["KeyringController:withKeyring","KeyringController:getState","AuthenticationController:getBearerToken","AuthenticationController:isSignedIn","AuthenticationController:performSignIn","UserStorageController:getStorageKey","UserStorageController:performGetStorage","UserStorageController:performSetStorage","NotificationServicesPushController:enablePushNotifications","NotificationServicesPushController:disablePushNotifications","NotificationServicesPushController:subscribeToPushNotifications","NotificationServicesPushController:updateTriggerPushNotifications"],allowedEvents:["KeyringController:stateChange","KeyringController:lock","KeyringController:unlock","NotificationServicesPushController:onNewNotifications","NotificationServicesPushController:stateChange"]})}}}},{package:"$root$",file:"app/scripts/controller-init/messengers/notifications/notification-services-controller-messenger.ts"}],[240,{"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/transaction-controller");f.default={version:53,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=53;const f=t.data;return t.data=function(e){var t,f;const a=null==e||null===(t=e.TransactionController)||void 0===t?void 0:t.transactions,s=null==e||null===(f=e.IncomingTransactionsController)||void 0===f?void 0:f.incomingTransactions;Array.isArray(a)&&a.forEach((e=>{e&&(e.type!==n.TransactionType.retry&&e.type!==n.TransactionType.cancel&&(e.type=e.transactionCategory),delete e.transactionCategory)}));if(s){Object.entries(s).forEach((([t,f])=>{f&&(delete f.transactionCategory,e.IncomingTransactionsController.incomingTransactions[t]={...f,type:n.TransactionType.incoming})}))}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/053.js"}],[2400,{"./enums.cjs":2401,"@metamask/base-controller":1383,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},b=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.PermissionLogController=void 0;const h=e("@metamask/base-controller"),p=e("@metamask/utils"),m=e("./enums.cjs"),g={permissionHistory:{},permissionActivityLog:[]};class y extends h.BaseController{constructor({messenger:e,restrictedMethods:t,state:f}){super({messenger:e,name:"PermissionLogController",metadata:{permissionHistory:{persist:!0,anonymous:!1},permissionActivityLog:{persist:!0,anonymous:!1}},state:{...g,...f}}),a.add(this),n.set(this,void 0),u(this,n,t,"f")}updateAccountsHistory(e,t){if(0===t.length)return;const f={eth_accounts:{accounts:b(this,a,"m",s).call(this,t,Date.now())}};b(this,a,"m",c).call(this,e,f)}createMiddleware(){return(e,t,f)=>{const{origin:s,method:c}=e,l=c.startsWith(m.WALLET_PREFIX),u="eth_requestAccounts"===c;if(!m.LOG_IGNORE_METHODS.includes(c)&&(l||b(this,n,"f").has(c))||u){const n=b(this,a,"m",r).call(this,e,l),c=b(this,a,"m",d).call(this,e);f((e=>{const f=Date.now();b(this,a,"m",i).call(this,n,t,f),c&&!t.error&&t.result&&s&&b(this,a,"m",o).call(this,c,s,t.result,f,u),e()}))}else f()}}}f.PermissionLogController=y,n=new WeakMap,a=new WeakSet,s=function(e,t){return e.reduce(((e,f)=>({...e,[f]:t})),{})},r=function(e,t){const f={id:e.id,method:e.method,methodType:t?m.LOG_METHOD_TYPES.internal:m.LOG_METHOD_TYPES.restricted,origin:e.origin,requestTime:Date.now(),responseTime:null,success:null};return this.update((e=>{const t=[...e.permissionActivityLog,f];e.permissionActivityLog=t.length>m.LOG_LIMIT?t.slice(1):t})),f},i=function(e,t,f){e&&t&&this.update((a=>{a.permissionActivityLog=a.permissionActivityLog.map((a=>a.id===e.id?{...a,success:(0,p.hasProperty)(t,"result"),responseTime:f}:a))}))},o=function(e,t,f,n,r){let i;if(r){const e=f;i={eth_accounts:{accounts:b(this,a,"m",s).call(this,e,n),lastApproved:n}}}else{i=f.reduce(((t,f)=>{const r=f.parentCapability;if(!e.includes(r))return t;if("eth_accounts"===r){const e=b(this,a,"m",l).call(this,f);return{...t,[r]:{lastApproved:n,accounts:b(this,a,"m",s).call(this,e,n)}}}return{...t,[r]:{lastApproved:n}}}),{})}Object.keys(i).length>0&&b(this,a,"m",c).call(this,t,i)},c=function(e,t){const{permissionHistory:f}=this.state,a=f[e]??{},n={...a,...t},s=a.eth_accounts,r=t.eth_accounts;if(s&&r){const e=r.lastApproved??s.lastApproved;n.eth_accounts={lastApproved:e,accounts:{...s.accounts,...r.accounts}}}this.update((t=>{t.permissionHistory={...f,[e]:n}}))},d=function(e){const{method:t,params:f}=e;return"eth_requestAccounts"===t?["eth_accounts"]:t===`${m.WALLET_PREFIX}requestPermissions`&&f&&Array.isArray(f)&&f[0]&&"object"==typeof f[0]&&!Array.isArray(f[0])?Object.keys(f[0]):null},l=function(e){if("eth_accounts"!==e.parentCapability||!e.caveats)return[];const t=new Set;for(const f of e.caveats)if(f.type===m.CAVEAT_TYPES.restrictReturnedAccounts&&Array.isArray(f.value))for(const e of f.value)t.add(e);return[...t]}}}},{package:"@metamask/permission-log-controller",file:"node_modules/@metamask/permission-log-controller/dist/PermissionLogController.cjs"}],[2401,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a;Object.defineProperty(f,"__esModule",{value:!0}),f.LOG_LIMIT=f.LOG_METHOD_TYPES=f.LOG_IGNORE_METHODS=f.CAVEAT_TYPES=f.WALLET_PREFIX=void 0,f.WALLET_PREFIX="wallet_",f.CAVEAT_TYPES=Object.freeze({restrictReturnedAccounts:"restrictReturnedAccounts"}),f.LOG_IGNORE_METHODS=["wallet_registerOnboarding","wallet_watchAsset"],function(e){e.restricted="restricted",e.internal="internal"}(a||(f.LOG_METHOD_TYPES=a={})),f.LOG_LIMIT=100}}},{package:"@metamask/permission-log-controller",file:"node_modules/@metamask/permission-log-controller/dist/enums.cjs"}],[2402,{"./PermissionLogController.cjs":2400},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./PermissionLogController.cjs"),f)}}},{package:"@metamask/permission-log-controller",file:"node_modules/@metamask/permission-log-controller/dist/index.cjs"}],[2403,{"./PhishingDetector.cjs":2404,"./types.cjs":2406,"./utils.cjs":2407,"@metamask/base-controller":1383,"@metamask/controller-utils":1474,"punycode/punycode.js":5071},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},g=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.PhishingController=f.phishingListKeyNameMap=f.ListNames=f.ListKeys=f.C2_DOMAIN_BLOCKLIST_URL=f.METAMASK_HOTLIST_DIFF_URL=f.METAMASK_STALELIST_URL=f.STALELIST_REFRESH_INTERVAL=f.HOTLIST_REFRESH_INTERVAL=f.C2_DOMAIN_BLOCKLIST_REFRESH_INTERVAL=f.PHISHING_DETECTION_SCAN_ENDPOINT=f.PHISHING_DETECTION_BASE_URL=f.C2_DOMAIN_BLOCKLIST_ENDPOINT=f.CLIENT_SIDE_DETECION_BASE_URL=f.METAMASK_HOTLIST_DIFF_FILE=f.METAMASK_STALELIST_FILE=f.PHISHING_CONFIG_BASE_URL=void 0;const y=e("@metamask/base-controller"),w=e("@metamask/controller-utils"),v=e("punycode/punycode.js"),k=e("./PhishingDetector.cjs"),S=e("./types.cjs"),_=e("./utils.cjs");var T,C;f.PHISHING_CONFIG_BASE_URL="https://phishing-detection.api.cx.metamask.io",f.METAMASK_STALELIST_FILE="/v1/stalelist",f.METAMASK_HOTLIST_DIFF_FILE="/v1/diffsSince",f.CLIENT_SIDE_DETECION_BASE_URL="https://client-side-detection.api.cx.metamask.io",f.C2_DOMAIN_BLOCKLIST_ENDPOINT="/v1/request-blocklist",f.PHISHING_DETECTION_BASE_URL="https://dapp-scanning.api.cx.metamask.io",f.PHISHING_DETECTION_SCAN_ENDPOINT="scan",f.C2_DOMAIN_BLOCKLIST_REFRESH_INTERVAL=300,f.HOTLIST_REFRESH_INTERVAL=300,f.STALELIST_REFRESH_INTERVAL=2592e3,f.METAMASK_STALELIST_URL=`${f.PHISHING_CONFIG_BASE_URL}${f.METAMASK_STALELIST_FILE}`,f.METAMASK_HOTLIST_DIFF_URL=`${f.PHISHING_CONFIG_BASE_URL}${f.METAMASK_HOTLIST_DIFF_FILE}`,f.C2_DOMAIN_BLOCKLIST_URL=`${f.CLIENT_SIDE_DETECION_BASE_URL}${f.C2_DOMAIN_BLOCKLIST_ENDPOINT}`,function(e){e.EthPhishingDetectConfig="eth_phishing_detect_config"}(T||(f.ListKeys=T={})),function(e){e.MetaMask="MetaMask"}(C||(f.ListNames=C={}));const E={[C.MetaMask]:T.EthPhishingDetectConfig};f.phishingListKeyNameMap={[T.EthPhishingDetectConfig]:C.MetaMask};const P="PhishingController",j={phishingLists:{persist:!0,anonymous:!1},whitelist:{persist:!0,anonymous:!1},hotlistLastFetched:{persist:!0,anonymous:!1},stalelistLastFetched:{persist:!0,anonymous:!1},c2DomainBlocklistLastFetched:{persist:!0,anonymous:!1}};class O extends y.BaseController{constructor({stalelistRefreshInterval:e=f.STALELIST_REFRESH_INTERVAL,hotlistRefreshInterval:t=f.HOTLIST_REFRESH_INTERVAL,c2DomainBlocklistRefreshInterval:u=f.C2_DOMAIN_BLOCKLIST_REFRESH_INTERVAL,messenger:b,state:h={}}){super({name:P,metadata:j,messenger:b,state:{phishingLists:[],whitelist:[],hotlistLastFetched:0,stalelistLastFetched:0,c2DomainBlocklistLastFetched:0,...h}}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),c.set(this,void 0),d.set(this,void 0),this.scanUrl=async e=>{const[t,a]=(0,_.getHostnameFromWebUrl)(e);if(!a)return{domainName:"",recommendedAction:S.RecommendedAction.None,fetchError:"url is not a valid web URL"};const n=await(0,w.safelyExecuteWithTimeout)((async()=>{const e=await fetch(`${f.PHISHING_DETECTION_BASE_URL}/${f.PHISHING_DETECTION_SCAN_ENDPOINT}?url=${encodeURIComponent(t)}`,{method:"GET",headers:{Accept:"application/json"}});if(!e.ok)return{error:`${e.status} ${e.statusText}`};return await e.json()}),!0,8e3);return n?"error"in n?{domainName:"",recommendedAction:S.RecommendedAction.None,fetchError:n.error}:{domainName:t,recommendedAction:n.recommendedAction}:{domainName:"",recommendedAction:S.RecommendedAction.None,fetchError:"timeout of 8000ms exceeded"}},m(this,s,e,"f"),m(this,r,t,"f"),m(this,i,u,"f"),g(this,a,"m",l).call(this),this.updatePhishingDetector()}updatePhishingDetector(){m(this,n,new k.PhishingDetector(this.state.phishingLists),"f")}setStalelistRefreshInterval(e){m(this,s,e,"f")}setHotlistRefreshInterval(e){m(this,r,e,"f")}setC2DomainBlocklistRefreshInterval(e){m(this,i,e,"f")}isStalelistOutOfDate(){return(0,_.fetchTimeNow)()-this.state.stalelistLastFetched>=g(this,s,"f")}isHotlistOutOfDate(){return(0,_.fetchTimeNow)()-this.state.hotlistLastFetched>=g(this,r,"f")}isC2DomainBlocklistOutOfDate(){return(0,_.fetchTimeNow)()-this.state.c2DomainBlocklistLastFetched>=g(this,i,"f")}async maybeUpdateState(){if(this.isStalelistOutOfDate())return void await this.updateStalelist();this.isHotlistOutOfDate()&&await this.updateHotlist();this.isC2DomainBlocklistOutOfDate()&&await this.updateC2DomainBlocklist()}test(e){const t=(0,v.toASCII)(e),f=(0,_.getHostnameFromUrl)(t);return this.state.whitelist.includes(f||t)?{result:!1,type:S.PhishingDetectorResultType.All}:g(this,n,"f").check(t)}isBlockedRequest(e){const t=(0,v.toASCII)(e),f=(0,_.getHostnameFromUrl)(t);return this.state.whitelist.includes(f||t)?{result:!1,type:S.PhishingDetectorResultType.All}:g(this,n,"f").isMaliciousC2Domain(t)}bypass(e){const t=(0,v.toASCII)(e),f=(0,_.getHostnameFromUrl)(t),{whitelist:a}=this.state;a.includes(f||t)||this.update((e=>{e.whitelist.push(f||t)}))}async updateC2DomainBlocklist(){if(g(this,d,"f"))await g(this,d,"f");else try{m(this,d,g(this,a,"m",h).call(this),"f"),await g(this,d,"f")}finally{m(this,d,undefined,"f")}}async updateHotlist(){if(g(this,o,"f"))await g(this,o,"f");else try{m(this,o,g(this,a,"m",b).call(this),"f"),await g(this,o,"f")}finally{m(this,o,undefined,"f")}}async updateStalelist(){if(g(this,c,"f"))await g(this,c,"f");else try{m(this,c,g(this,a,"m",u).call(this),"f"),await g(this,c,"f")}finally{m(this,c,undefined,"f")}}}f.PhishingController=O,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,c=new WeakMap,d=new WeakMap,a=new WeakSet,l=function(){this.messagingSystem.registerActionHandler(`${P}:maybeUpdateState`,this.maybeUpdateState.bind(this)),this.messagingSystem.registerActionHandler(`${P}:testOrigin`,this.test.bind(this))},u=async function(){let e=null,t=null,n=null;try{const s=g(this,a,"m",p).call(this,f.METAMASK_STALELIST_URL),r=g(this,a,"m",p).call(this,f.C2_DOMAIN_BLOCKLIST_URL);[e,n]=await Promise.all([s,r]),e?.data&&e.data.lastUpdated>0&&(t=await g(this,a,"m",p).call(this,`${f.METAMASK_HOTLIST_DIFF_URL}/${e.data.lastUpdated}`))}finally{const e=(0,_.fetchTimeNow)();this.update((t=>{t.stalelistLastFetched=e,t.hotlistLastFetched=e,t.c2DomainBlocklistLastFetched=e}))}if(!e||!t)return;const{eth_phishing_detect_config:s,...r}=e.data,i={...s,...r,c2DomainBlocklist:n?n.recentlyAdded:[],name:f.phishingListKeyNameMap.eth_phishing_detect_config},o=(0,_.applyDiffs)(i,t.data,T.EthPhishingDetectConfig);this.update((e=>{e.phishingLists=[o]})),this.updatePhishingDetector()},b=async function(){let e;try{if(0===this.state.phishingLists.length)return;const t=Math.max(...this.state.phishingLists.map((({lastUpdated:e})=>e)));e=await g(this,a,"m",p).call(this,`${f.METAMASK_HOTLIST_DIFF_URL}/${t}`)}finally{this.update((e=>{e.hotlistLastFetched=(0,_.fetchTimeNow)()}))}if(!e?.data)return;const t=e.data,n=this.state.phishingLists.map((e=>(0,_.applyDiffs)(e,t,E[e.name],[],[])));this.update((e=>{e.phishingLists=n})),this.updatePhishingDetector()},h=async function(){let e=null;try{e=await g(this,a,"m",p).call(this,`${f.C2_DOMAIN_BLOCKLIST_URL}?timestamp=${(0,_.roundToNearestMinute)(this.state.c2DomainBlocklistLastFetched)}`)}finally{this.update((e=>{e.c2DomainBlocklistLastFetched=(0,_.fetchTimeNow)()}))}if(!e)return;const t=e.recentlyAdded,n=e.recentlyRemoved,s=this.state.phishingLists.map((e=>(0,_.applyDiffs)(e,[],E[e.name],t,n)));this.update((e=>{e.phishingLists=s})),this.updatePhishingDetector()},p=async function(e){const t=await(0,w.safelyExecute)((()=>fetch(e,{cache:"no-cache"})),!0);return 200===t?.status?await t.json():null},f.default=O}}},{package:"@metamask/phishing-controller",file:"node_modules/@metamask/phishing-controller/dist/PhishingController.cjs"}],[2404,{"./types.cjs":2406,"./utils.cjs":2407,"fastest-levenshtein":4447},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},o=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.PhishingDetector=void 0;const c=e("fastest-levenshtein"),d=e("./types.cjs"),l=e("./utils.cjs");f.PhishingDetector=class{constructor(e){a.add(this),n.set(this,void 0),s.set(this,void 0),Array.isArray(e)?(i(this,n,(0,l.processConfigs)(e),"f"),i(this,s,!1,"f")):(i(this,n,[(0,l.getDefaultPhishingDetectorConfig)({allowlist:e.whitelist,blocklist:e.blacklist,c2DomainBlocklist:e.c2DomainBlocklist,fuzzylist:e.fuzzylist,tolerance:e.tolerance})],"f"),i(this,s,!0,"f"))}check(e){const t=o(this,a,"m",r).call(this,e);if(o(this,s,"f")){let e=t.type;return e===d.PhishingDetectorResultType.Allowlist?e=d.PhishingDetectorResultType.Whitelist:e===d.PhishingDetectorResultType.Blocklist&&(e=d.PhishingDetectorResultType.Blacklist),{match:t.match,result:t.result,type:e}}return t}isMaliciousC2Domain(e){const t=(0,l.getHostnameFromUrl)(e);if(!t)return{result:!1,type:d.PhishingDetectorResultType.C2DomainBlocklist};const f=t.endsWith(".")?t.slice(0,-1):t,a=(0,l.domainToParts)(f);for(const{allowlist:e,name:t,version:f}of o(this,n,"f")){const n=(0,l.matchPartsAgainstList)(a,e);if(n){return{match:(0,l.domainPartsToDomain)(n),name:t,result:!1,type:d.PhishingDetectorResultType.Allowlist,version:f===undefined?f:String(f)}}}const s=(0,l.sha256Hash)(t.toLowerCase()),r=(0,l.generateParentDomains)(a.reverse(),5);for(const{c2DomainBlocklist:e,name:t,version:f}of o(this,n,"f"))if(e&&0!==e.length){if(e.includes(s))return{name:t,result:!0,type:d.PhishingDetectorResultType.C2DomainBlocklist,version:f===undefined?f:String(f)};for(const a of r){const n=(0,l.sha256Hash)(a);if(e.includes(n))return{name:t,result:!0,type:d.PhishingDetectorResultType.C2DomainBlocklist,version:f===undefined?f:String(f)}}}return{result:!1,type:d.PhishingDetectorResultType.C2DomainBlocklist}}},n=new WeakMap,s=new WeakMap,a=new WeakSet,r=function(e){const t=e.match(new RegExp("Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,}","u"));if(null!==t){const e=t[0];for(const{blocklist:t,name:f,version:a}of o(this,n,"f")){if(t.filter((e=>1===e.length)).find((t=>t[0]===e)))return{name:f,match:e,result:!0,type:d.PhishingDetectorResultType.Blocklist,version:a===undefined?a:String(a)}}}let f;try{f=new URL(e).hostname}catch(e){return{result:!1,type:d.PhishingDetectorResultType.All}}const a=f.endsWith(".")?f.slice(0,-1):f,s=(0,l.domainToParts)(a);for(const{allowlist:e,name:t,version:f}of o(this,n,"f")){const a=(0,l.matchPartsAgainstList)(s,e);if(a){return{match:(0,l.domainPartsToDomain)(a),name:t,result:!1,type:d.PhishingDetectorResultType.Allowlist,version:f===undefined?f:String(f)}}}for(const{blocklist:e,fuzzylist:t,name:f,tolerance:a,version:r}of o(this,n,"f")){const n=(0,l.matchPartsAgainstList)(s,e);if(n){return{match:(0,l.domainPartsToDomain)(n),name:f,result:!0,type:d.PhishingDetectorResultType.Blocklist,version:r===undefined?r:String(r)}}if(a>0){let e=(0,l.domainPartsToFuzzyForm)(s);e=e.replace(/^www\./u,"");const n=t.find((t=>{const f=(0,l.domainPartsToFuzzyForm)(t);return(0,c.distance)(e,f)<=a}));if(n){return{name:f,match:(0,l.domainPartsToDomain)(n),result:!0,type:d.PhishingDetectorResultType.Fuzzy,version:r===undefined?r:String(r)}}}}return{result:!1,type:d.PhishingDetectorResultType.All}}}}},{package:"@metamask/phishing-controller",file:"node_modules/@metamask/phishing-controller/dist/PhishingDetector.cjs"}],[2405,{"./PhishingController.cjs":2403,"./PhishingDetector.cjs":2404,"./types.cjs":2406},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),f.RecommendedAction=f.PhishingDetectorResultType=f.PhishingDetector=void 0,n(e("./PhishingController.cjs"),f);var s=e("./PhishingDetector.cjs");Object.defineProperty(f,"PhishingDetector",{enumerable:!0,get:function(){return s.PhishingDetector}});var r=e("./types.cjs");Object.defineProperty(f,"PhishingDetectorResultType",{enumerable:!0,get:function(){return r.PhishingDetectorResultType}}),Object.defineProperty(f,"RecommendedAction",{enumerable:!0,get:function(){return r.RecommendedAction}})}}},{package:"@metamask/phishing-controller",file:"node_modules/@metamask/phishing-controller/dist/index.cjs"}],[2406,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n;Object.defineProperty(f,"__esModule",{value:!0}),f.RecommendedAction=f.PhishingDetectorResultType=void 0,function(e){e.All="all",e.Fuzzy="fuzzy",e.Blocklist="blocklist",e.Allowlist="allowlist",e.Blacklist="blacklist",e.Whitelist="whitelist",e.C2DomainBlocklist="c2DomainBlocklist"}(a||(f.PhishingDetectorResultType=a={})),function(e){e.None="NONE",e.Warn="WARN",e.Block="BLOCK"}(n||(f.RecommendedAction=n={}))}}},{package:"@metamask/phishing-controller",file:"node_modules/@metamask/phishing-controller/dist/types.cjs"}],[2407,{"./PhishingController.cjs":2403,"@noble/hashes/utils":3003,"ethereum-cryptography/sha256":4318},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.generateParentDomains=f.getHostnameFromWebUrl=f.getHostnameFromUrl=f.sha256Hash=f.matchPartsAgainstList=f.domainPartsToFuzzyForm=f.domainPartsToDomain=f.processConfigs=f.getDefaultPhishingDetectorConfig=f.processDomainList=f.domainToParts=f.validateConfig=f.applyDiffs=f.roundToNearestMinute=f.fetchTimeNow=void 0;const a=e("@noble/hashes/utils"),n=e("ethereum-cryptography/sha256"),s=e("./PhishingController.cjs");f.fetchTimeNow=()=>Math.round(Date.now()/1e3),f.roundToNearestMinute=function(e){return 60*Math.floor(e/60)};const r=e=>{const t=e.indexOf(".");return[e.slice(0,t),e.slice(t+1)]};function i(e){if(null===e||"object"!=typeof e)throw new Error("Invalid config");if("tolerance"in e&&!("fuzzylist"in e))throw new Error("Fuzzylist tolerance provided without fuzzylist");if("name"in e&&("string"!=typeof e.name||""===e.name))throw new Error("Invalid config parameter: 'name'");if("version"in e&&(!["number","string"].includes(typeof e.version)||""===e.version))throw new Error("Invalid config parameter: 'version'")}f.applyDiffs=(e,t,f,a=[],n=[])=>{const i=t.filter((({timestamp:t,targetList:a})=>t>e.lastUpdated&&r(a)[0]===f));let o=e.lastUpdated;const c={allowlist:new Set(e.allowlist),blocklist:new Set(e.blocklist),fuzzylist:new Set(e.fuzzylist),c2DomainBlocklist:new Set(e.c2DomainBlocklist)};for(const{isRemoval:e,targetList:t,url:f,timestamp:a}of i){const n=r(t)[1];a>o&&(o=a),e?c[n].delete(f):c[n].add(f)}if(f===s.ListKeys.EthPhishingDetectConfig){for(const e of a)c.c2DomainBlocklist.add(e);for(const e of n)c.c2DomainBlocklist.delete(e)}return{c2DomainBlocklist:Array.from(c.c2DomainBlocklist),allowlist:Array.from(c.allowlist),blocklist:Array.from(c.blocklist),fuzzylist:Array.from(c.fuzzylist),version:e.version,name:s.phishingListKeyNameMap[f],tolerance:e.tolerance,lastUpdated:o}},f.validateConfig=i;f.domainToParts=e=>{try{return e.split(".").reverse()}catch(t){throw new Error(JSON.stringify(e))}};f.processDomainList=e=>e.map(f.domainToParts);f.getDefaultPhishingDetectorConfig=({allowlist:e=[],blocklist:t=[],fuzzylist:a=[],tolerance:n=3})=>({allowlist:(0,f.processDomainList)(e),blocklist:(0,f.processDomainList)(t),fuzzylist:(0,f.processDomainList)(a),tolerance:n});f.processConfigs=(e=[])=>e.filter((e=>{try{return i(e),!0}catch(e){return console.error(e),!1}})).map((e=>({...e,...(0,f.getDefaultPhishingDetectorConfig)(e)})));f.domainPartsToDomain=e=>e.slice().reverse().join(".");f.domainPartsToFuzzyForm=e=>e.slice(1).reverse().join(".");f.matchPartsAgainstList=(e,t)=>t.find((t=>!(t.length>e.length)&&t.every(((t,f)=>e[f]===t))));f.sha256Hash=e=>{const t=(0,n.sha256)((new TextEncoder).encode(e.toLowerCase()));return(0,a.bytesToHex)(t)};f.getHostnameFromUrl=e=>{let t;try{if(t=new URL(e).hostname,!t||""===t.split(".").join(""))return null}catch{return null}return t};f.getHostnameFromWebUrl=e=>{if(!e.toLowerCase().startsWith("http://")&&!e.toLowerCase().startsWith("https://"))return["",!1];const t=(0,f.getHostnameFromUrl)(e);return[t||"",Boolean(t)]};f.generateParentDomains=(e,t=5)=>{const f=[];if(0===e.length)return f;if(1===e.length)f.push(e[0].toLowerCase());else{const a=e.slice(-2).join(".");f.push(a.toLowerCase());for(let a=e.length-3;a>=0&&f.lengthn(e)));for(const e of a)"string"==typeof e.decimals&&(e.decimals=parseInt(e.decimals));t.PreferencesController.tokens=a;const{accountTokens:s}=t.PreferencesController;if(s&&"object"==typeof s)for(const e of Object.keys(s)){const t=s[e];if(t&&"object"==typeof t)for(const e of Object.keys(t)){const f=(t[e]||[]).filter((({decimals:e})=>n(e)));for(const e of f)"string"==typeof e.decimals&&(e.decimals=parseInt(e.decimals));t[e]=f}}return t.PreferencesController.accountTokens=s,t}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/054.js"}],[2419,{"./ppom-controller":2420},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.PPOMController=f.NETWORK_CACHE_DURATION=void 0;var a=e("./ppom-controller");Object.defineProperty(f,"NETWORK_CACHE_DURATION",{enumerable:!0,get:function(){return a.NETWORK_CACHE_DURATION}}),Object.defineProperty(f,"PPOMController",{enumerable:!0,get:function(){return a.PPOMController}})}}},{package:"@metamask/ppom-validator",file:"node_modules/@metamask/ppom-validator/dist/index.js"}],[242,{"../../../shared/constants/network":5734,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("../../../shared/constants/network");f.default={version:55,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=55;const f=t.data;return t.data=function(e){var t;null!=e&&null!==(t=e.IncomingTransactionsController)&&void 0!==t&&t.incomingTxLastFetchedBlocksByNetwork&&(e.IncomingTransactionsController.incomingTxLastFetchedBlockByChainId=(0,a.mapKeys)(e.IncomingTransactionsController.incomingTxLastFetchedBlocksByNetwork,((e,t)=>{var f;return(null===(f=n.BUILT_IN_NETWORKS[t])||void 0===f?void 0:f.chainId)??s})),delete e.IncomingTransactionsController.incomingTxLastFetchedBlockByChainId[s],delete e.IncomingTransactionsController.incomingTxLastFetchedBlocksByNetwork);return e}(f),t}};const s="UNKNOWN";n.BUILT_IN_NETWORKS.rinkeby={networkId:"4",chainId:"0x4",ticker:"ETH"},n.BUILT_IN_NETWORKS.ropsten={networkId:"3",chainId:"0x3",ticker:"ETH"},n.BUILT_IN_NETWORKS.kovan={networkId:"42",chainId:"0x2a",ticker:"ETH"}}}},{package:"$root$",file:"app/scripts/migrations/055.js"}],[2420,{"./ppom-storage":2421,"./util":2422,"@metamask/base-controller":2427,"@metamask/controller-utils":1474,"await-semaphore":3917},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m,g,y,w,v,k,S,_,T,C,E,P,j,O,I,A,x,N,M,R=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},L=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.PPOMController=f.NETWORK_CACHE_DURATION=void 0;const D=e("@metamask/base-controller"),B=e("@metamask/controller-utils"),$=e("await-semaphore"),F=e("./ppom-storage"),q=e("./util");f.NETWORK_CACHE_DURATION=6048e5;const H=["eth_call","eth_blockNumber","eth_createAccessList","eth_getLogs","eth_getFilterLogs","eth_getTransactionByHash","eth_chainId","eth_getBlockByHash","eth_getBlockByNumber","eth_getCode","eth_getStorageAt","eth_getBalance","eth_getTransactionCount","trace_call","trace_callMany","debug_traceCall","trace_filter"],U={versionInfo:{persist:!0,anonymous:!1},storageMetadata:{persist:!0,anonymous:!1}},V="PPOMController",W={headers:{"Content-Type":"application/json"}};class z extends D.BaseController{constructor({chainId:e,messenger:t,provider:f,storageBackend:y,securityAlertsEnabled:w,onPreferencesChange:v,ppomProvider:T,cdnBaseUrl:C,providerRequestLimit:E,state:P,blockaidPublicKey:j,nativeCrypto:O}){super({name:V,metadata:U,messenger:t,state:{versionInfo:P?.versionInfo??[],storageMetadata:P?.storageMetadata??[]}}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),c.set(this,void 0),d.set(this,void 0),l.set(this,0),u.set(this,void 0),b.set(this,void 0),h.set(this,{}),p.set(this,void 0),m.set(this,!1),g.set(this,undefined),R(this,u,(0,q.addHexPrefix)(e),"f"),R(this,s,f,"f"),R(this,o,T,"f"),R(this,r,new F.PPOMStorage({storageBackend:y,readMetadata:()=>[...this.state.storageMetadata],writeMetadata:e=>{this.update((t=>{t.storageMetadata=e}))}}),"f"),R(this,i,new $.Mutex,"f"),R(this,c,C,"f"),R(this,d,E??300,"f"),R(this,b,w,"f"),R(this,p,j,"f"),R(this,g,O,"f"),v(L(this,a,"m",k).bind(this)),L(this,a,"m",S).call(this),L(this,a,"m",_).call(this)}async usePPOM(e,t){const f=t??L(this,u,"f");if(!L(this,b,"f"))throw Error("User has securityAlertsEnabled set to false");if(!(0,q.blockaidValidationSupportedForNetwork)(f))throw Error(`Blockaid validation not available on network with chainId: ${f}`);return await L(this,i,"f").use((async()=>{const t=await L(this,a,"m",C).call(this,f);R(this,l,0,"f"),R(this,h,{},"f");return{...await e(t),providerRequestsCount:{...L(this,h,"f")}}}))}}f.PPOMController=z,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,c=new WeakMap,d=new WeakMap,l=new WeakMap,u=new WeakMap,b=new WeakMap,h=new WeakMap,p=new WeakMap,m=new WeakMap,g=new WeakMap,a=new WeakSet,y=async function(){if(L(this,b,"f")&&!L(this,m,"f")){const{ppomInit:e}=L(this,o,"f");await e("./ppom_bg.wasm"),R(this,m,!0,"f")}},w=function(){L(this,a,"m",T).call(this).catch((e=>{console.error(`Error in resetting ppom: ${e.message}`)}));const{storageMetadata:e}=this.state;this.update((e=>{e.versionInfo=[],e.storageMetadata=[]})),L(this,r,"f").deleteAllFiles(e).catch((e=>{console.error(`Error in deleting files: ${e.message}`)}))},v=function(e){const t=this.messagingSystem.call("NetworkController:getNetworkClientById",e.selectedNetworkClientId),{chainId:f}=t.configuration,n=(0,q.addHexPrefix)(f);n!==L(this,u,"f")&&(R(this,u,n,"f"),L(this,a,"m",T).call(this).catch((e=>{console.error(`Error in resetting ppom: ${e.message}`)})))},k=function(e){const t=e.securityAlertsEnabled;t!==L(this,b,"f")&&(R(this,b,t,"f"),t||L(this,a,"m",w).call(this))},S=function(){this.messagingSystem.registerActionHandler(`${V}:usePPOM`,this.usePPOM.bind(this))},_=function(){const e=L(this,a,"m",v).bind(this);this.messagingSystem.subscribe("NetworkController:networkDidChange",e)},T=async function(){await L(this,i,"f").use((async()=>{L(this,n,"f")&&(L(this,n,"f").free(),R(this,n,undefined,"f"))}))},C=async function(e){const t=await L(this,a,"m",E).call(this);let f;return(L(this,n,"f")===undefined||t)&&(f=await L(this,a,"m",M).call(this,e),L(this,u,"f")===e&&(L(this,n,"f")&&L(this,n,"f").free(),R(this,n,f,"f")),L(this,r,"f").syncMetadata(this.state.versionInfo).catch((e=>{console.error(`Error while trying to sync metadata: ${e.message}`)}))),f},E=async function(){const e=await L(this,a,"m",A).call(this);return!!e&&(this.update((t=>{t.versionInfo=e})),!0)},P=function(e,t){return e.find((e=>e.name===t.name&&e.chainId===t.chainId&&e.version===t.version&&e.checksum===t.checksum))},j=async function(e){const t=await Promise.all(e.map((async e=>{let t;try{t=await L(this,a,"m",O).call(this,e)}catch(t){console.error(`Error in getting file ${e.filePath}: ${t.message}`)}return t?[e.name,new Uint8Array(t)]:undefined})));return t?.filter((e=>e?.[1]!==undefined))},O=async function(e){const{storageMetadata:t}=this.state;if(L(this,a,"m",P).call(this,t,e))try{return await L(this,r,"f").readFile(e.name,e.chainId)}catch(e){console.error(`Error in reading file: ${e.message}`)}(0,q.checkFilePath)(e.filePath);const f=(0,q.constructURLHref)(L(this,c,"f"),e.filePath),n=await L(this,a,"m",x).call(this,f);return await(0,q.validateSignature)(n,e.hashSignature,L(this,p,"f"),e.filePath,L(this,g,"f")),await L(this,r,"f").writeFile({data:n,...e}).catch((e=>{console.error(`Error in writing file: ${e.message}`)})),n},I=async function(e,t={},f="GET"){const a=await(0,B.safelyExecute)((async()=>(0,B.timeoutFetch)(e,{method:f,cache:"no-cache",redirect:"error",...t},1e4)),!0),n=304===a?.status;if(!a?.status||a?.status<200||a?.status>399)throw new Error(`Failed to fetch file with url: ${e}`);return{cached:n,response:a}},A=async function(){const e=(0,q.constructURLHref)(L(this,c,"f"),"ppom_version.json"),{cached:t,response:f}=await L(this,a,"m",I).call(this,e,{headers:W});return t&&this.state.versionInfo?.length?undefined:f.json()},x=async function(e){const{response:t}=await L(this,a,"m",I).call(this,e);return await t.arrayBuffer()},N=async function(e,t){if(L(this,l,"f")>L(this,d,"f"))return q.PROVIDER_ERRORS.limitExceeded();if(R(this,l,L(this,l,"f")+1,"f"),!H.includes(e))return q.PROVIDER_ERRORS.methodNotSupported();L(this,h,"f")[e]=L(this,h,"f")[e]?Number(L(this,h,"f")[e])+1:1;const f=(0,q.createPayload)(e,t);try{const e=await L(this,s,"f").request(f);return{jsonrpc:"2.0",id:f.id,result:e}}catch(e){return{jsonrpc:"2.0",id:f.id,error:e}}},M=async function(e){await L(this,a,"m",y).call(this);const t=this.state.versionInfo.filter((({chainId:t})=>t===e));if(t?.length===undefined||0===t?.length)throw new Error(`Aborting initialising PPOM as no files are found for the network with chainId: ${e}`);const f=await L(this,a,"m",j).call(this,t);if(f?.length!==t?.length)throw new Error(`Aborting initialising PPOM as not all files could not be downloaded for the network with chainId: ${e}`);const{PPOM:n}=L(this,o,"f");return n.new(L(this,a,"m",N).bind(this),f)}}}},{package:"@metamask/ppom-validator",file:"node_modules/@metamask/ppom-validator/dist/ppom-controller.js"}],[2421,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},i=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.PPOMStorage=void 0;f.PPOMStorage=class{constructor({storageBackend:e,readMetadata:t,writeMetadata:f}){a.set(this,void 0),n.set(this,void 0),s.set(this,void 0),r(this,a,e,"f"),r(this,n,t,"f"),r(this,s,f,"f")}async syncMetadata(e){const t=i(this,n,"f").call(this),f=[];for(const a of t){try{await this.readFile(a.name,a.chainId)}catch(e){console.error("Error: ",e);continue}e.find((e=>e.name===a.name&&e.chainId===a.chainId&&e.version===a.version&&e.checksum===a.checksum))&&f.push(a)}const r=await i(this,a,"f").dir();for(const{name:e,chainId:t}of r)f.find((f=>f.name===e&&f.chainId===t))||await i(this,a,"f").delete({name:e,chainId:t});return i(this,s,"f").call(this,f),f}async deleteAllFiles(e){for(const t of e){const{name:e,chainId:f}=t;try{await i(this,a,"f").delete({name:e,chainId:f})}catch(t){console.error(`Error in deleting file: ${e}, ${f}`,t)}}}async readFile(e,t){const f=i(this,n,"f").call(this).find((f=>f.name===e&&f.chainId===t));if(!f)throw new Error(`File metadata (${e}, ${t}) not found`);const s=await i(this,a,"f").read({name:e,chainId:t},f.checksum);if(!s)throw new Error(`Storage File (${e}, ${t}) not found`);return s}async writeFile({data:e,name:t,chainId:f,version:r,checksum:o}){await i(this,a,"f").write({name:t,chainId:f},e,o);const c=i(this,n,"f").call(this),d=c.find((e=>e.name===t&&e.chainId===f));d?(d.version=r,d.checksum=o):c.push({name:t,chainId:f,version:r,checksum:o}),i(this,s,"f").call(this,c)}},a=new WeakMap,n=new WeakMap,s=new WeakMap}}},{package:"@metamask/ppom-validator",file:"node_modules/@metamask/ppom-validator/dist/ppom-storage.js"}],[2422,{buffer:4074,"crypto-js":4191,elliptic:4248,"json-rpc-random-id":4687},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){(function(t){(function(){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var f in e)"default"!==f&&Object.prototype.hasOwnProperty.call(e,f)&&a(t,e,f);return n(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.checkFilePath=f.addHexPrefix=f.constructURLHref=f.validateSignature=f.PROVIDER_ERRORS=f.createPayload=f.IdGenerator=f.blockaidValidationSupportedForNetwork=f.SUPPORTED_NETWORK_CHAINIDS=void 0;const i=s(e("crypto-js")),o=r(e("elliptic")),c=r(e("json-rpc-random-id")),d=o.default.eddsa;f.SUPPORTED_NETWORK_CHAINIDS={MAINNET:"0x1",BSC:"0x38",OPTIMISM:"0xa",POLYGON:"0x89",AVALANCHE:"0xa86a",ARBITRUM:"0xa4b1",LINEA_MAINNET:"0xe708",BASE:"0x2105",SEPOLIA:"0xaa36a7",OPBNB:"0xcc",ZKSYNC:"0x144",SCROLL:"0x82750",BERACHAIN:"0x138d4",METACHAIN_ONE:"0x1b6e6"};f.blockaidValidationSupportedForNetwork=e=>Object.values(f.SUPPORTED_NETWORK_CHAINIDS).some((t=>t===e)),f.IdGenerator=(0,c.default)();f.createPayload=(e,t)=>({id:(0,f.IdGenerator)(),jsonrpc:"2.0",method:e,params:t??[]}),f.PROVIDER_ERRORS={limitExceeded:()=>({jsonrpc:"2.0",id:(0,f.IdGenerator)(),error:{code:-32005,message:"Limit exceeded"}}),methodNotSupported:()=>({jsonrpc:"2.0",id:(0,f.IdGenerator)(),error:{code:-32601,message:"Method not supported"}})};f.validateSignature=async(e,f,a,n,s,r)=>{const o=await(async(e,t,f=!0)=>{if(t)return t.createHash("sha256").update(e).digest("hex");if("crypto"in globalThis&&"object"==typeof globalThis.crypto&&globalThis.crypto.subtle?.digest&&f){const t=await globalThis.crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(t)).map((e=>e.toString(16).padStart(2,"0"))).join("")}return(0,i.SHA256)(i.default.lib.WordArray.create(e)).toString()})(e,s,r);if(!new d("ed25519").keyFromPublic(a).verify(t.from(o),f))throw Error(`Signature verification failed for file path: ${n}`)};f.constructURLHref=(e,t)=>new URL(`https://${e}/${t}`.replace(/https:\/\/https:\/\//gu,"https://").replace(/\/\//gu,"/")).href;f.addHexPrefix=e=>"string"!=typeof e||e.match(/^-?0x/u)?e:e.match(/^-?0X/u)?e.replace("0X","0x"):`0x${parseInt(e,10).toString(16)}`;f.checkFilePath=e=>{if(!e.match(/^[\w./]+$/u))throw new Error(`Invalid file path for data file: ${e}`)}}).call(this)}).call(this,e("buffer").Buffer)}}},{package:"@metamask/ppom-validator",file:"node_modules/@metamask/ppom-validator/dist/util.js"}],[2423,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.BaseControllerV1=f.isBaseControllerV1=void 0,f.isBaseControllerV1=function(e){return"name"in e&&"string"==typeof e.name&&"config"in e&&"object"==typeof e.config&&"defaultConfig"in e&&"object"==typeof e.defaultConfig&&"state"in e&&"object"==typeof e.state&&"defaultState"in e&&"object"==typeof e.defaultState&&"disabled"in e&&"boolean"==typeof e.disabled&&"subscribe"in e&&"function"==typeof e.subscribe};class a{constructor(e={},t={}){this.defaultConfig={},this.defaultState={},this.disabled=!1,this.name="BaseController",this.internalConfig=this.defaultConfig,this.internalState=this.defaultState,this.internalListeners=[],this.initialState=t,this.initialConfig=e}initialize(){return this.internalState=this.defaultState,this.internalConfig=this.defaultConfig,this.configure(this.initialConfig),this.update(this.initialState),this}get config(){return this.internalConfig}get state(){return this.internalState}configure(e,t=!1,f=!0){if(f){this.internalConfig=t?e:Object.assign(this.internalConfig,e);for(const e of Object.keys(this.internalConfig)){const t=this.internalConfig[e];t!==undefined&&(this[e]=t)}}else for(const t of Object.keys(e))if(this.internalConfig[t]!==undefined){const f=e[t];this.internalConfig[t]=f,this[t]=f}}notify(){this.disabled||this.internalListeners.forEach((e=>{e(this.internalState)}))}subscribe(e){this.internalListeners.push(e)}unsubscribe(e){const t=this.internalListeners.findIndex((t=>e===t));return t>-1&&this.internalListeners.splice(t,1),t>-1}update(e,t=!1){this.internalState=t?Object.assign({},e):Object.assign({},this.internalState,e),this.notify()}}f.BaseControllerV1=a,f.default=a}}},{package:"@metamask/ppom-validator>@metamask/base-controller",file:"node_modules/@metamask/ppom-validator/node_modules/@metamask/base-controller/dist/BaseControllerV1.cjs"}],[2424,{immer:4649},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.getPersistentState=f.getAnonymizedState=f.BaseController=f.isBaseController=void 0;const r=e("immer");(0,r.enablePatches)(),f.isBaseController=function(e){return"name"in e&&"string"==typeof e.name&&"state"in e&&"object"==typeof e.state&&"metadata"in e&&"object"==typeof e.metadata};function i(e,t,f){return Object.keys(e).reduce(((a,n)=>{try{const s=t[n];if(!s)throw new Error(`No metadata found for '${String(n)}'`);const r=s[f],i=e[n];return"function"==typeof r?a[n]=r(i):r&&(a[n]=i),a}catch(e){return setTimeout((()=>{throw e})),a}}),{})}f.BaseController=class{constructor({messenger:e,metadata:t,name:f,state:s}){a.set(this,void 0),this.messagingSystem=e,this.name=f,n(this,a,(0,r.freeze)(s,!0),"f"),this.metadata=t,this.messagingSystem.registerActionHandler(`${f}:getState`,(()=>this.state)),this.messagingSystem.registerInitialEventPayload({eventType:`${f}:stateChange`,getPayload:()=>[this.state,[]]})}get state(){return s(this,a,"f")}set state(e){throw new Error("Controller state cannot be directly mutated; use 'update' method instead.")}update(e){const[t,f,i]=r.produceWithPatches(s(this,a,"f"),e);return n(this,a,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,f),{nextState:t,patches:f,inversePatches:i}}applyPatches(e){const t=(0,r.applyPatches)(s(this,a,"f"),e);n(this,a,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,e)}destroy(){this.messagingSystem.clearEventSubscriptions(`${this.name}:stateChange`)}},a=new WeakMap,f.getAnonymizedState=function(e,t){return i(e,t,"anonymous")},f.getPersistentState=function(e,t){return i(e,t,"persist")}}}},{package:"@metamask/ppom-validator>@metamask/base-controller",file:"node_modules/@metamask/ppom-validator/node_modules/@metamask/base-controller/dist/BaseControllerV2.cjs"}],[2425,{"./RestrictedMessenger.cjs":2426},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.ControllerMessenger=f.Messenger=void 0;const o=e("./RestrictedMessenger.cjs");class c{constructor(){a.set(this,new Map),n.set(this,new Map),s.set(this,new Map),r.set(this,new Map)}registerActionHandler(e,t){if(i(this,a,"f").has(e))throw new Error(`A handler for ${e} has already been registered`);i(this,a,"f").set(e,t)}unregisterActionHandler(e){i(this,a,"f").delete(e)}clearActions(){i(this,a,"f").clear()}call(e,...t){const f=i(this,a,"f").get(e);if(!f)throw new Error(`A handler for ${e} has not been registered`);return f(...t)}registerInitialEventPayload({eventType:e,getPayload:t}){i(this,s,"f").set(e,t)}publish(e,...t){const f=i(this,n,"f").get(e);if(f)for(const[e,a]of f.entries())try{if(a){const f=i(this,r,"f").get(e),n=a(...t);n!==f&&(i(this,r,"f").set(e,n),e(n,f))}else e(...t)}catch(e){setTimeout((()=>{throw e}))}}subscribe(e,t,f){let a=i(this,n,"f").get(e);if(a||(a=new Map,i(this,n,"f").set(e,a)),a.set(t,f),f){const a=i(this,s,"f").get(e);if(a){const e=f(...a());i(this,r,"f").set(t,e)}}}unsubscribe(e,t){const f=i(this,n,"f").get(e);if(!f||!f.has(t))throw new Error(`Subscription not found for event: ${e}`);f.get(t)&&i(this,r,"f").delete(t),f.delete(t)}clearEventSubscriptions(e){i(this,n,"f").delete(e)}clearSubscriptions(){i(this,n,"f").clear()}getRestricted({name:e,allowedActions:t,allowedEvents:f}){return new o.RestrictedMessenger({messenger:this,name:e,allowedActions:t,allowedEvents:f})}}f.Messenger=c,f.ControllerMessenger=c,a=new WeakMap,n=new WeakMap,s=new WeakMap,r=new WeakMap}}},{package:"@metamask/ppom-validator>@metamask/base-controller",file:"node_modules/@metamask/ppom-validator/node_modules/@metamask/base-controller/dist/Messenger.cjs"}],[2426,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},u=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.RestrictedControllerMessenger=f.RestrictedMessenger=void 0;class b{constructor({controllerMessenger:e,messenger:t,name:f,allowedActions:o,allowedEvents:c}){if(a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),t&&e)throw new Error("Both messenger properties provided. Provide message using only 'messenger' option, 'controllerMessenger' is deprecated");if(!t&&!e)throw new Error("Messenger not provided");l(this,n,t??e,"f"),l(this,s,f,"f"),l(this,r,o,"f"),l(this,i,c,"f")}registerActionHandler(e,t){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed registering action handlers prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").registerActionHandler(e,t)}unregisterActionHandler(e){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed unregistering action handlers prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").unregisterActionHandler(e)}call(e,...t){if(!u(this,a,"m",c).call(this,e))throw new Error(`Action missing from allow list: ${e}`);return u(this,n,"f").call(e,...t)}registerInitialEventPayload({eventType:e,getPayload:t}){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").registerInitialEventPayload({eventType:e,getPayload:t})}publish(e,...t){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").publish(e,...t)}subscribe(e,t,f){if(!u(this,a,"m",o).call(this,e))throw new Error(`Event missing from allow list: ${e}`);return f?u(this,n,"f").subscribe(e,t,f):u(this,n,"f").subscribe(e,t)}unsubscribe(e,t){if(!u(this,a,"m",o).call(this,e))throw new Error(`Event missing from allow list: ${e}`);u(this,n,"f").unsubscribe(e,t)}clearEventSubscriptions(e){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed clearing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").clearEventSubscriptions(e)}}f.RestrictedMessenger=b,f.RestrictedControllerMessenger=b,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakSet,o=function(e){const t=u(this,i,"f");return u(this,a,"m",d).call(this,e)||null!==t&&t.includes(e)},c=function(e){const t=u(this,r,"f");return u(this,a,"m",d).call(this,e)||null!==t&&t.includes(e)},d=function(e){return e.startsWith(`${u(this,s,"f")}:`)}}}},{package:"@metamask/ppom-validator>@metamask/base-controller",file:"node_modules/@metamask/ppom-validator/node_modules/@metamask/base-controller/dist/RestrictedMessenger.cjs"}],[2427,{"./BaseControllerV1.cjs":2423,"./BaseControllerV2.cjs":2424,"./Messenger.cjs":2425,"./RestrictedMessenger.cjs":2426},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.RestrictedMessenger=f.RestrictedControllerMessenger=f.Messenger=f.ControllerMessenger=f.isBaseController=f.getPersistentState=f.getAnonymizedState=f.BaseController=f.isBaseControllerV1=f.BaseControllerV1=void 0;var a=e("./BaseControllerV1.cjs");Object.defineProperty(f,"BaseControllerV1",{enumerable:!0,get:function(){return a.BaseControllerV1}}),Object.defineProperty(f,"isBaseControllerV1",{enumerable:!0,get:function(){return a.isBaseControllerV1}});var n=e("./BaseControllerV2.cjs");Object.defineProperty(f,"BaseController",{enumerable:!0,get:function(){return n.BaseController}}),Object.defineProperty(f,"getAnonymizedState",{enumerable:!0,get:function(){return n.getAnonymizedState}}),Object.defineProperty(f,"getPersistentState",{enumerable:!0,get:function(){return n.getPersistentState}}),Object.defineProperty(f,"isBaseController",{enumerable:!0,get:function(){return n.isBaseController}});var s=e("./Messenger.cjs");Object.defineProperty(f,"ControllerMessenger",{enumerable:!0,get:function(){return s.ControllerMessenger}}),Object.defineProperty(f,"Messenger",{enumerable:!0,get:function(){return s.Messenger}});var r=e("./RestrictedMessenger.cjs");Object.defineProperty(f,"RestrictedControllerMessenger",{enumerable:!0,get:function(){return r.RestrictedControllerMessenger}}),Object.defineProperty(f,"RestrictedMessenger",{enumerable:!0,get:function(){return r.RestrictedMessenger}})}}},{package:"@metamask/ppom-validator>@metamask/base-controller",file:"node_modules/@metamask/ppom-validator/node_modules/@metamask/base-controller/dist/index.cjs"}],[2428,{"./constants.cjs":2429,"@metamask/base-controller":1383,"@metamask/controller-utils":1474},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.PreferencesController=f.getDefaultPreferencesState=void 0;const r=e("@metamask/base-controller"),i=e("@metamask/controller-utils"),o=e("./constants.cjs"),c={featureFlags:{persist:!0,anonymous:!0},identities:{persist:!0,anonymous:!1},ipfsGateway:{persist:!0,anonymous:!1},isIpfsGatewayEnabled:{persist:!0,anonymous:!0},isMultiAccountBalancesEnabled:{persist:!0,anonymous:!0},lostIdentities:{persist:!0,anonymous:!1},openSeaEnabled:{persist:!0,anonymous:!0},securityAlertsEnabled:{persist:!0,anonymous:!0},selectedAddress:{persist:!0,anonymous:!1},showTestNetworks:{persist:!0,anonymous:!0},showIncomingTransactions:{persist:!0,anonymous:!0},useNftDetection:{persist:!0,anonymous:!0},useTokenDetection:{persist:!0,anonymous:!0},smartTransactionsOptInStatus:{persist:!0,anonymous:!1},useTransactionSimulations:{persist:!0,anonymous:!0},useMultiRpcMigration:{persist:!0,anonymous:!0},useSafeChainsListValidation:{persist:!0,anonymous:!0},tokenSortConfig:{persist:!0,anonymous:!0},privacyMode:{persist:!0,anonymous:!0}};function d(){return{featureFlags:{},identities:{},ipfsGateway:"https://ipfs.io/ipfs/",isIpfsGatewayEnabled:!0,isMultiAccountBalancesEnabled:!0,lostIdentities:{},openSeaEnabled:!1,securityAlertsEnabled:!1,selectedAddress:"",showIncomingTransactions:{[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.MAINNET]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.GOERLI]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.BSC]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.BSC_TESTNET]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.OPTIMISM]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.OPTIMISM_SEPOLIA]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.POLYGON]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.POLYGON_TESTNET]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.AVALANCHE]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.AVALANCHE_TESTNET]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.FANTOM]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.FANTOM_TESTNET]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.SEPOLIA]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.LINEA_GOERLI]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.LINEA_SEPOLIA]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.LINEA_MAINNET]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.MOONBEAM]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.MOONBEAM_TESTNET]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.MOONRIVER]:!0,[o.ETHERSCAN_SUPPORTED_CHAIN_IDS.GNOSIS]:!0},showTestNetworks:!1,useNftDetection:!1,useTokenDetection:!0,useMultiRpcMigration:!0,smartTransactionsOptInStatus:!0,useTransactionSimulations:!0,useSafeChainsListValidation:!0,tokenSortConfig:{key:"tokenFiatAmount",order:"dsc",sortCallback:"stringNumeric"},privacyMode:!1}}f.getDefaultPreferencesState=d;class l extends r.BaseController{constructor({messenger:e,state:t}){super({name:"PreferencesController",metadata:c,messenger:e,state:{...d(),...t}}),a.add(this),e.subscribe("KeyringController:stateChange",(e=>{const t=new Set;for(const f of e.keyrings)for(const e of f.accounts)t.add(e);t.size>0&&s(this,a,"m",n).call(this,Array.from(t))}))}addIdentities(e){const t=e.map((e=>(0,i.toChecksumHexAddress)(e)));this.update((e=>{const{identities:f}=e;for(const e of t){if(f[e])continue;const t=Object.keys(f).length;f[e]={name:`Account ${t+1}`,address:e,importTime:Date.now()}}}))}removeIdentity(e){e=(0,i.toChecksumHexAddress)(e);const{identities:t}=this.state;t[e]&&this.update((t=>{delete t.identities[e],e===t.selectedAddress&&(t.selectedAddress=Object.keys(t.identities)[0])}))}setAccountLabel(e,t){e=(0,i.toChecksumHexAddress)(e),this.update((f=>{const a=f.identities[e]||{};a.name=t,f.identities[e]=a}))}setFeatureFlag(e,t){this.update((f=>{f.featureFlags[e]=t}))}setSelectedAddress(e){this.update((t=>{t.selectedAddress=(0,i.toChecksumHexAddress)(e)}))}setIpfsGateway(e){this.update((t=>{t.ipfsGateway=e}))}setUseTokenDetection(e){this.update((t=>{t.useTokenDetection=e}))}setUseNftDetection(e){if(e&&!this.state.openSeaEnabled)throw new Error("useNftDetection cannot be enabled if openSeaEnabled is false");this.update((t=>{t.useNftDetection=e}))}setOpenSeaEnabled(e){this.update((t=>{t.openSeaEnabled=e,e||(t.useNftDetection=!1)}))}setSecurityAlertsEnabled(e){this.update((t=>{t.securityAlertsEnabled=e}))}setIsMultiAccountBalancesEnabled(e){this.update((t=>{t.isMultiAccountBalancesEnabled=e}))}setShowTestNetworks(e){this.update((t=>{t.showTestNetworks=e}))}setIsIpfsGatewayEnabled(e){this.update((t=>{t.isIpfsGatewayEnabled=e}))}setEnableNetworkIncomingTransactions(e,t){Object.values(o.ETHERSCAN_SUPPORTED_CHAIN_IDS).includes(e)&&this.update((f=>{f.showIncomingTransactions={...this.state.showIncomingTransactions,[e]:t}}))}setUseMultiRpcMigration(e){this.update((t=>{t.useMultiRpcMigration=e,e||(t.useMultiRpcMigration=!1)}))}setSmartTransactionsOptInStatus(e){this.update((t=>{t.smartTransactionsOptInStatus=e}))}setUseTransactionSimulations(e){this.update((t=>{t.useTransactionSimulations=e}))}setTokenSortConfig(e){this.update((t=>{t.tokenSortConfig=e}))}setUseSafeChainsListValidation(e){this.update((t=>{t.useSafeChainsListValidation=e}))}setPrivacyMode(e){this.update((t=>{t.privacyMode=e}))}}f.PreferencesController=l,a=new WeakSet,n=function(e){e=e.map((e=>(0,i.toChecksumHexAddress)(e))),this.update((t=>{const{identities:f}=t,a={};for(const[t,n]of Object.entries(f))e.includes(t)||(a[t]=n,delete f[t]);for(const[e,f]of Object.entries(a))t.lostIdentities[e]=f})),this.addIdentities(e),e.includes(this.state.selectedAddress)||this.update((t=>{t.selectedAddress=e[0]}))},f.default=l}}},{package:"@metamask/preferences-controller",file:"node_modules/@metamask/preferences-controller/dist/PreferencesController.cjs"}],[2429,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.ETHERSCAN_SUPPORTED_CHAIN_IDS=void 0,f.ETHERSCAN_SUPPORTED_CHAIN_IDS={MAINNET:"0x1",GOERLI:"0x5",BSC:"0x38",BSC_TESTNET:"0x61",OPTIMISM:"0xa",OPTIMISM_SEPOLIA:"0xaa37dc",POLYGON:"0x89",POLYGON_TESTNET:"0x13881",AVALANCHE:"0xa86a",AVALANCHE_TESTNET:"0xa869",FANTOM:"0xfa",FANTOM_TESTNET:"0xfa2",SEPOLIA:"0xaa36a7",LINEA_GOERLI:"0xe704",LINEA_SEPOLIA:"0xe705",LINEA_MAINNET:"0xe708",MOONBEAM:"0x504",MOONBEAM_TESTNET:"0x507",MOONRIVER:"0x505",GNOSIS:"0x64"}}}},{package:"@metamask/preferences-controller",file:"node_modules/@metamask/preferences-controller/dist/constants.cjs"}],[243,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:56,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=56;const{PreferencesController:f}=t.data;return Array.isArray(null==f?void 0:f.tokens)&&(f.tokens=f.tokens.filter((({address:e})=>e))),null!=f&&f.accountTokens&&"object"==typeof f.accountTokens&&Object.keys(f.accountTokens).forEach((e=>{Object.keys(f.accountTokens[e]).forEach((t=>{f.accountTokens[e][t]=f.accountTokens[e][t].filter((({address:e})=>e))}))})),null!=f&&f.assetImages&&"undefined"in f.assetImages&&delete f.assetImages.undefined,t}}}}},{package:"$root$",file:"app/scripts/migrations/056.js"}],[2430,{"./PreferencesController.cjs":2428,"./constants.cjs":2429},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),f.ETHERSCAN_SUPPORTED_CHAIN_IDS=void 0,n(e("./PreferencesController.cjs"),f);var s=e("./constants.cjs");Object.defineProperty(f,"ETHERSCAN_SUPPORTED_CHAIN_IDS",{enumerable:!0,get:function(){return s.ETHERSCAN_SUPPORTED_CHAIN_IDS}})}}},{package:"@metamask/preferences-controller",file:"node_modules/@metamask/preferences-controller/dist/index.cjs"}],[244,{"../../../shared/modules/random-id":5794,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a,n=e("lodash"),s=(a=e("../../../shared/modules/random-id"))&&a.__esModule?a:{default:a};f.default={version:57,async migrate(e){const t=(0,n.cloneDeep)(e);t.meta.version=57;const f=t.data;return t.data=function(e){var t;null!=e&&null!==(t=e.TransactionController)&&void 0!==t&&t.transactions&&Array.isArray(e.TransactionController.transactions)&&!e.TransactionController.transactions.some((e=>"object"!=typeof e||void 0===e.txParams))&&(e.TransactionController.transactions=(0,n.keyBy)(e.TransactionController.transactions,(e=>(void 0!==e.id&&null!==e.id||(e.id=(0,s.default)()),e.id))));return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/057.js"}],[245,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:58,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=58;const f=t.data;return t.data=function(e){var t;return null===(t=e.AppStateController)||void 0===t||delete t.swapsWelcomeMessageHasBeenShown,e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/058.js"}],[246,{"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/transaction-controller");f.default={version:59,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=59;const f=t.data;return t.data=function(e){var t;const f=null==e||null===(t=e.TransactionController)||void 0===t?void 0:t.transactions;if((0,a.isPlainObject)(f)){const t=(0,a.groupBy)(Object.values(f),(e=>{var t;return`${null===(t=e.txParams)||void 0===t?void 0:t.nonce}-${e.chainId??e.metamaskNetworkId}`})),s=(0,a.pickBy)(t,(e=>e.some((e=>e.type!==n.TransactionType.cancel&&e.type!==n.TransactionType.retry))));e.TransactionController.transactions=(0,a.keyBy)((0,a.concat)(...Object.values(s)),(e=>e.id))}return e}(f),t}}}}},{package:"$root$",file:"app/scripts/migrations/059.js"}],[247,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");const n="2020-08-31";f.default={version:60,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=60;const f=function(e){var t;const f=null==e||null===(t=e.NotificationController)||void 0===t?void 0:t.notifications;var s;(0,a.isPlainObject)(f)&&(null===(s=f[2])||void 0===s?void 0:s.date)===n&&delete e.NotificationController.notifications[2];return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/060.js"}],[248,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:61,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=61;const f=function(e){const t=(new Date).getTime();e.AppStateController?(e.AppStateController.recoveryPhraseReminderHasBeenShown=!1,e.AppStateController.recoveryPhraseReminderLastShown=t):e.AppStateController={recoveryPhraseReminderHasBeenShown:!1,recoveryPhraseReminderLastShown:t};return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/061.js"}],[249,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:62,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=62;const f=function(e){if(e.MetaMetricsController){const{metaMetricsSendCount:t}=e.MetaMetricsController;t!==undefined&&delete e.MetaMetricsController.metaMetricsSendCount}return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/062.js"}],[25,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getNotificationServicesPushControllerMessenger=function(e){return e.getRestricted({name:"NotificationServicesPushController",allowedActions:["AuthenticationController:getBearerToken"],allowedEvents:[]})}}}},{package:"$root$",file:"app/scripts/controller-init/messengers/notifications/notification-services-push-controller-messenger.ts"}],[250,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:63,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=63;const f=function(e){var t,f,a,n,s,r,i,o;const c=null==e||null===(t=e.PreferencesController)||void 0===t?void 0:t.accountTokens,d=null==e||null===(f=e.PreferencesController)||void 0===f?void 0:f.accountHiddenTokens,l={};c&&Object.keys(c).forEach((e=>{Object.keys(c[e]).forEach((t=>{const f=c[e][t];l[t]===undefined?l[t]={[e]:f}:l[t]={...l[t],[e]:f}}))}));const u={};d&&Object.keys(d).forEach((e=>{Object.keys(d[e]).forEach((t=>{const f=d[e][t];u[t]===undefined?u[t]={[e]:f}:u[t]={...u[t],[e]:f}}))}));e.TokensController?(e.TokensController.allTokens=l,e.TokensController.allIgnoredTokens=u):e.TokensController={allTokens:l,allIgnoredTokens:u};return null==e||null===(a=e.PreferencesController)||void 0===a||delete a.accountHiddenTokens,null==e||null===(n=e.PreferencesController)||void 0===n||delete n.accountTokens,null==e||null===(s=e.PreferencesController)||void 0===s||delete s.assetImages,null==e||null===(r=e.PreferencesController)||void 0===r||delete r.hiddenTokens,null==e||null===(i=e.PreferencesController)||void 0===i||delete i.tokens,null==e||null===(o=e.PreferencesController)||void 0===o||delete o.suggestedTokens,e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/063.js"}],[251,{"@metamask/transaction-controller":2905,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("@metamask/transaction-controller");const s="sentEther";f.default={version:64,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=64;const f=function(e){var t;const f=null==e||null===(t=e.TransactionController)||void 0===t?void 0:t.transactions;if((0,a.isPlainObject)(f))for(const e of Object.values(f))e.type===s&&(e.type=n.TransactionType.simpleSend),e.history&&e.history.map((e=>(e.type&&e.type===s&&(e.type=n.TransactionType.simpleSend),e)));return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/064.js"}],[2514,{"@metamask/base-controller":2521,"@metamask/selected-network-controller":2570,"@metamask/utils":2532},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m,g,y,w=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},v=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.QueuedRequestController=f.QueuedRequestControllerEventTypes=f.QueuedRequestControllerActionTypes=f.controllerName=void 0;const k=e("@metamask/base-controller"),S=e("@metamask/selected-network-controller"),_=e("@metamask/utils");f.controllerName="QueuedRequestController",f.QueuedRequestControllerActionTypes={enqueueRequest:`${f.controllerName}:enqueueRequest`,getState:`${f.controllerName}:getState`},f.QueuedRequestControllerEventTypes={networkSwitched:`${f.controllerName}:networkSwitched`,stateChange:`${f.controllerName}:stateChange`};class T extends k.BaseController{constructor({messenger:e,shouldRequestSwitchNetwork:t,canRequestSwitchNetworkWithoutApproval:b,clearPendingConfirmations:h,showApprovalRequest:p}){super({name:f.controllerName,metadata:{queuedRequestCount:{anonymous:!0,persist:!1}},messenger:e,state:{queuedRequestCount:0}}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,[]),i.set(this,0),o.set(this,void 0),c.set(this,void 0),d.set(this,void 0),l.set(this,void 0),w(this,o,t,"f"),w(this,c,b,"f"),w(this,d,h,"f"),w(this,l,p,"f"),v(this,a,"m",u).call(this)}async enqueueRequest(e,t){if(e.networkClientId===undefined)throw new Error("Error while attempting to enqueue request: networkClientId is required.");v(this,n,"f")===undefined&&w(this,n,e.origin,"f"),v(this,s,"f")===undefined&&w(this,s,e.networkClientId,"f");try{let f;const r=v(this,i,"f")>0&&v(this,c,"f").call(this,e);if(this.state.queuedRequestCount>0||v(this,n,"f")!==e.origin||v(this,s,"f")!==e.networkClientId||r){v(this,l,"f").call(this);const t=v(this,a,"m",g).call(this,e);f=t.requestHasEnded,await t.dequeuedPromise}else v(this,o,"f").call(this,e)&&await v(this,a,"m",p).call(this,e.networkClientId);w(this,i,v(this,i,"f")+1,"f");try{await t()}finally{f?.(),w(this,i,v(this,i,"f")-1,"f")}return undefined}finally{v(this,a,"m",y).call(this)}}}f.QueuedRequestController=T,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,c=new WeakMap,d=new WeakMap,l=new WeakMap,a=new WeakSet,u=function(){this.messagingSystem.registerActionHandler(`${f.controllerName}:enqueueRequest`,this.enqueueRequest.bind(this)),this.messagingSystem.subscribe(S.SelectedNetworkControllerEventTypes.stateChange,((e,t)=>{t.forEach((({op:e,path:t})=>{if(2===t.length&&"domains"===t[0]&&"string"==typeof t[1]){const f=t[1];v(this,a,"m",b).call(this,f),"remove"===e&&f===v(this,n,"f")&&v(this,d,"f").call(this)}}))}))},b=function(e){v(this,r,"f").filter((({request:t})=>t.origin===e)).forEach((({processRequest:e})=>{e(new Error("The request has been rejected due to a change in selected network. Please verify the selected network and retry the request."))})),w(this,r,v(this,r,"f").filter((({request:t})=>t.origin!==e)),"f"),v(this,a,"m",m).call(this)},h=async function(){const e=v(this,r,"f").shift();w(this,n,e.request.origin,"f"),w(this,s,e.request.networkClientId,"f");const t=[e];let f;try{await v(this,a,"m",p).call(this,e.request.networkClientId)}catch(e){f=e}if(v(this,c,"f").call(this,e.request)){w(this,i,v(this,i,"f")+1,"f");try{e.processRequest(f),v(this,a,"m",m).call(this),await e.requestHasBeenProcessed}finally{w(this,i,v(this,i,"f")-1,"f")}const{selectedNetworkClientId:t}=this.messagingSystem.call("NetworkController:getState");return v(this,s,"f")!==t&&v(this,a,"m",b).call(this,v(this,n,"f")),void v(this,a,"m",y).call(this)}for(;v(this,r,"f")[0]?.request.networkClientId===v(this,s,"f")&&v(this,r,"f")[0]?.request.origin===v(this,n,"f")&&!v(this,c,"f").call(this,v(this,r,"f")[0]?.request);){const e=v(this,r,"f").shift();t.push(e)}for(const{processRequest:e}of t)e(f);v(this,a,"m",m).call(this)},p=async function(e){const{selectedNetworkClientId:t}=this.messagingSystem.call("NetworkController:getState");e!==t&&(await this.messagingSystem.call("NetworkController:setActiveNetwork",e),this.messagingSystem.publish("QueuedRequestController:networkSwitched",e))},m=function(){this.update((e=>{e.queuedRequestCount=v(this,r,"f").length}))},g=function(e){const{promise:t,reject:f,resolve:n}=(0,_.createDeferredPromise)({suppressUnhandledRejection:!0}),{promise:s,resolve:i}=(0,_.createDeferredPromise)({suppressUnhandledRejection:!0});return v(this,r,"f").push({request:e,processRequest:e=>{e?f(e):n()},requestHasBeenProcessed:s}),v(this,a,"m",m).call(this),{dequeuedPromise:t,requestHasEnded:i}},y=function(){0===v(this,i,"f")&&(w(this,n,undefined,"f"),w(this,s,undefined,"f"),v(this,r,"f").length>0&&v(this,a,"m",h).call(this))}}}},{package:"@metamask/queued-request-controller",file:"node_modules/@metamask/queued-request-controller/dist/QueuedRequestController.cjs"}],[2515,{"@metamask/json-rpc-engine":1933,"@metamask/rpc-errors":2554},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.createQueuedRequestMiddleware=void 0;const a=e("@metamask/json-rpc-engine"),n=e("@metamask/rpc-errors");f.createQueuedRequestMiddleware=({enqueueRequest:e,useRequestQueue:t,shouldEnqueueRequest:f})=>(0,a.createAsyncMiddleware)((async(a,s,r)=>{if(function(e){if(!e.origin)throw new Error("Request object is lacking an 'origin'");if("string"!=typeof e.origin)throw new Error(`Request object has an invalid origin of type '${typeof e.origin}'`);if(!e.networkClientId)throw new Error("Request object is lacking a 'networkClientId'");if("string"!=typeof e.networkClientId)throw new Error(`Request object has an invalid networkClientId of type '${typeof e.networkClientId}'`)}(a),!t()||!f(a))return await r();try{await e(a,r)}catch(e){s.error=(0,n.serializeError)(e)}return undefined}))}}},{package:"@metamask/queued-request-controller",file:"node_modules/@metamask/queued-request-controller/dist/QueuedRequestMiddleware.cjs"}],[2516,{"./QueuedRequestController.cjs":2514,"./QueuedRequestMiddleware.cjs":2515},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.createQueuedRequestMiddleware=f.QueuedRequestController=f.QueuedRequestControllerEventTypes=f.QueuedRequestControllerActionTypes=void 0;var a=e("./QueuedRequestController.cjs");Object.defineProperty(f,"QueuedRequestControllerActionTypes",{enumerable:!0,get:function(){return a.QueuedRequestControllerActionTypes}}),Object.defineProperty(f,"QueuedRequestControllerEventTypes",{enumerable:!0,get:function(){return a.QueuedRequestControllerEventTypes}}),Object.defineProperty(f,"QueuedRequestController",{enumerable:!0,get:function(){return a.QueuedRequestController}});var n=e("./QueuedRequestMiddleware.cjs");Object.defineProperty(f,"createQueuedRequestMiddleware",{enumerable:!0,get:function(){return n.createQueuedRequestMiddleware}})}}},{package:"@metamask/queued-request-controller",file:"node_modules/@metamask/queued-request-controller/dist/index.cjs"}],[2517,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.BaseControllerV1=f.isBaseControllerV1=void 0,f.isBaseControllerV1=function(e){return"name"in e&&"string"==typeof e.name&&"config"in e&&"object"==typeof e.config&&"defaultConfig"in e&&"object"==typeof e.defaultConfig&&"state"in e&&"object"==typeof e.state&&"defaultState"in e&&"object"==typeof e.defaultState&&"disabled"in e&&"boolean"==typeof e.disabled&&"subscribe"in e&&"function"==typeof e.subscribe};class a{constructor(e={},t={}){this.defaultConfig={},this.defaultState={},this.disabled=!1,this.name="BaseController",this.internalConfig=this.defaultConfig,this.internalState=this.defaultState,this.internalListeners=[],this.initialState=t,this.initialConfig=e}initialize(){return this.internalState=this.defaultState,this.internalConfig=this.defaultConfig,this.configure(this.initialConfig),this.update(this.initialState),this}get config(){return this.internalConfig}get state(){return this.internalState}configure(e,t=!1,f=!0){if(f){this.internalConfig=t?e:Object.assign(this.internalConfig,e);for(const e of Object.keys(this.internalConfig)){const t=this.internalConfig[e];t!==undefined&&(this[e]=t)}}else for(const t of Object.keys(e))if(this.internalConfig[t]!==undefined){const f=e[t];this.internalConfig[t]=f,this[t]=f}}notify(){this.disabled||this.internalListeners.forEach((e=>{e(this.internalState)}))}subscribe(e){this.internalListeners.push(e)}unsubscribe(e){const t=this.internalListeners.findIndex((t=>e===t));return t>-1&&this.internalListeners.splice(t,1),t>-1}update(e,t=!1){this.internalState=t?Object.assign({},e):Object.assign({},this.internalState,e),this.notify()}}f.BaseControllerV1=a,f.default=a}}},{package:"@metamask/queued-request-controller>@metamask/base-controller",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/base-controller/dist/BaseControllerV1.cjs"}],[2518,{immer:4649},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.getPersistentState=f.getAnonymizedState=f.BaseController=f.isBaseController=void 0;const r=e("immer");(0,r.enablePatches)(),f.isBaseController=function(e){return"name"in e&&"string"==typeof e.name&&"state"in e&&"object"==typeof e.state&&"metadata"in e&&"object"==typeof e.metadata};function i(e,t,f){return Object.keys(e).reduce(((a,n)=>{try{const s=t[n];if(!s)throw new Error(`No metadata found for '${String(n)}'`);const r=s[f],i=e[n];return"function"==typeof r?a[n]=r(i):r&&(a[n]=i),a}catch(e){return setTimeout((()=>{throw e})),a}}),{})}f.BaseController=class{constructor({messenger:e,metadata:t,name:f,state:s}){a.set(this,void 0),this.messagingSystem=e,this.name=f,n(this,a,(0,r.freeze)(s,!0),"f"),this.metadata=t,this.messagingSystem.registerActionHandler(`${f}:getState`,(()=>this.state)),this.messagingSystem.registerInitialEventPayload({eventType:`${f}:stateChange`,getPayload:()=>[this.state,[]]})}get state(){return s(this,a,"f")}set state(e){throw new Error("Controller state cannot be directly mutated; use 'update' method instead.")}update(e){const[t,f,i]=r.produceWithPatches(s(this,a,"f"),e);return n(this,a,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,f),{nextState:t,patches:f,inversePatches:i}}applyPatches(e){const t=(0,r.applyPatches)(s(this,a,"f"),e);n(this,a,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,e)}destroy(){this.messagingSystem.clearEventSubscriptions(`${this.name}:stateChange`)}},a=new WeakMap,f.getAnonymizedState=function(e,t){return i(e,t,"anonymous")},f.getPersistentState=function(e,t){return i(e,t,"persist")}}}},{package:"@metamask/queued-request-controller>@metamask/base-controller",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/base-controller/dist/BaseControllerV2.cjs"}],[2519,{"./RestrictedMessenger.cjs":2520},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.ControllerMessenger=f.Messenger=void 0;const o=e("./RestrictedMessenger.cjs");class c{constructor(){a.set(this,new Map),n.set(this,new Map),s.set(this,new Map),r.set(this,new Map)}registerActionHandler(e,t){if(i(this,a,"f").has(e))throw new Error(`A handler for ${e} has already been registered`);i(this,a,"f").set(e,t)}unregisterActionHandler(e){i(this,a,"f").delete(e)}clearActions(){i(this,a,"f").clear()}call(e,...t){const f=i(this,a,"f").get(e);if(!f)throw new Error(`A handler for ${e} has not been registered`);return f(...t)}registerInitialEventPayload({eventType:e,getPayload:t}){i(this,s,"f").set(e,t)}publish(e,...t){const f=i(this,n,"f").get(e);if(f)for(const[e,a]of f.entries())try{if(a){const f=i(this,r,"f").get(e),n=a(...t);n!==f&&(i(this,r,"f").set(e,n),e(n,f))}else e(...t)}catch(e){setTimeout((()=>{throw e}))}}subscribe(e,t,f){let a=i(this,n,"f").get(e);if(a||(a=new Map,i(this,n,"f").set(e,a)),a.set(t,f),f){const a=i(this,s,"f").get(e);if(a){const e=f(...a());i(this,r,"f").set(t,e)}}}unsubscribe(e,t){const f=i(this,n,"f").get(e);if(!f||!f.has(t))throw new Error(`Subscription not found for event: ${e}`);f.get(t)&&i(this,r,"f").delete(t),f.delete(t)}clearEventSubscriptions(e){i(this,n,"f").delete(e)}clearSubscriptions(){i(this,n,"f").clear()}getRestricted({name:e,allowedActions:t,allowedEvents:f}){return new o.RestrictedMessenger({messenger:this,name:e,allowedActions:t,allowedEvents:f})}}f.Messenger=c,f.ControllerMessenger=c,a=new WeakMap,n=new WeakMap,s=new WeakMap,r=new WeakMap}}},{package:"@metamask/queued-request-controller>@metamask/base-controller",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/base-controller/dist/Messenger.cjs"}],[252,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:65,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=65;const f=function(e){if(e.PreferencesController){const{completedOnboarding:t,firstTimeFlowType:f}=e.PreferencesController;e.OnboardingController=e.OnboardingController??{},t!==undefined&&(e.OnboardingController.completedOnboarding=t,delete e.PreferencesController.completedOnboarding),f!==undefined&&(e.OnboardingController.firstTimeFlowType=f,delete e.PreferencesController.firstTimeFlowType)}return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/065.js"}],[2520,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},u=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.RestrictedControllerMessenger=f.RestrictedMessenger=void 0;class b{constructor({controllerMessenger:e,messenger:t,name:f,allowedActions:o,allowedEvents:c}){if(a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),t&&e)throw new Error("Both messenger properties provided. Provide message using only 'messenger' option, 'controllerMessenger' is deprecated");if(!t&&!e)throw new Error("Messenger not provided");l(this,n,t??e,"f"),l(this,s,f,"f"),l(this,r,o,"f"),l(this,i,c,"f")}registerActionHandler(e,t){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed registering action handlers prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").registerActionHandler(e,t)}unregisterActionHandler(e){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed unregistering action handlers prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").unregisterActionHandler(e)}call(e,...t){if(!u(this,a,"m",c).call(this,e))throw new Error(`Action missing from allow list: ${e}`);return u(this,n,"f").call(e,...t)}registerInitialEventPayload({eventType:e,getPayload:t}){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").registerInitialEventPayload({eventType:e,getPayload:t})}publish(e,...t){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").publish(e,...t)}subscribe(e,t,f){if(!u(this,a,"m",o).call(this,e))throw new Error(`Event missing from allow list: ${e}`);return f?u(this,n,"f").subscribe(e,t,f):u(this,n,"f").subscribe(e,t)}unsubscribe(e,t){if(!u(this,a,"m",o).call(this,e))throw new Error(`Event missing from allow list: ${e}`);u(this,n,"f").unsubscribe(e,t)}clearEventSubscriptions(e){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed clearing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").clearEventSubscriptions(e)}}f.RestrictedMessenger=b,f.RestrictedControllerMessenger=b,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakSet,o=function(e){const t=u(this,i,"f");return u(this,a,"m",d).call(this,e)||null!==t&&t.includes(e)},c=function(e){const t=u(this,r,"f");return u(this,a,"m",d).call(this,e)||null!==t&&t.includes(e)},d=function(e){return e.startsWith(`${u(this,s,"f")}:`)}}}},{package:"@metamask/queued-request-controller>@metamask/base-controller",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/base-controller/dist/RestrictedMessenger.cjs"}],[2521,{"./BaseControllerV1.cjs":2517,"./BaseControllerV2.cjs":2518,"./Messenger.cjs":2519,"./RestrictedMessenger.cjs":2520},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.RestrictedMessenger=f.RestrictedControllerMessenger=f.Messenger=f.ControllerMessenger=f.isBaseController=f.getPersistentState=f.getAnonymizedState=f.BaseController=f.isBaseControllerV1=f.BaseControllerV1=void 0;var a=e("./BaseControllerV1.cjs");Object.defineProperty(f,"BaseControllerV1",{enumerable:!0,get:function(){return a.BaseControllerV1}}),Object.defineProperty(f,"isBaseControllerV1",{enumerable:!0,get:function(){return a.isBaseControllerV1}});var n=e("./BaseControllerV2.cjs");Object.defineProperty(f,"BaseController",{enumerable:!0,get:function(){return n.BaseController}}),Object.defineProperty(f,"getAnonymizedState",{enumerable:!0,get:function(){return n.getAnonymizedState}}),Object.defineProperty(f,"getPersistentState",{enumerable:!0,get:function(){return n.getPersistentState}}),Object.defineProperty(f,"isBaseController",{enumerable:!0,get:function(){return n.isBaseController}});var s=e("./Messenger.cjs");Object.defineProperty(f,"ControllerMessenger",{enumerable:!0,get:function(){return s.ControllerMessenger}}),Object.defineProperty(f,"Messenger",{enumerable:!0,get:function(){return s.Messenger}});var r=e("./RestrictedMessenger.cjs");Object.defineProperty(f,"RestrictedControllerMessenger",{enumerable:!0,get:function(){return r.RestrictedControllerMessenger}}),Object.defineProperty(f,"RestrictedMessenger",{enumerable:!0,get:function(){return r.RestrictedMessenger}})}}},{package:"@metamask/queued-request-controller>@metamask/base-controller",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/base-controller/dist/index.cjs"}],[2522,{"./errors.cjs":2530,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.assertExhaustive=f.assertStruct=f.assert=f.AssertionError=void 0;const a=e("@metamask/superstruct"),n=e("./errors.cjs");function s(e,t){return f=e,Boolean("string"==typeof f?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var f}class r extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}f.AssertionError=r,f.assert=function(e,t="Assertion failed.",f=r){if(!e){if(t instanceof Error)throw t;throw s(f,t)}},f.assertStruct=function(e,t,f="Assertion failed",i=r){try{(0,a.assert)(e,t)}catch(e){throw s(i,`${f}: ${function(e){return(0,n.getErrorMessage)(e).replace(/\.$/u,"")}(e)}.`)}},f.assertExhaustive=function(e){throw new Error("Invalid branch reached. Should be detected during compilation.")}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/assert.cjs"}],[2523,{"./assert.cjs":2522,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.base64=void 0;const a=e("@metamask/superstruct"),n=e("./assert.cjs");f.base64=(e,t={})=>{const f=t.paddingRequired??!1,s=t.characterSet??"base64";let r,i;return"base64"===s?r=String.raw`[A-Za-z0-9+\/]`:((0,n.assert)("base64url"===s),r=String.raw`[-_A-Za-z0-9]`),i=f?new RegExp(`^(?:${r}{4})*(?:${r}{3}=|${r}{2}==)?$`,"u"):new RegExp(`^(?:${r}{4})*(?:${r}{2,3}|${r}{3}=|${r}{2}==)?$`,"u"),(0,a.pattern)(e,i)}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/base64.cjs"}],[2524,{"./assert.cjs":2522,"./hex.cjs":2531,"@scure/base":3027,buffer:4074},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){(function(t){(function(){Object.defineProperty(f,"__esModule",{value:!0}),f.createDataView=f.concatBytes=f.valueToBytes=f.base64ToBytes=f.stringToBytes=f.numberToBytes=f.signedBigIntToBytes=f.bigIntToBytes=f.hexToBytes=f.bytesToBase64=f.bytesToString=f.bytesToNumber=f.bytesToSignedBigInt=f.bytesToBigInt=f.bytesToHex=f.assertIsBytes=f.isBytes=void 0;const a=e("@scure/base"),n=e("./assert.cjs"),s=e("./hex.cjs"),r=48,i=58,o=87;const c=function(){const e=[];return()=>{if(0===e.length)for(let t=0;t<256;t++)e.push(t.toString(16).padStart(2,"0"));return e}}();function d(e){return e instanceof Uint8Array}function l(e){(0,n.assert)(d(e),"Value must be a Uint8Array.")}function u(e){if(l(e),0===e.length)return"0x";const t=c(),f=new Array(e.length);for(let a=0;a=BigInt(0),"Value must be a non-negative bigint.");return h(e.toString(16))}function m(e){(0,n.assert)("number"==typeof e,"Value must be a number."),(0,n.assert)(e>=0,"Value must be a non-negative number."),(0,n.assert)(Number.isSafeInteger(e),"Value is not a safe integer. Use `bigIntToBytes` instead.");return h(e.toString(16))}function g(e){return(0,n.assert)("string"==typeof e,"Value must be a string."),(new TextEncoder).encode(e)}function y(e){if("bigint"==typeof e)return p(e);if("number"==typeof e)return m(e);if("string"==typeof e)return e.startsWith("0x")?h(e):g(e);if(d(e))return e;throw new TypeError(`Unsupported value type: "${typeof e}".`)}f.isBytes=d,f.assertIsBytes=l,f.bytesToHex=u,f.bytesToBigInt=b,f.bytesToSignedBigInt=function(e){l(e);let t=BigInt(0);for(const f of e)t=(t<0,"Byte length must be greater than 0."),(0,n.assert)(function(e,t){(0,n.assert)(t>0);const f=e>>BigInt(31);return!((~e&f)+(e&~f)>>BigInt(8*t-1))}(e,t),"Byte length is too small to represent the given value.");let f=e;const a=new Uint8Array(t);for(let e=0;e>=BigInt(8);return a.reverse()},f.numberToBytes=m,f.stringToBytes=g,f.base64ToBytes=function(e){return(0,n.assert)("string"==typeof e,"Value must be a string."),a.base64.decode(e)},f.valueToBytes=y,f.concatBytes=function(e){const t=new Array(e.length);let f=0;for(let a=0;a@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/bytes.cjs"}],[2525,{"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.toCaipChainId=f.parseCaipAccountId=f.parseCaipChainId=f.isCaipAssetId=f.isCaipAssetType=f.isCaipAccountAddress=f.isCaipAccountId=f.isCaipReference=f.isCaipNamespace=f.isCaipChainId=f.KnownCaipNamespace=f.CaipAssetIdStruct=f.CaipAssetTypeStruct=f.CaipAccountAddressStruct=f.CaipAccountIdStruct=f.CaipReferenceStruct=f.CaipNamespaceStruct=f.CaipChainIdStruct=f.CAIP_ASSET_ID_REGEX=f.CAIP_ASSET_TYPE_REGEX=f.CAIP_ACCOUNT_ADDRESS_REGEX=f.CAIP_ACCOUNT_ID_REGEX=f.CAIP_REFERENCE_REGEX=f.CAIP_NAMESPACE_REGEX=f.CAIP_CHAIN_ID_REGEX=void 0;const a=e("@metamask/superstruct");function n(e){return(0,a.is)(e,f.CaipNamespaceStruct)}function s(e){return(0,a.is)(e,f.CaipReferenceStruct)}f.CAIP_CHAIN_ID_REGEX=/^(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32})$/u,f.CAIP_NAMESPACE_REGEX=/^[-a-z0-9]{3,8}$/u,f.CAIP_REFERENCE_REGEX=/^[-_a-zA-Z0-9]{1,32}$/u,f.CAIP_ACCOUNT_ID_REGEX=/^(?(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32})):(?[-.%a-zA-Z0-9]{1,128})$/u,f.CAIP_ACCOUNT_ADDRESS_REGEX=/^[-.%a-zA-Z0-9]{1,128}$/u,f.CAIP_ASSET_TYPE_REGEX=/^(?(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32}))\/(?[-a-z0-9]{3,8}):(?[-.%a-zA-Z0-9]{1,128})$/u,f.CAIP_ASSET_ID_REGEX=/^(?(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32}))\/(?[-a-z0-9]{3,8}):(?[-.%a-zA-Z0-9]{1,128})\/(?[-.%a-zA-Z0-9]{1,78})$/u,f.CaipChainIdStruct=(0,a.pattern)((0,a.string)(),f.CAIP_CHAIN_ID_REGEX),f.CaipNamespaceStruct=(0,a.pattern)((0,a.string)(),f.CAIP_NAMESPACE_REGEX),f.CaipReferenceStruct=(0,a.pattern)((0,a.string)(),f.CAIP_REFERENCE_REGEX),f.CaipAccountIdStruct=(0,a.pattern)((0,a.string)(),f.CAIP_ACCOUNT_ID_REGEX),f.CaipAccountAddressStruct=(0,a.pattern)((0,a.string)(),f.CAIP_ACCOUNT_ADDRESS_REGEX),f.CaipAssetTypeStruct=(0,a.pattern)((0,a.string)(),f.CAIP_ASSET_TYPE_REGEX),f.CaipAssetIdStruct=(0,a.pattern)((0,a.string)(),f.CAIP_ASSET_ID_REGEX),function(e){e.Bip122="bip122",e.Solana="solana",e.Eip155="eip155",e.Wallet="wallet"}(f.KnownCaipNamespace||(f.KnownCaipNamespace={})),f.isCaipChainId=function(e){return(0,a.is)(e,f.CaipChainIdStruct)},f.isCaipNamespace=n,f.isCaipReference=s,f.isCaipAccountId=function(e){return(0,a.is)(e,f.CaipAccountIdStruct)},f.isCaipAccountAddress=function(e){return(0,a.is)(e,f.CaipAccountAddressStruct)},f.isCaipAssetType=function(e){return(0,a.is)(e,f.CaipAssetTypeStruct)},f.isCaipAssetId=function(e){return(0,a.is)(e,f.CaipAssetIdStruct)},f.parseCaipChainId=function(e){const t=f.CAIP_CHAIN_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid CAIP chain ID.");return{namespace:t.groups.namespace,reference:t.groups.reference}},f.parseCaipAccountId=function(e){const t=f.CAIP_ACCOUNT_ID_REGEX.exec(e);if(!t?.groups)throw new Error("Invalid CAIP account ID.");return{address:t.groups.accountAddress,chainId:t.groups.chainId,chain:{namespace:t.groups.namespace,reference:t.groups.reference}}},f.toCaipChainId=function(e,t){if(!n(e))throw new Error(`Invalid "namespace", must match: ${f.CAIP_NAMESPACE_REGEX.toString()}`);if(!s(t))throw new Error(`Invalid "reference", must match: ${f.CAIP_REFERENCE_REGEX.toString()}`);return`${e}:${t}`}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/caip-types.cjs"}],[2526,{"./base64.cjs":2523,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.ChecksumStruct=void 0;const a=e("@metamask/superstruct"),n=e("./base64.cjs");f.ChecksumStruct=(0,a.size)((0,n.base64)((0,a.string)(),{paddingRequired:!0}),44,44)}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/checksum.cjs"}],[2527,{"./assert.cjs":2522,"./bytes.cjs":2524,"./hex.cjs":2531,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.createHex=f.createBytes=f.createBigInt=f.createNumber=void 0;const a=e("@metamask/superstruct"),n=e("./assert.cjs"),s=e("./bytes.cjs"),r=e("./hex.cjs"),i=(0,a.union)([(0,a.number)(),(0,a.bigint)(),(0,a.string)(),r.StrictHexStruct]),o=(0,a.coerce)((0,a.number)(),i,Number),c=(0,a.coerce)((0,a.bigint)(),i,BigInt),d=((0,a.union)([r.StrictHexStruct,(0,a.instance)(Uint8Array)]),(0,a.coerce)((0,a.instance)(Uint8Array),(0,a.union)([r.StrictHexStruct]),s.hexToBytes)),l=(0,a.coerce)(r.StrictHexStruct,(0,a.instance)(Uint8Array),s.bytesToHex);f.createNumber=function(e){try{const t=(0,a.create)(e,o);return(0,n.assert)(Number.isFinite(t),`Expected a number-like value, got "${e}".`),t}catch(t){if(t instanceof a.StructError)throw new Error(`Expected a number-like value, got "${e}".`);throw t}},f.createBigInt=function(e){try{return(0,a.create)(e,c)}catch(e){if(e instanceof a.StructError)throw new Error(`Expected a number-like value, got "${String(e.value)}".`);throw e}},f.createBytes=function(e){if("string"==typeof e&&"0x"===e.toLowerCase())return new Uint8Array;try{return(0,a.create)(e,d)}catch(e){if(e instanceof a.StructError)throw new Error(`Expected a bytes-like value, got "${String(e.value)}".`);throw e}},f.createHex=function(e){if(e instanceof Uint8Array&&0===e.length||"string"==typeof e&&"0x"===e.toLowerCase())return"0x";try{return(0,a.create)(e,l)}catch(e){if(e instanceof a.StructError)throw new Error(`Expected a bytes-like value, got "${String(e.value)}".`);throw e}}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/coercers.cjs"}],[2528,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)},r=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f};Object.defineProperty(f,"__esModule",{value:!0}),f.FrozenSet=f.FrozenMap=void 0;class i{get size(){return s(this,a,"f").size}[(a=new WeakMap,Symbol.iterator)](){return s(this,a,"f")[Symbol.iterator]()}constructor(e){a.set(this,void 0),r(this,a,new Map(e),"f"),Object.freeze(this)}entries(){return s(this,a,"f").entries()}forEach(e,t){return s(this,a,"f").forEach(((f,a,n)=>e.call(t,f,a,this)))}get(e){return s(this,a,"f").get(e)}has(e){return s(this,a,"f").has(e)}keys(){return s(this,a,"f").keys()}values(){return s(this,a,"f").values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map((([e,t])=>`${String(e)} => ${String(t)}`)).join(", ")} `:""}}`}}f.FrozenMap=i;class o{get size(){return s(this,n,"f").size}[(n=new WeakMap,Symbol.iterator)](){return s(this,n,"f")[Symbol.iterator]()}constructor(e){n.set(this,void 0),r(this,n,new Set(e),"f"),Object.freeze(this)}entries(){return s(this,n,"f").entries()}forEach(e,t){return s(this,n,"f").forEach(((f,a,n)=>e.call(t,f,a,this)))}has(e){return s(this,n,"f").has(e)}keys(){return s(this,n,"f").keys()}values(){return s(this,n,"f").values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map((e=>String(e))).join(", ")} `:""}}`}}f.FrozenSet=o,Object.freeze(i),Object.freeze(i.prototype),Object.freeze(o),Object.freeze(o.prototype)}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/collections.cjs"}],[2529,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0})}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/encryption-types.cjs"}],[253,{"../../../shared/constants/hardware-wallets":5726,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=e("../../../shared/constants/hardware-wallets");f.default={version:66,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=66;const f=function(e){var t;const f=window.navigator.hid?n.LedgerTransportTypes.webhid:n.LedgerTransportTypes.u2f,a=Boolean(null===(t=e.PreferencesController)||void 0===t?void 0:t.useLedgerLive),s={...e,PreferencesController:{...null==e?void 0:e.PreferencesController,ledgerTransportType:a?n.LedgerTransportTypes.live:f}};return delete s.PreferencesController.useLedgerLive,s}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/066.js"}],[2530,{"./misc.cjs":2536,"pony-cause":5003},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.wrapError=f.getErrorMessage=f.isErrorWithStack=f.isErrorWithMessage=f.isErrorWithCode=void 0;const a=e("pony-cause"),n=e("./misc.cjs");function s(e){return"object"==typeof e&&null!==e&&"code"in e}function r(e){return"object"==typeof e&&null!==e&&"message"in e}f.isErrorWithCode=s,f.isErrorWithMessage=r,f.isErrorWithStack=function(e){return"object"==typeof e&&null!==e&&"stack"in e},f.getErrorMessage=function(e){return r(e)&&"string"==typeof e.message?e.message:(0,n.isNullOrUndefined)(e)?"":String(e)},f.wrapError=function(e,t){if((f=e)instanceof Error||(0,n.isObject)(f)&&"Error"===f.constructor.name){let f;return f=2===Error.length?new Error(t,{cause:e}):new a.ErrorWithCause(t,{cause:e}),s(e)&&(f.code=e.code),f}var f;return t.length>0?new Error(`${String(e)}: ${t}`):new Error(String(e))}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/errors.cjs"}],[2531,{"./assert.cjs":2522,"./bytes.cjs":2524,"@metamask/superstruct":2872,"@noble/hashes/sha3":3001},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.remove0x=f.add0x=f.isValidChecksumAddress=f.getChecksumAddress=f.isValidHexAddress=f.assertIsStrictHexString=f.assertIsHexString=f.isStrictHexString=f.isHexString=f.HexChecksumAddressStruct=f.HexAddressStruct=f.StrictHexStruct=f.HexStruct=void 0;const a=e("@metamask/superstruct"),n=e("@noble/hashes/sha3"),s=e("./assert.cjs"),r=e("./bytes.cjs");function i(e){return(0,a.is)(e,f.HexStruct)}function o(e){return(0,a.is)(e,f.StrictHexStruct)}function c(e){(0,s.assert)((0,a.is)(e,f.HexChecksumAddressStruct),"Invalid hex address.");const t=l(e.toLowerCase()),i=l((0,r.bytesToHex)((0,n.keccak_256)(t)));return`0x${t.split("").map(((e,t)=>{const f=i[t];return(0,s.assert)((0,a.is)(f,(0,a.string)()),"Hash shorter than address."),parseInt(f,16)>7?e.toUpperCase():e})).join("")}`}function d(e){return!!(0,a.is)(e,f.HexChecksumAddressStruct)&&c(e)===e}function l(e){return e.startsWith("0x")||e.startsWith("0X")?e.substring(2):e}f.HexStruct=(0,a.pattern)((0,a.string)(),/^(?:0x)?[0-9a-f]+$/iu),f.StrictHexStruct=(0,a.pattern)((0,a.string)(),/^0x[0-9a-f]+$/iu),f.HexAddressStruct=(0,a.pattern)((0,a.string)(),/^0x[0-9a-f]{40}$/u),f.HexChecksumAddressStruct=(0,a.pattern)((0,a.string)(),/^0x[0-9a-fA-F]{40}$/u),f.isHexString=i,f.isStrictHexString=o,f.assertIsHexString=function(e){(0,s.assert)(i(e),"Value must be a hexadecimal string.")},f.assertIsStrictHexString=function(e){(0,s.assert)(o(e),'Value must be a hexadecimal string, starting with "0x".')},f.isValidHexAddress=function(e){return(0,a.is)(e,f.HexAddressStruct)||d(e)},f.getChecksumAddress=c,f.isValidChecksumAddress=d,f.add0x=function(e){return e.startsWith("0x")?e:e.startsWith("0X")?`0x${e.substring(2)}`:`0x${e}`},f.remove0x=l}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/hex.cjs"}],[2532,{"./assert.cjs":2522,"./base64.cjs":2523,"./bytes.cjs":2524,"./caip-types.cjs":2525,"./checksum.cjs":2526,"./coercers.cjs":2527,"./collections.cjs":2528,"./encryption-types.cjs":2529,"./errors.cjs":2530,"./hex.cjs":2531,"./json.cjs":2533,"./keyring.cjs":2534,"./logging.cjs":2535,"./misc.cjs":2536,"./number.cjs":2537,"./opaque.cjs":2538,"./promise.cjs":2539,"./time.cjs":2540,"./transaction-types.cjs":2541,"./versions.cjs":2542},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./assert.cjs"),f),n(e("./base64.cjs"),f),n(e("./bytes.cjs"),f),n(e("./caip-types.cjs"),f),n(e("./checksum.cjs"),f),n(e("./coercers.cjs"),f),n(e("./collections.cjs"),f),n(e("./encryption-types.cjs"),f),n(e("./errors.cjs"),f),n(e("./hex.cjs"),f),n(e("./json.cjs"),f),n(e("./keyring.cjs"),f),n(e("./logging.cjs"),f),n(e("./misc.cjs"),f),n(e("./number.cjs"),f),n(e("./opaque.cjs"),f),n(e("./promise.cjs"),f),n(e("./time.cjs"),f),n(e("./transaction-types.cjs"),f),n(e("./versions.cjs"),f)}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/index.cjs"}],[2533,{"./assert.cjs":2522,"./misc.cjs":2536,"@metamask/superstruct":2872},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getJsonRpcIdValidator=f.assertIsJsonRpcError=f.isJsonRpcError=f.assertIsJsonRpcFailure=f.isJsonRpcFailure=f.assertIsJsonRpcSuccess=f.isJsonRpcSuccess=f.assertIsJsonRpcResponse=f.isJsonRpcResponse=f.assertIsPendingJsonRpcResponse=f.isPendingJsonRpcResponse=f.JsonRpcResponseStruct=f.JsonRpcFailureStruct=f.JsonRpcSuccessStruct=f.PendingJsonRpcResponseStruct=f.assertIsJsonRpcRequest=f.isJsonRpcRequest=f.assertIsJsonRpcNotification=f.isJsonRpcNotification=f.JsonRpcNotificationStruct=f.JsonRpcRequestStruct=f.JsonRpcParamsStruct=f.JsonRpcErrorStruct=f.JsonRpcIdStruct=f.JsonRpcVersionStruct=f.jsonrpc2=f.getJsonSize=f.getSafeJson=f.isValidJson=f.JsonStruct=f.UnsafeJsonStruct=f.exactOptional=f.object=void 0;const a=e("@metamask/superstruct"),n=e("./assert.cjs"),s=e("./misc.cjs");function r({path:e,branch:t}){const f=e[e.length-1];return(0,s.hasProperty)(t[t.length-2],f)}function i(e){return new a.Struct({...e,type:`optional ${e.type}`,validator:(t,f)=>!r(f)||e.validator(t,f),refiner:(t,f)=>!r(f)||e.refiner(t,f)})}function o(e){if(null===e||"boolean"==typeof e||"string"==typeof e)return!0;if("number"==typeof e&&Number.isFinite(e))return!0;if("object"==typeof e){let t=!0;if(Array.isArray(e)){for(let f=0;f(0,a.object)(e),f.exactOptional=i,f.UnsafeJsonStruct=(0,a.define)("JSON",(e=>o(e))),f.JsonStruct=(0,a.coerce)(f.UnsafeJsonStruct,(0,a.any)(),(e=>((0,n.assertStruct)(e,f.UnsafeJsonStruct),JSON.parse(JSON.stringify(e,((e,t)=>"__proto__"===e||"constructor"===e?undefined:t)))))),f.isValidJson=function(e){try{return c(e),!0}catch{return!1}},f.getSafeJson=c,f.getJsonSize=function(e){(0,n.assertStruct)(e,f.JsonStruct,"Invalid JSON value");const t=JSON.stringify(e);return(new TextEncoder).encode(t).byteLength},f.jsonrpc2="2.0",f.JsonRpcVersionStruct=(0,a.literal)(f.jsonrpc2),f.JsonRpcIdStruct=(0,a.nullable)((0,a.union)([(0,a.number)(),(0,a.string)()])),f.JsonRpcErrorStruct=(0,f.object)({code:(0,a.integer)(),message:(0,a.string)(),data:i(f.JsonStruct),stack:i((0,a.string)())}),f.JsonRpcParamsStruct=(0,a.union)([(0,a.record)((0,a.string)(),f.JsonStruct),(0,a.array)(f.JsonStruct)]),f.JsonRpcRequestStruct=(0,f.object)({id:f.JsonRpcIdStruct,jsonrpc:f.JsonRpcVersionStruct,method:(0,a.string)(),params:i(f.JsonRpcParamsStruct)}),f.JsonRpcNotificationStruct=(0,f.object)({jsonrpc:f.JsonRpcVersionStruct,method:(0,a.string)(),params:i(f.JsonRpcParamsStruct)}),f.isJsonRpcNotification=function(e){return(0,a.is)(e,f.JsonRpcNotificationStruct)},f.assertIsJsonRpcNotification=function(e,t){(0,n.assertStruct)(e,f.JsonRpcNotificationStruct,"Invalid JSON-RPC notification",t)},f.isJsonRpcRequest=function(e){return(0,a.is)(e,f.JsonRpcRequestStruct)},f.assertIsJsonRpcRequest=function(e,t){(0,n.assertStruct)(e,f.JsonRpcRequestStruct,"Invalid JSON-RPC request",t)},f.PendingJsonRpcResponseStruct=(0,a.object)({id:f.JsonRpcIdStruct,jsonrpc:f.JsonRpcVersionStruct,result:(0,a.optional)((0,a.unknown)()),error:(0,a.optional)(f.JsonRpcErrorStruct)}),f.JsonRpcSuccessStruct=(0,f.object)({id:f.JsonRpcIdStruct,jsonrpc:f.JsonRpcVersionStruct,result:f.JsonStruct}),f.JsonRpcFailureStruct=(0,f.object)({id:f.JsonRpcIdStruct,jsonrpc:f.JsonRpcVersionStruct,error:f.JsonRpcErrorStruct}),f.JsonRpcResponseStruct=(0,a.union)([f.JsonRpcSuccessStruct,f.JsonRpcFailureStruct]),f.isPendingJsonRpcResponse=function(e){return(0,a.is)(e,f.PendingJsonRpcResponseStruct)},f.assertIsPendingJsonRpcResponse=function(e,t){(0,n.assertStruct)(e,f.PendingJsonRpcResponseStruct,"Invalid pending JSON-RPC response",t)},f.isJsonRpcResponse=function(e){return(0,a.is)(e,f.JsonRpcResponseStruct)},f.assertIsJsonRpcResponse=function(e,t){(0,n.assertStruct)(e,f.JsonRpcResponseStruct,"Invalid JSON-RPC response",t)},f.isJsonRpcSuccess=function(e){return(0,a.is)(e,f.JsonRpcSuccessStruct)},f.assertIsJsonRpcSuccess=function(e,t){(0,n.assertStruct)(e,f.JsonRpcSuccessStruct,"Invalid JSON-RPC success response",t)},f.isJsonRpcFailure=function(e){return(0,a.is)(e,f.JsonRpcFailureStruct)},f.assertIsJsonRpcFailure=function(e,t){(0,n.assertStruct)(e,f.JsonRpcFailureStruct,"Invalid JSON-RPC failure response",t)},f.isJsonRpcError=function(e){return(0,a.is)(e,f.JsonRpcErrorStruct)},f.assertIsJsonRpcError=function(e,t){(0,n.assertStruct)(e,f.JsonRpcErrorStruct,"Invalid JSON-RPC error",t)},f.getJsonRpcIdValidator=function(e){const{permitEmptyString:t,permitFractions:f,permitNull:a}={permitEmptyString:!0,permitFractions:!1,permitNull:!0,...e};return e=>Boolean("number"==typeof e&&(f||Number.isInteger(e))||"string"==typeof e&&(t||e.length>0)||a&&null===e)}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/json.cjs"}],[2534,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0})}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/keyring.cjs"}],[2535,{debug:4226},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.createModuleLogger=f.createProjectLogger=void 0;const n=(0,a(e("debug")).default)("metamask");f.createProjectLogger=function(e){return n.extend(e)},f.createModuleLogger=function(e,t){return e.extend(t)}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/logging.cjs"}],[2536,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.calculateNumberSize=f.calculateStringSize=f.isASCII=f.isPlainObject=f.ESCAPE_CHARACTERS_REGEXP=f.JsonSize=f.getKnownPropertyNames=f.hasProperty=f.isObject=f.isNullOrUndefined=f.isNonEmptyArray=void 0,f.isNonEmptyArray=function(e){return Array.isArray(e)&&e.length>0},f.isNullOrUndefined=function(e){return null===e||e===undefined},f.isObject=function(e){return Boolean(e)&&"object"==typeof e&&!Array.isArray(e)};function a(e){return e.charCodeAt(0)<=127}f.hasProperty=(e,t)=>Object.hasOwnProperty.call(e,t),f.getKnownPropertyNames=function(e){return Object.getOwnPropertyNames(e)},function(e){e[e.Null=4]="Null",e[e.Comma=1]="Comma",e[e.Wrapper=1]="Wrapper",e[e.True=4]="True",e[e.False=5]="False",e[e.Quote=1]="Quote",e[e.Colon=1]="Colon",e[e.Date=24]="Date"}(f.JsonSize||(f.JsonSize={})),f.ESCAPE_CHARACTERS_REGEXP=/"|\\|\n|\r|\t/gu,f.isPlainObject=function(e){if("object"!=typeof e||null===e)return!1;try{let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}catch(e){return!1}},f.isASCII=a,f.calculateStringSize=function(e){return e.split("").reduce(((e,t)=>a(t)?e+1:e+2),0)+(e.match(f.ESCAPE_CHARACTERS_REGEXP)??[]).length},f.calculateNumberSize=function(e){return e.toString().length}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/misc.cjs"}],[2537,{"./assert.cjs":2522,"./hex.cjs":2531},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.hexToBigInt=f.hexToNumber=f.bigIntToHex=f.numberToHex=void 0;const a=e("./assert.cjs"),n=e("./hex.cjs");f.numberToHex=e=>((0,a.assert)("number"==typeof e,"Value must be a number."),(0,a.assert)(e>=0,"Value must be a non-negative number."),(0,a.assert)(Number.isSafeInteger(e),"Value is not a safe integer. Use `bigIntToHex` instead."),(0,n.add0x)(e.toString(16)));f.bigIntToHex=e=>((0,a.assert)("bigint"==typeof e,"Value must be a bigint."),(0,a.assert)(e>=0,"Value must be a non-negative bigint."),(0,n.add0x)(e.toString(16)));f.hexToNumber=e=>{(0,n.assertIsHexString)(e);const t=parseInt(e,16);return(0,a.assert)(Number.isSafeInteger(t),"Value is not a safe integer. Use `hexToBigInt` instead."),t};f.hexToBigInt=e=>((0,n.assertIsHexString)(e),BigInt((0,n.add0x)(e)))}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/number.cjs"}],[2538,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0})}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/opaque.cjs"}],[2539,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.createDeferredPromise=void 0,f.createDeferredPromise=function({suppressUnhandledRejection:e=!1}={}){let t,f;const a=new Promise(((e,a)=>{t=e,f=a}));return e&&a.catch((e=>{})),{promise:a,resolve:t,reject:f}}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/promise.cjs"}],[254,{"../../../shared/constants/network":5734,"bignumber.js":3978,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a,n=e("lodash"),s=(a=e("bignumber.js"))&&a.__esModule?a:{default:a},r=e("../../../shared/constants/network");const i=e=>new s.default(e||"0x0",16).gt(0);f.default={version:67,async migrate(e){const t=(0,n.cloneDeep)(e);t.meta.version=67;const f=function(e){var t,f,a;const n=(null==e?void 0:e.PreferencesController)||{},s=n.preferences||{};if(s.showTestNetworks)return e;const o=(null==e||null===(t=e.TransactionController)||void 0===t?void 0:t.transactions)||{},c=(null===(f=e.NetworkController)||void 0===f?void 0:f.provider)||{},d=(null===(a=e.CachedBalancesController)||void 0===a?void 0:a.cachedBalances)||{},l=r.TEST_CHAINS.includes(null==c?void 0:c.chainId),u=Object.values(o).some((({chainId:e})=>r.TEST_CHAINS.includes(e))),b=r.TEST_CHAINS.some((e=>Object.values(d[e]||{}).some(i))),h=l||u||b,p={...e,PreferencesController:{...n,preferences:{...s,showTestNetworks:h}}};return p}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/067.js"}],[2540,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.timeSince=f.inMilliseconds=f.Duration=void 0,function(e){e[e.Millisecond=1]="Millisecond",e[e.Second=1e3]="Second",e[e.Minute=6e4]="Minute",e[e.Hour=36e5]="Hour",e[e.Day=864e5]="Day",e[e.Week=6048e5]="Week",e[e.Year=31536e6]="Year"}(f.Duration||(f.Duration={}));const a=(e,t)=>{if(!(e=>Number.isInteger(e)&&e>=0)(e))throw new Error(`"${t}" must be a non-negative integer. Received: "${e}".`)};f.inMilliseconds=function(e,t){return a(e,"count"),e*t},f.timeSince=function(e){return a(e,"timestamp"),Date.now()-e}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/time.cjs"}],[2541,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0})}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/transaction-types.cjs"}],[2542,{"./assert.cjs":2522,"@metamask/superstruct":2872,semver:5547},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.satisfiesVersionRange=f.gtRange=f.gtVersion=f.assertIsSemVerRange=f.assertIsSemVerVersion=f.isValidSemVerRange=f.isValidSemVerVersion=f.VersionRangeStruct=f.VersionStruct=void 0;const a=e("@metamask/superstruct"),n=e("semver"),s=e("./assert.cjs");f.VersionStruct=(0,a.refine)((0,a.string)(),"Version",(e=>null!==(0,n.valid)(e)||`Expected SemVer version, got "${e}"`)),f.VersionRangeStruct=(0,a.refine)((0,a.string)(),"Version range",(e=>null!==(0,n.validRange)(e)||`Expected SemVer range, got "${e}"`)),f.isValidSemVerVersion=function(e){return(0,a.is)(e,f.VersionStruct)},f.isValidSemVerRange=function(e){return(0,a.is)(e,f.VersionRangeStruct)},f.assertIsSemVerVersion=function(e){(0,s.assertStruct)(e,f.VersionStruct)},f.assertIsSemVerRange=function(e){(0,s.assertStruct)(e,f.VersionRangeStruct)},f.gtVersion=function(e,t){return(0,n.gt)(e,t)},f.gtRange=function(e,t){return(0,n.gtr)(e,t)},f.satisfiesVersionRange=function(e,t){return(0,n.satisfies)(e,t,{includePrerelease:!0})}}}},{package:"@metamask/queued-request-controller>@metamask/utils",file:"node_modules/@metamask/queued-request-controller/node_modules/@metamask/utils/dist/versions.cjs"}],[2543,{"@metamask/base-controller":1383,"@metamask/rpc-errors":2554,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.RateLimitController=void 0;const a=e("@metamask/base-controller"),n=e("@metamask/rpc-errors"),s=e("@metamask/utils"),r="RateLimitController",i={requests:{persist:!1,anonymous:!1}};class o extends a.BaseController{constructor({rateLimitTimeout:e=5e3,rateLimitCount:t=1,messenger:f,state:a,implementations:n}){const o={requests:(0,s.getKnownPropertyNames)(n).reduce(((e,t)=>({...e,[t]:{}})),{})};super({name:r,metadata:i,messenger:f,state:{...o,...a}}),this.implementations=n,this.rateLimitTimeout=e,this.rateLimitCount=t,this.messagingSystem.registerActionHandler(`${r}:call`,((e,t,...f)=>this.call(e,t,...f)))}async call(e,t,...f){if(this.isRateLimited(t,e))throw n.rpcErrors.limitExceeded({message:`"${t.toString()}" is currently rate-limited. Please try again later.`});this.recordRequest(t,e);const a=this.implementations[t].method;if(!a)throw new Error("Invalid api type");return a(...f)}isRateLimited(e,t){const f=this.implementations[e].rateLimitCount??this.rateLimitCount;return this.state.requests[e][t]>=f}recordRequest(e,t){const f=this.implementations[e].rateLimitTimeout??this.rateLimitTimeout,a=this.state.requests[e][t]??0;this.update((n=>{0===a&&setTimeout((()=>this.resetRequestCount(e,t)),f),Object.assign(n,{requests:{...n.requests,[e]:{[t]:a+1}}})}))}resetRequestCount(e,t){this.update((f=>{Object.assign(f,{requests:{...f.requests,[e]:{[t]:0}}})}))}}f.RateLimitController=o}}},{package:"@metamask/rate-limit-controller",file:"node_modules/@metamask/rate-limit-controller/dist/RateLimitController.cjs"}],[2544,{"./RateLimitController.cjs":2543},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.RateLimitController=void 0;var a=e("./RateLimitController.cjs");Object.defineProperty(f,"RateLimitController",{enumerable:!0,get:function(){return a.RateLimitController}})}}},{package:"@metamask/rate-limit-controller",file:"node_modules/@metamask/rate-limit-controller/dist/index.cjs"}],[2545,{"../constants.cjs":2546,"@metamask/controller-utils":1474},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},c=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.ClientConfigApiService=void 0;const d=e("@metamask/controller-utils"),l=e("../constants.cjs");f.ClientConfigApiService=class{constructor({fetch:e,retries:t=d.DEFAULT_MAX_RETRIES,maximumConsecutiveFailures:f=d.DEFAULT_MAX_CONSECUTIVE_FAILURES,circuitBreakDuration:l=d.DEFAULT_CIRCUIT_BREAK_DURATION,onBreak:u,onDegraded:b,config:h}){a.set(this,void 0),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o(this,a,e,"f"),o(this,s,h.client,"f"),o(this,r,h.distribution,"f"),o(this,i,h.environment,"f"),o(this,n,(0,d.createServicePolicy)({maxRetries:t,maxConsecutiveFailures:f,circuitBreakDuration:l}),"f"),u&&c(this,n,"f").onBreak(u),b&&c(this,n,"f").onDegraded(b)}onBreak(...e){return c(this,n,"f").onBreak(...e)}onDegraded(...e){return c(this,n,"f").onDegraded(...e)}async fetchRemoteFeatureFlags(){const e=`${l.BASE_URL}/flags?client=${c(this,s,"f")}&distribution=${c(this,r,"f")}&environment=${c(this,i,"f")}`,t=await c(this,n,"f").execute((()=>c(this,a,"f").call(this,e,{cache:"no-cache"})));if(!t.ok)throw new Error("Failed to fetch remote feature flags");const f=await t.json();if(!Array.isArray(f))throw new Error("Feature flags api did not return an array");return{remoteFeatureFlags:this.flattenFeatureFlags(f),cacheTimestamp:Date.now()}}flattenFeatureFlags(e){return e.reduce(((e,t)=>({...e,...t})),{})}},a=new WeakMap,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap}}},{package:"@metamask/remote-feature-flag-controller",file:"node_modules/@metamask/remote-feature-flag-controller/dist/client-config-api-service/client-config-api-service.cjs"}],[2546,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.BASE_URL=void 0,f.BASE_URL="https://client-config.api.cx.metamask.io/v1"}}},{package:"@metamask/remote-feature-flag-controller",file:"node_modules/@metamask/remote-feature-flag-controller/dist/constants.cjs"}],[2547,{"./client-config-api-service/client-config-api-service.cjs":2545,"./remote-feature-flag-controller-types.cjs":2548,"./remote-feature-flag-controller.cjs":2549,"./utils/user-segmentation-utils.cjs":2550},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.generateDeterministicRandomNumber=f.ClientConfigApiService=f.EnvironmentType=f.DistributionType=f.ClientType=f.RemoteFeatureFlagController=void 0;var a=e("./remote-feature-flag-controller.cjs");Object.defineProperty(f,"RemoteFeatureFlagController",{enumerable:!0,get:function(){return a.RemoteFeatureFlagController}});var n=e("./remote-feature-flag-controller-types.cjs");Object.defineProperty(f,"ClientType",{enumerable:!0,get:function(){return n.ClientType}}),Object.defineProperty(f,"DistributionType",{enumerable:!0,get:function(){return n.DistributionType}}),Object.defineProperty(f,"EnvironmentType",{enumerable:!0,get:function(){return n.EnvironmentType}});var s=e("./client-config-api-service/client-config-api-service.cjs");Object.defineProperty(f,"ClientConfigApiService",{enumerable:!0,get:function(){return s.ClientConfigApiService}});var r=e("./utils/user-segmentation-utils.cjs");Object.defineProperty(f,"generateDeterministicRandomNumber",{enumerable:!0,get:function(){return r.generateDeterministicRandomNumber}})}}},{package:"@metamask/remote-feature-flag-controller",file:"node_modules/@metamask/remote-feature-flag-controller/dist/index.cjs"}],[2548,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s;Object.defineProperty(f,"__esModule",{value:!0}),f.EnvironmentType=f.DistributionType=f.ClientType=void 0,function(e){e.Extension="extension",e.Mobile="mobile"}(a||(f.ClientType=a={})),function(e){e.Main="main",e.Flask="flask",e.Beta="beta"}(n||(f.DistributionType=n={})),function(e){e.Production="prod",e.ReleaseCandidate="rc",e.Development="dev"}(s||(f.EnvironmentType=s={}))}}},{package:"@metamask/remote-feature-flag-controller",file:"node_modules/@metamask/remote-feature-flag-controller/dist/remote-feature-flag-controller-types.cjs"}],[2549,{"./utils/user-segmentation-utils.cjs":2550,"@metamask/base-controller":1383},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},b=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.RemoteFeatureFlagController=f.getDefaultRemoteFeatureFlagControllerState=f.DEFAULT_CACHE_DURATION=f.controllerName=void 0;const h=e("@metamask/base-controller"),p=e("./utils/user-segmentation-utils.cjs");f.controllerName="RemoteFeatureFlagController",f.DEFAULT_CACHE_DURATION=864e5;const m={remoteFeatureFlags:{persist:!0,anonymous:!0},cacheTimestamp:{persist:!0,anonymous:!0}};function g(){return{remoteFeatureFlags:{},cacheTimestamp:0}}f.getDefaultRemoteFeatureFlagControllerState=g;class y extends h.BaseController{constructor({messenger:e,state:t,clientConfigApiService:c,fetchInterval:d=f.DEFAULT_CACHE_DURATION,disabled:l=!1,getMetaMetricsId:b}){super({name:f.controllerName,metadata:m,messenger:e,state:{remoteFeatureFlags:{},cacheTimestamp:0,...t}}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),u(this,n,d,"f"),u(this,s,l,"f"),u(this,r,c,"f"),u(this,o,b,"f")}async updateRemoteFeatureFlags(){if(b(this,s,"f")||!b(this,a,"m",c).call(this))return;let e;if(b(this,i,"f"))await b(this,i,"f");else{try{u(this,i,b(this,r,"f").fetchRemoteFeatureFlags(),"f"),e=await b(this,i,"f")}finally{u(this,i,undefined,"f")}await b(this,a,"m",d).call(this,e.remoteFeatureFlags)}}enable(){u(this,s,!1,"f")}disable(){u(this,s,!0,"f")}}f.RemoteFeatureFlagController=y,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,a=new WeakSet,c=function(){return Date.now()-this.state.cacheTimestamp>b(this,n,"f")},d=async function(e){const t=await b(this,a,"m",l).call(this,e);this.update((()=>({remoteFeatureFlags:t,cacheTimestamp:Date.now()})))},l=async function(e){const t={},f=b(this,o,"f").call(this),a=(0,p.generateDeterministicRandomNumber)(f);for(const[f,n]of Object.entries(e)){let e=n;if(Array.isArray(n)&&a){const t=n.find((e=>!!(0,p.isFeatureFlagWithScopeValue)(e)&&a<=e.scope.value));t&&(e={name:t.name,value:t.value})}t[f]=e}return t}}}},{package:"@metamask/remote-feature-flag-controller",file:"node_modules/@metamask/remote-feature-flag-controller/dist/remote-feature-flag-controller.cjs"}],[255,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:68,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=68;const f=function(e){const{PermissionsController:t={},PermissionsMetadata:f={},...a}=e,{domainMetadata:r={},permissionsHistory:i={},permissionsLog:o=[]}=f;return{...a,PermissionController:n(t),PermissionLogController:{permissionActivityLog:o,permissionHistory:i},SubjectMetadataController:s(r)}}(t.data);return t.data=f,t}};function n(e){const{domains:t={}}=e;return{subjects:Object.entries(t).reduce(((e,[t,f])=>{const{permissions:[a]}=f,n=a.caveats.find((e=>"exposedAccounts"===e.name)),s={...a,caveats:[{type:"restrictReturnedAccounts",value:n.value}]};return delete s["@context"],e[t]={origin:t,permissions:{eth_accounts:s}},e}),{})}}function s(e){return{subjectMetadata:Object.entries(e).reduce(((e,[t,f])=>{const{name:a=null,icon:n=null,extensionId:s=null,...r}=f;return delete r.lastUpdated,delete r.host,t&&(e[t]={name:a,iconUrl:n,extensionId:s,...r,origin:t}),e}),{})}}}}},{package:"$root$",file:"app/scripts/migrations/068.js"}],[2550,{uuid:5663},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.isFeatureFlagWithScopeValue=f.generateDeterministicRandomNumber=void 0;const a=e("uuid");function n(e){return BigInt(`0x${e.replace(/-/gu,"")}`)}const s=n("00000000-0000-4000-8000-000000000000"),r=n("ffffffff-ffff-4fff-bfff-ffffffffffff")-s;f.generateDeterministicRandomNumber=function(e){if(!e)throw new Error("MetaMetrics ID cannot be empty");let t,f;if((0,a.validate)(e)){if(4!==(0,a.version)(e))throw new Error(`Invalid UUID version. Expected v4, got v${(0,a.version)(e)}`);t=n(e)-s,f=r}else{if(!e.startsWith("0x"))throw new Error("Hex ID must start with 0x prefix");const a=e.slice(2),n=64;if(a.length!==n)throw new Error(`Invalid hex ID length. Expected ${n} characters, got ${a.length}`);if(!/^[0-9a-f]+$/iu.test(a))throw new Error("Hex ID contains invalid characters");t=BigInt(`0x${a}`),f=BigInt(`0x${"f".repeat(a.length)}`)}return Number(t*BigInt(1e6)/f)/1e6};f.isFeatureFlagWithScopeValue=e=>"object"==typeof e&&null!==e&&"scope"in e}}},{package:"@metamask/remote-feature-flag-controller",file:"node_modules/@metamask/remote-feature-flag-controller/dist/utils/user-segmentation-utils.cjs"}],[256,{"@metamask/permission-controller":2393,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("@metamask/permission-controller"),n=e("lodash");f.default={version:69,async migrate(e){const t=(0,n.cloneDeep)(e);t.meta.version=69;const f=function(e){var t;if("object"==typeof(null==e||null===(t=e.SubjectMetadataController)||void 0===t?void 0:t.subjectMetadata)){const{SubjectMetadataController:{subjectMetadata:t}}=e;Object.values(t).forEach((e=>{e&&"object"==typeof e&&!Array.isArray(e)&&(e.subjectType=e.extensionId?a.SubjectType.Extension:a.SubjectType.Website)}))}return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/069.js"}],[2568,{"@metamask/base-controller":2575,"@metamask/swappable-obj-proxy":2881},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},u=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.SelectedNetworkController=f.SelectedNetworkControllerEventTypes=f.SelectedNetworkControllerActionTypes=f.METAMASK_DOMAIN=f.controllerName=void 0;const b=e("@metamask/base-controller"),h=e("@metamask/swappable-obj-proxy");f.controllerName="SelectedNetworkController";const p={domains:{persist:!0,anonymous:!1}},m=["npm:","local:"];f.METAMASK_DOMAIN="metamask",f.SelectedNetworkControllerActionTypes={getState:`${f.controllerName}:getState`,getNetworkClientIdForDomain:`${f.controllerName}:getNetworkClientIdForDomain`,setNetworkClientIdForDomain:`${f.controllerName}:setNetworkClientIdForDomain`},f.SelectedNetworkControllerEventTypes={stateChange:`${f.controllerName}:stateChange`};class g extends b.BaseController{constructor({messenger:e,state:t={domains:{}},useRequestQueuePreference:i,onPreferencesStateChange:c,domainProxyMap:b}){super({name:f.controllerName,metadata:p,messenger:e,state:t}),a.add(this),n.set(this,void 0),s.set(this,void 0),l(this,s,i,"f"),l(this,n,b,"f"),u(this,a,"m",r).call(this),this.messagingSystem.call("PermissionController:getSubjectNames").filter((e=>this.state.domains[e]===undefined)).forEach((e=>this.setNetworkClientIdForDomain(e,this.messagingSystem.call("NetworkController:getState").selectedNetworkClientId))),this.messagingSystem.subscribe("PermissionController:stateChange",((e,t)=>{t.forEach((({op:e,path:t})=>{if("subjects"===t[0]&&t[1]!==undefined&&"string"==typeof t[1]){const f=t[1];"add"===e&&this.state.domains[f]===undefined?this.setNetworkClientIdForDomain(f,this.messagingSystem.call("NetworkController:getState").selectedNetworkClientId):"remove"===e&&this.state.domains[f]!==undefined&&u(this,a,"m",o).call(this,f)}}))})),this.messagingSystem.subscribe("NetworkController:stateChange",(({selectedNetworkClientId:e,networkConfigurationsByChainId:t},f)=>{const a=f.find((({op:e,path:t})=>("replace"===e||"remove"===e)&&"networkConfigurationsByChainId"===t[0]));if(a){const f=Object.values(t).reduce(((e,t)=>(t.rpcEndpoints.forEach((({networkClientId:f})=>e[f]=t.chainId)),e)),{});Object.entries(this.state.domains).forEach((([n,s])=>{const r=f[s];if("remove"!==a.op||r){if("replace"===a.op){const e=a.path[1];if(!r||r===e){const f=t[e],{networkClientId:a}=f.rpcEndpoints[f.defaultRpcEndpointIndex];s!==a&&this.setNetworkClientIdForDomain(n,a)}}}else this.setNetworkClientIdForDomain(n,e)}))}})),c((({useRequestQueue:e})=>{u(this,s,"f")!==e&&(e?u(this,a,"m",d).call(this):Object.keys(this.state.domains).forEach((e=>{u(this,a,"m",o).call(this,e)})),l(this,s,e,"f"))}))}setNetworkClientIdForDomain(e,t){if(u(this,s,"f")){if(e===f.METAMASK_DOMAIN)throw new Error(`NetworkClientId for domain "${f.METAMASK_DOMAIN}" cannot be set on the SelectedNetworkController`);if(!m.some((t=>e.startsWith(t)))){if(!u(this,a,"m",c).call(this,e))throw new Error("NetworkClientId for domain cannot be called with a domain that has not yet been granted permissions");u(this,a,"m",i).call(this,e,t)}}}getNetworkClientIdForDomain(e){const{selectedNetworkClientId:t}=this.messagingSystem.call("NetworkController:getState");return u(this,s,"f")?this.state.domains[e]??t:t}getProviderAndBlockTracker(e){if(e===f.METAMASK_DOMAIN||m.some((t=>e.startsWith(t)))){const e=this.messagingSystem.call("NetworkController:getSelectedNetworkClient");if(e===undefined)throw new Error("Selected network not initialized");return e}let t=u(this,n,"f").get(e);if(t===undefined){let f;if(u(this,s,"f")&&u(this,a,"m",c).call(this,e)){const t=this.getNetworkClientIdForDomain(e);f=this.messagingSystem.call("NetworkController:getNetworkClientById",t)}else if(f=this.messagingSystem.call("NetworkController:getSelectedNetworkClient"),f===undefined)throw new Error("Selected network not initialized");t={provider:(0,h.createEventEmitterProxy)(f.provider),blockTracker:(0,h.createEventEmitterProxy)(f.blockTracker,{eventFilter:"skipInternal"})},u(this,n,"f").set(e,t)}return t}}f.SelectedNetworkController=g,n=new WeakMap,s=new WeakMap,a=new WeakSet,r=function(){this.messagingSystem.registerActionHandler(f.SelectedNetworkControllerActionTypes.getNetworkClientIdForDomain,this.getNetworkClientIdForDomain.bind(this)),this.messagingSystem.registerActionHandler(f.SelectedNetworkControllerActionTypes.setNetworkClientIdForDomain,this.setNetworkClientIdForDomain.bind(this))},i=function(e,t){const f=this.messagingSystem.call("NetworkController:getNetworkClientById",t);this.update((f=>{f.domains[e]=t}));const a=this.getProviderAndBlockTracker(e);a.provider.setTarget(f.provider),a.blockTracker.setTarget(f.blockTracker)},o=function(e){const t=this.messagingSystem.call("NetworkController:getSelectedNetworkClient"),f=u(this,n,"f").get(e);f&&t?(f.provider.setTarget(t.provider),f.blockTracker.setTarget(t.blockTracker)):f&&u(this,n,"f").delete(e),this.update((t=>{delete t.domains[e]}))},c=function(e){return this.messagingSystem.call("PermissionController:hasPermissions",e)},d=function(){u(this,n,"f").forEach(((e,t)=>{const{selectedNetworkClientId:f}=this.messagingSystem.call("NetworkController:getState");u(this,a,"m",c).call(this,t)&&u(this,a,"m",i).call(this,t,f)}))}}}},{package:"@metamask/selected-network-controller",file:"node_modules/@metamask/selected-network-controller/dist/SelectedNetworkController.cjs"}],[2569,{"./SelectedNetworkController.cjs":2568},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.createSelectedNetworkMiddleware=void 0;const a=e("./SelectedNetworkController.cjs");f.createSelectedNetworkMiddleware=e=>(t,f,n)=>{if(!t.origin)throw new Error("Request object is lacking an 'origin'");var s;return t.networkClientId=(s=t.origin,e.call(a.SelectedNetworkControllerActionTypes.getNetworkClientIdForDomain,s)),n()}}}},{package:"@metamask/selected-network-controller",file:"node_modules/@metamask/selected-network-controller/dist/SelectedNetworkMiddleware.cjs"}],[257,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:70,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=70;const f=function(e){var t;if(Array.isArray(null==e||null===(t=e.PermissionLogController)||void 0===t?void 0:t.permissionActivityLog)){const{PermissionLogController:{permissionActivityLog:t}}=e;t.forEach((e=>{e&&"object"==typeof e&&!Array.isArray(e)&&(delete e.request,delete e.response)}))}return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/070.js"}],[2570,{"./SelectedNetworkController.cjs":2568,"./SelectedNetworkMiddleware.cjs":2569},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.createSelectedNetworkMiddleware=f.METAMASK_DOMAIN=f.SelectedNetworkController=f.SelectedNetworkControllerEventTypes=f.SelectedNetworkControllerActionTypes=void 0;var a=e("./SelectedNetworkController.cjs");Object.defineProperty(f,"SelectedNetworkControllerActionTypes",{enumerable:!0,get:function(){return a.SelectedNetworkControllerActionTypes}}),Object.defineProperty(f,"SelectedNetworkControllerEventTypes",{enumerable:!0,get:function(){return a.SelectedNetworkControllerEventTypes}}),Object.defineProperty(f,"SelectedNetworkController",{enumerable:!0,get:function(){return a.SelectedNetworkController}}),Object.defineProperty(f,"METAMASK_DOMAIN",{enumerable:!0,get:function(){return a.METAMASK_DOMAIN}});var n=e("./SelectedNetworkMiddleware.cjs");Object.defineProperty(f,"createSelectedNetworkMiddleware",{enumerable:!0,get:function(){return n.createSelectedNetworkMiddleware}})}}},{package:"@metamask/selected-network-controller",file:"node_modules/@metamask/selected-network-controller/dist/index.cjs"}],[2571,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.BaseControllerV1=f.isBaseControllerV1=void 0,f.isBaseControllerV1=function(e){return"name"in e&&"string"==typeof e.name&&"config"in e&&"object"==typeof e.config&&"defaultConfig"in e&&"object"==typeof e.defaultConfig&&"state"in e&&"object"==typeof e.state&&"defaultState"in e&&"object"==typeof e.defaultState&&"disabled"in e&&"boolean"==typeof e.disabled&&"subscribe"in e&&"function"==typeof e.subscribe};class a{constructor(e={},t={}){this.defaultConfig={},this.defaultState={},this.disabled=!1,this.name="BaseController",this.internalConfig=this.defaultConfig,this.internalState=this.defaultState,this.internalListeners=[],this.initialState=t,this.initialConfig=e}initialize(){return this.internalState=this.defaultState,this.internalConfig=this.defaultConfig,this.configure(this.initialConfig),this.update(this.initialState),this}get config(){return this.internalConfig}get state(){return this.internalState}configure(e,t=!1,f=!0){if(f){this.internalConfig=t?e:Object.assign(this.internalConfig,e);for(const e of Object.keys(this.internalConfig)){const t=this.internalConfig[e];t!==undefined&&(this[e]=t)}}else for(const t of Object.keys(e))if(this.internalConfig[t]!==undefined){const f=e[t];this.internalConfig[t]=f,this[t]=f}}notify(){this.disabled||this.internalListeners.forEach((e=>{e(this.internalState)}))}subscribe(e){this.internalListeners.push(e)}unsubscribe(e){const t=this.internalListeners.findIndex((t=>e===t));return t>-1&&this.internalListeners.splice(t,1),t>-1}update(e,t=!1){this.internalState=t?Object.assign({},e):Object.assign({},this.internalState,e),this.notify()}}f.BaseControllerV1=a,f.default=a}}},{package:"@metamask/selected-network-controller>@metamask/base-controller",file:"node_modules/@metamask/selected-network-controller/node_modules/@metamask/base-controller/dist/BaseControllerV1.cjs"}],[2572,{immer:4649},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.getPersistentState=f.getAnonymizedState=f.BaseController=f.isBaseController=void 0;const r=e("immer");(0,r.enablePatches)(),f.isBaseController=function(e){return"name"in e&&"string"==typeof e.name&&"state"in e&&"object"==typeof e.state&&"metadata"in e&&"object"==typeof e.metadata};function i(e,t,f){return Object.keys(e).reduce(((a,n)=>{try{const s=t[n];if(!s)throw new Error(`No metadata found for '${String(n)}'`);const r=s[f],i=e[n];return"function"==typeof r?a[n]=r(i):r&&(a[n]=i),a}catch(e){return setTimeout((()=>{throw e})),a}}),{})}f.BaseController=class{constructor({messenger:e,metadata:t,name:f,state:s}){a.set(this,void 0),this.messagingSystem=e,this.name=f,n(this,a,(0,r.freeze)(s,!0),"f"),this.metadata=t,this.messagingSystem.registerActionHandler(`${f}:getState`,(()=>this.state)),this.messagingSystem.registerInitialEventPayload({eventType:`${f}:stateChange`,getPayload:()=>[this.state,[]]})}get state(){return s(this,a,"f")}set state(e){throw new Error("Controller state cannot be directly mutated; use 'update' method instead.")}update(e){const[t,f,i]=r.produceWithPatches(s(this,a,"f"),e);return n(this,a,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,f),{nextState:t,patches:f,inversePatches:i}}applyPatches(e){const t=(0,r.applyPatches)(s(this,a,"f"),e);n(this,a,t,"f"),this.messagingSystem.publish(`${this.name}:stateChange`,t,e)}destroy(){this.messagingSystem.clearEventSubscriptions(`${this.name}:stateChange`)}},a=new WeakMap,f.getAnonymizedState=function(e,t){return i(e,t,"anonymous")},f.getPersistentState=function(e,t){return i(e,t,"persist")}}}},{package:"@metamask/selected-network-controller>@metamask/base-controller",file:"node_modules/@metamask/selected-network-controller/node_modules/@metamask/base-controller/dist/BaseControllerV2.cjs"}],[2573,{"./RestrictedMessenger.cjs":2574},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.ControllerMessenger=f.Messenger=void 0;const o=e("./RestrictedMessenger.cjs");class c{constructor(){a.set(this,new Map),n.set(this,new Map),s.set(this,new Map),r.set(this,new Map)}registerActionHandler(e,t){if(i(this,a,"f").has(e))throw new Error(`A handler for ${e} has already been registered`);i(this,a,"f").set(e,t)}unregisterActionHandler(e){i(this,a,"f").delete(e)}clearActions(){i(this,a,"f").clear()}call(e,...t){const f=i(this,a,"f").get(e);if(!f)throw new Error(`A handler for ${e} has not been registered`);return f(...t)}registerInitialEventPayload({eventType:e,getPayload:t}){i(this,s,"f").set(e,t)}publish(e,...t){const f=i(this,n,"f").get(e);if(f)for(const[e,a]of f.entries())try{if(a){const f=i(this,r,"f").get(e),n=a(...t);n!==f&&(i(this,r,"f").set(e,n),e(n,f))}else e(...t)}catch(e){setTimeout((()=>{throw e}))}}subscribe(e,t,f){let a=i(this,n,"f").get(e);if(a||(a=new Map,i(this,n,"f").set(e,a)),a.set(t,f),f){const a=i(this,s,"f").get(e);if(a){const e=f(...a());i(this,r,"f").set(t,e)}}}unsubscribe(e,t){const f=i(this,n,"f").get(e);if(!f||!f.has(t))throw new Error(`Subscription not found for event: ${e}`);f.get(t)&&i(this,r,"f").delete(t),f.delete(t)}clearEventSubscriptions(e){i(this,n,"f").delete(e)}clearSubscriptions(){i(this,n,"f").clear()}getRestricted({name:e,allowedActions:t,allowedEvents:f}){return new o.RestrictedMessenger({messenger:this,name:e,allowedActions:t,allowedEvents:f})}}f.Messenger=c,f.ControllerMessenger=c,a=new WeakMap,n=new WeakMap,s=new WeakMap,r=new WeakMap}}},{package:"@metamask/selected-network-controller>@metamask/base-controller",file:"node_modules/@metamask/selected-network-controller/node_modules/@metamask/base-controller/dist/Messenger.cjs"}],[2574,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},u=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.RestrictedControllerMessenger=f.RestrictedMessenger=void 0;class b{constructor({controllerMessenger:e,messenger:t,name:f,allowedActions:o,allowedEvents:c}){if(a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),t&&e)throw new Error("Both messenger properties provided. Provide message using only 'messenger' option, 'controllerMessenger' is deprecated");if(!t&&!e)throw new Error("Messenger not provided");l(this,n,t??e,"f"),l(this,s,f,"f"),l(this,r,o,"f"),l(this,i,c,"f")}registerActionHandler(e,t){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed registering action handlers prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").registerActionHandler(e,t)}unregisterActionHandler(e){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed unregistering action handlers prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").unregisterActionHandler(e)}call(e,...t){if(!u(this,a,"m",c).call(this,e))throw new Error(`Action missing from allow list: ${e}`);return u(this,n,"f").call(e,...t)}registerInitialEventPayload({eventType:e,getPayload:t}){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").registerInitialEventPayload({eventType:e,getPayload:t})}publish(e,...t){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed publishing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").publish(e,...t)}subscribe(e,t,f){if(!u(this,a,"m",o).call(this,e))throw new Error(`Event missing from allow list: ${e}`);return f?u(this,n,"f").subscribe(e,t,f):u(this,n,"f").subscribe(e,t)}unsubscribe(e,t){if(!u(this,a,"m",o).call(this,e))throw new Error(`Event missing from allow list: ${e}`);u(this,n,"f").unsubscribe(e,t)}clearEventSubscriptions(e){if(!u(this,a,"m",d).call(this,e))throw new Error(`Only allowed clearing events prefixed by '${u(this,s,"f")}:'`);u(this,n,"f").clearEventSubscriptions(e)}}f.RestrictedMessenger=b,f.RestrictedControllerMessenger=b,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakSet,o=function(e){const t=u(this,i,"f");return u(this,a,"m",d).call(this,e)||null!==t&&t.includes(e)},c=function(e){const t=u(this,r,"f");return u(this,a,"m",d).call(this,e)||null!==t&&t.includes(e)},d=function(e){return e.startsWith(`${u(this,s,"f")}:`)}}}},{package:"@metamask/selected-network-controller>@metamask/base-controller",file:"node_modules/@metamask/selected-network-controller/node_modules/@metamask/base-controller/dist/RestrictedMessenger.cjs"}],[2575,{"./BaseControllerV1.cjs":2571,"./BaseControllerV2.cjs":2572,"./Messenger.cjs":2573,"./RestrictedMessenger.cjs":2574},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.RestrictedMessenger=f.RestrictedControllerMessenger=f.Messenger=f.ControllerMessenger=f.isBaseController=f.getPersistentState=f.getAnonymizedState=f.BaseController=f.isBaseControllerV1=f.BaseControllerV1=void 0;var a=e("./BaseControllerV1.cjs");Object.defineProperty(f,"BaseControllerV1",{enumerable:!0,get:function(){return a.BaseControllerV1}}),Object.defineProperty(f,"isBaseControllerV1",{enumerable:!0,get:function(){return a.isBaseControllerV1}});var n=e("./BaseControllerV2.cjs");Object.defineProperty(f,"BaseController",{enumerable:!0,get:function(){return n.BaseController}}),Object.defineProperty(f,"getAnonymizedState",{enumerable:!0,get:function(){return n.getAnonymizedState}}),Object.defineProperty(f,"getPersistentState",{enumerable:!0,get:function(){return n.getPersistentState}}),Object.defineProperty(f,"isBaseController",{enumerable:!0,get:function(){return n.isBaseController}});var s=e("./Messenger.cjs");Object.defineProperty(f,"ControllerMessenger",{enumerable:!0,get:function(){return s.ControllerMessenger}}),Object.defineProperty(f,"Messenger",{enumerable:!0,get:function(){return s.Messenger}});var r=e("./RestrictedMessenger.cjs");Object.defineProperty(f,"RestrictedControllerMessenger",{enumerable:!0,get:function(){return r.RestrictedControllerMessenger}}),Object.defineProperty(f,"RestrictedMessenger",{enumerable:!0,get:function(){return r.RestrictedMessenger}})}}},{package:"@metamask/selected-network-controller>@metamask/base-controller",file:"node_modules/@metamask/selected-network-controller/node_modules/@metamask/base-controller/dist/index.cjs"}],[258,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:71,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=71;const f=function(e){e.NotificationController&&(e.AnnouncementController={announcements:e.NotificationController.notifications},delete e.NotificationController);return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/071.js"}],[259,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:72,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=72;const f=function(e){const t=(null==e?void 0:e.PreferencesController)||{};return{...e,PreferencesController:{...t,knownMethodData:{}}}}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/072.js"}],[26,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getPPOMControllerInitMessenger=function(e){return e.getRestricted({name:"PPOMControllerInit",allowedEvents:["PreferencesController:stateChange"],allowedActions:[]})},f.getPPOMControllerMessenger=function(e){return e.getRestricted({name:"PPOMController",allowedEvents:["NetworkController:stateChange","NetworkController:networkDidChange"],allowedActions:["NetworkController:getNetworkClientById"]})}}}},{package:"$root$",file:"app/scripts/controller-init/messengers/ppom-controller-messenger.ts"}],[260,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:73,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=73;const f=function(e){const t=(null==e?void 0:e.PreferencesController)||{};return{...e,PreferencesController:{...t,knownMethodData:{}}}}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/073.js"}],[261,{"../../../shared/constants/network":5734,"bignumber.js":3978,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a,n=e("lodash"),s=(a=e("bignumber.js"))&&a.__esModule?a:{default:a},r=e("../../../shared/constants/network");const i=e=>new s.default(e||"0x0",16).gt(0),o=["0x3","0x2a","0x4"],c={"0x3":{rpcUrl:(0,r.getRpcUrl)({network:"ropsten"}),nickname:"Ropsten",ticker:"RopstenETH"},"0x2a":{rpcUrl:(0,r.getRpcUrl)({network:"kovan"}),nickname:"Kovan",ticker:"KovanETH"},"0x4":{rpcUrl:(0,r.getRpcUrl)({network:"rinkeby"}),nickname:"Rinkeby",ticker:"RinkebyETH"}};f.default={version:74,async migrate(e){const t=(0,n.cloneDeep)(e);t.meta.version=74;const f=function(e){var t,f;const a=(null==e?void 0:e.PreferencesController)||{},s=a.preferences||{},r=(null==e?void 0:e.NetworkController)||{},d=(null==r?void 0:r.provider)||{},l=o.filter((e=>e===(null==d?void 0:d.chainId)));if(!s.showTestNetworks&&0===l.length)return e;const u=(null==e||null===(t=e.TransactionController)||void 0===t?void 0:t.transactions)||{},b=(null===(f=e.CachedBalancesController)||void 0===f?void 0:f.cachedBalances)||{},h=Object.values(u).filter((({chainId:e})=>o.includes(e))).map((({chainId:e})=>e)),p=o.filter((e=>Object.values(b[e]||{}).some(i))),m=(0,n.uniq)([...p,...h,...l]),g=a.frequentRpcListDetail??[];m.forEach((e=>{g.find((t=>t.chainId===e))||g.unshift({rpcUrl:c[e].rpcUrl,chainId:e,ticker:c[e].ticker,nickname:c[e].nickname,rpcPrefs:{}})})),g.length&&(a.frequentRpcListDetail=g);if(l.length){const e=l[0];r.provider={...r.provider,type:"rpc",rpcUrl:c[e].rpcUrl,chainId:e,nickname:c[e].nickname,ticker:c[e].ticker}}return{...e,PreferencesController:{...a},NetworkController:{...r}}}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/074.js"}],[262,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:75,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=75;const f=function(e){return delete e.ThreeBoxController,e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/075.js"}],[2625,{"./constants":2626,"./types":2628,"./utils":2629,"@ethersproject/bytes":500,"@metamask/controller-utils":1474,"@metamask/eth-query":1701,"@metamask/polling-controller":2411,"@metamask/transaction-controller":2905,"bignumber.js":2630,"lodash/cloneDeep":4831},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m,g,y,w,v,k,S,_,T,C,E,P,j,O=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},I=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.getDefaultSmartTransactionsControllerState=f.DEFAULT_INTERVAL=void 0;const x=e("@ethersproject/bytes"),N=e("@metamask/controller-utils"),M=A(e("@metamask/eth-query")),R=e("@metamask/polling-controller"),L=e("@metamask/transaction-controller"),D=e("bignumber.js"),B=A(e("lodash/cloneDeep")),$=e("./constants"),F=e("./types"),q=e("./utils");f.DEFAULT_INTERVAL=5e3;const H="`ethQuery` is not defined on SmartTransactionsController",U="SmartTransactionsController",V={smartTransactionsState:{persist:!0,anonymous:!0}};function W(){return{smartTransactionsState:{smartTransactions:{},userOptIn:null,userOptInV2:null,fees:{approvalTxFees:null,tradeTxFees:null},liveness:!0,livenessByChainId:{[N.ChainId.mainnet]:!0,[N.ChainId.sepolia]:!0},feesByChainId:{[N.ChainId.mainnet]:{approvalTxFees:null,tradeTxFees:null},[N.ChainId.sepolia]:{approvalTxFees:null,tradeTxFees:null}}}}}f.getDefaultSmartTransactionsControllerState=W;class z extends((0,R.StaticIntervalPollingController)()){constructor({interval:e=f.DEFAULT_INTERVAL,clientId:t,chainId:m=N.ChainId.mainnet,supportedChainIds:g=[N.ChainId.mainnet,N.ChainId.sepolia],getNonceLock:y,confirmExternalTransaction:w,trackMetaMetricsEvent:v,state:k={},messenger:S,getTransactions:_,getMetaMetricsProps:T,getFeatureFlags:C,updateTransaction:E}){super({name:U,metadata:V,messenger:S,state:Object.assign(Object.assign({},W()),k)}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),c.set(this,void 0),d.set(this,void 0),l.set(this,void 0),u.set(this,void 0),b.set(this,void 0),h.set(this,void 0),p.set(this,void 0),O(this,n,e,"f"),O(this,s,t,"f"),O(this,r,m,"f"),O(this,i,g,"f"),this.setIntervalLength(e),O(this,o,y,"f"),O(this,c,undefined,"f"),O(this,d,w,"f"),O(this,l,_,"f"),O(this,u,v,"f"),O(this,b,T,"f"),O(this,h,C,"f"),O(this,p,E,"f"),this.initializeSmartTransactionsForChainId(),this.messagingSystem.subscribe("NetworkController:stateChange",(({selectedNetworkClientId:e})=>{const{configuration:{chainId:t},provider:f}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);O(this,r,t,"f"),O(this,c,new M.default(f),"f"),this.initializeSmartTransactionsForChainId(),this.checkPoll(this.state)})),this.messagingSystem.subscribe(`${U}:stateChange`,(e=>this.checkPoll(e)))}async _executePoll({chainIds:e}){const t=(null!=e?e:[]).filter((e=>I(this,i,"f").includes(e)));return 0===t.length?Promise.resolve():this.updateSmartTransactions({chainIds:t})}checkPoll({smartTransactionsState:{smartTransactions:e}}){const t=Object.values(e).flat(),f=null==t?void 0:t.filter(q.isSmartTransactionPending);!this.timeoutHandle&&(null==f?void 0:f.length)>0?this.poll():this.timeoutHandle&&0===(null==f?void 0:f.length)&&this.stop()}initializeSmartTransactionsForChainId(){I(this,i,"f").includes(I(this,r,"f"))&&this.update((e=>{var t;e.smartTransactionsState.smartTransactions[I(this,r,"f")]=null!==(t=e.smartTransactionsState.smartTransactions[I(this,r,"f")])&&void 0!==t?t:[]}))}async poll(e){e&&O(this,n,e,"f"),this.timeoutHandle&&clearInterval(this.timeoutHandle),I(this,i,"f").includes(I(this,r,"f"))&&(this.timeoutHandle=setInterval((()=>{(0,N.safelyExecute)((async()=>this.updateSmartTransactions()))}),I(this,n,"f")),await(0,N.safelyExecute)((async()=>this.updateSmartTransactions())))}async stop(){this.timeoutHandle&&clearInterval(this.timeoutHandle),this.timeoutHandle=undefined}setOptInState(e){this.update((t=>{t.smartTransactionsState.userOptInV2=e}))}trackStxStatusChange(e,t){let f=(0,B.default)(e);f=Object.assign(Object.assign({},(0,B.default)(t)),f),f.status!==(null==t?void 0:t.status)&&I(this,u,"f").call(this,{event:$.MetaMetricsEventName.StxStatusUpdated,category:$.MetaMetricsEventCategory.Transactions,properties:(0,q.getSmartTransactionMetricsProperties)(f),sensitiveProperties:(0,q.getSmartTransactionMetricsSensitiveProperties)(f)})}isNewSmartTransaction(e,t){const{smartTransactionsState:{smartTransactions:f}}=this.state,a=f[null!=t?t:I(this,r,"f")],n=null==a?void 0:a.findIndex((t=>t.uuid===e));return-1===n||n===undefined}updateSmartTransaction(e,{networkClientId:t}={}){let f=I(this,c,"f"),n=I(this,r,"f");if(t){const{configuration:e,provider:a}=this.messagingSystem.call("NetworkController:getNetworkClientById",t);n=e.chainId,f=new M.default(a)}I(this,a,"m",w).call(this,e,{chainId:n,ethQuery:f})}async updateSmartTransactions({chainIds:e}={chainIds:I(this,a,"m",T).call(this)}){const{smartTransactionsState:{smartTransactions:t}}=this.state;for(const[f,n]of Object.entries(t)){if(e&&!e.includes(f))continue;const t=n.filter(q.isSmartTransactionPending).map((e=>{const t=I(this,a,"m",C).call(this,{chainId:f});return{uuid:e.uuid,networkClientId:t,chainId:e.chainId}}));t.length>0&&await this.fetchSmartTransactionsStatus(t)}}async fetchSmartTransactionsStatus(e){const{chainId:t}=e[0],f=e.map((e=>e.uuid)),n=new URLSearchParams({uuids:f.join(",")}),s=I(this,a,"m",E).call(this,{networkClientId:e[0].networkClientId}),r=`${(0,q.getAPIRequestURL)(F.APIType.BATCH_STATUS,t)}?${n.toString()}`,i=await I(this,a,"m",m).call(this,r);for(const[f,n]of Object.entries(i)){const r=e.find((e=>e.uuid===f));if(!r){console.error(`No matching transaction found for uuid: ${f}`);continue}const i={statusMetadata:n,status:(0,q.calculateStatus)(n),cancellable:(0,q.isSmartTransactionCancellable)(n),uuid:f,networkClientId:r.networkClientId};await I(this,a,"m",w).call(this,i,{chainId:t,ethQuery:s})}return i}clearFees(){const e={approvalTxFees:null,tradeTxFees:null};return this.update((t=>{t.smartTransactionsState.fees=e})),e}async getFees(e,t,{networkClientId:f}={}){const n=null!=f?f:this.messagingSystem.call("NetworkController:getState").selectedNetworkClientId,s=I(this,a,"m",_).call(this,{networkClientId:n}),i=[];let o;if(t){const f=await I(this,a,"m",S).call(this,t,n);i.push(f),o=Object.assign(Object.assign({},e),{nonce:(0,q.incrementNonceInHex)(f.nonce)})}else o=e.nonce?e:await I(this,a,"m",S).call(this,e,n);i.push(o);const c=await I(this,a,"m",m).call(this,(0,q.getAPIRequestURL)(F.APIType.GET_FEES,s),{method:"POST",body:JSON.stringify({txs:i})});let d,l;return t?(d=null==c?void 0:c.txs[0],l=null==c?void 0:c.txs[1]):(d=null,l=null==c?void 0:c.txs[0]),this.update((e=>{s===I(this,r,"f")&&(e.smartTransactionsState.fees={approvalTxFees:d,tradeTxFees:l}),e.smartTransactionsState.feesByChainId[s]={approvalTxFees:d,tradeTxFees:l}})),{approvalTxFees:d,tradeTxFees:l}}async submitSignedTransactions({transactionMeta:e,txParams:t,signedTransactions:f,signedCanceledTransactions:n=[],networkClientId:s}){var r,i;const c=null!=s?s:this.messagingSystem.call("NetworkController:getState").selectedNetworkClientId,d=I(this,a,"m",_).call(this,{networkClientId:c}),l=I(this,a,"m",E).call(this,{networkClientId:c}),u=await I(this,a,"m",m).call(this,(0,q.getAPIRequestURL)(F.APIType.SUBMIT_TRANSACTIONS,d),{method:"POST",body:JSON.stringify({rawTxs:f,rawCancelTxs:n})}),b=Date.now();let h;try{if(null==t?void 0:t.from){const e=await(0,N.query)(l,"getBalance",[t.from]);h=new D.BigNumber(e).toString(16)}}catch(e){console.error("ethQuery.getBalance error:",e)}let p,g,y={};if(t&&!t.nonce)try{g=await I(this,o,"f").call(this,t.from,c),p=(0,x.hexlify)(g.nextNonce),y=g.nonceDetails,null!==(r=t.nonce)&&void 0!==r||(t.nonce=p)}catch(e){throw console.error("Failed to acquire nonce lock:",e),e}const v=f.map((e=>(0,q.getTxHash)(e))),k=Object.assign(Object.assign({},u),{txHash:v[v.length-1],txHashes:v});try{await I(this,a,"m",w).call(this,{chainId:d,nonceDetails:y,preTxBalance:h,status:F.SmartTransactionStatuses.PENDING,time:b,txParams:t,uuid:k.uuid,txHash:k.txHash,cancellable:!0,type:null!==(i=null==e?void 0:e.type)&&void 0!==i?i:"swap",transactionId:null==e?void 0:e.id,networkClientId:c,txHashes:v},{chainId:d,ethQuery:l})}catch(e){throw console.error("Failed to create a smart transaction:",e),e}finally{g&&g.releaseLock()}return k}async cancelSmartTransaction(e,{networkClientId:t}={}){const f=I(this,a,"m",_).call(this,{networkClientId:t});await I(this,a,"m",m).call(this,(0,q.getAPIRequestURL)(F.APIType.CANCEL,f),{method:"POST",body:JSON.stringify({uuid:e})})}async fetchLiveness({networkClientId:e}={}){const t=I(this,a,"m",_).call(this,{networkClientId:e});let f=!1;try{const e=await I(this,a,"m",m).call(this,(0,q.getAPIRequestURL)(F.APIType.LIVENESS,t));f=Boolean(e.smartTransactions)}catch(e){console.log('"fetchLiveness" API call failed')}return this.update((e=>{t===I(this,r,"f")&&(e.smartTransactionsState.liveness=f),e.smartTransactionsState.livenessByChainId[t]=f})),f}async setStatusRefreshInterval(e){e!==I(this,n,"f")&&O(this,n,e,"f")}getTransactions({addressFrom:e,status:t}){return I(this,a,"m",P).call(this).filter((f=>{var a;return f.status===t&&(null===(a=f.txParams)||void 0===a?void 0:a.from)===e}))}getSmartTransactionByMinedTxHash(e){if(!e)return undefined;return I(this,a,"m",P).call(this).find((t=>{var f,a;return(null===(a=null===(f=t.statusMetadata)||void 0===f?void 0:f.minedHash)||void 0===a?void 0:a.toLowerCase())===e.toLowerCase()}))}wipeSmartTransactions({address:e,ignoreNetwork:t}){if(!e)return;const f=e.toLowerCase();if(t){const{smartTransactionsState:{smartTransactions:e}}=this.state;Object.keys(e).forEach((e=>{I(this,a,"m",j).call(this,{chainId:e,addressLowerCase:f})}))}else I(this,a,"m",j).call(this,{chainId:I(this,r,"f"),addressLowerCase:f})}}f.default=z,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,c=new WeakMap,d=new WeakMap,l=new WeakMap,u=new WeakMap,b=new WeakMap,h=new WeakMap,p=new WeakMap,a=new WeakSet,m=async function(e,t){const f=Object.assign(Object.assign({},t),{headers:Object.assign({"Content-Type":"application/json"},I(this,s,"f")&&{"X-Client-Id":I(this,s,"f")})});return(0,q.handleFetch)(e,f)},g=function(e,{chainId:t=I(this,r,"f")}){var f;const{smartTransactionsState:{smartTransactions:a}}=this.state,n=null!==(f=a[t])&&void 0!==f?f:[],s=null==n?void 0:n.findIndex((t=>t.uuid===e.uuid));-1!==s&&(0,N.isSafeDynamicKey)(t)&&this.update((f=>{f.smartTransactionsState.smartTransactions[t][s]=Object.assign(Object.assign({},f.smartTransactionsState.smartTransactions[t][s]),e)}))},y=async function(e){const t=await I(this,b,"f").call(this);e.accountHardwareType=null==t?void 0:t.accountHardwareType,e.accountType=null==t?void 0:t.accountType,e.deviceModel=null==t?void 0:t.deviceModel},w=async function(e,{chainId:t=I(this,r,"f"),ethQuery:f=I(this,c,"f")}){var n;const{smartTransactionsState:{smartTransactions:i}}=this.state,o=null!==(n=i[t])&&void 0!==n?n:[],d=null==o?void 0:o.findIndex((t=>t.uuid===e.uuid)),u=this.isNewSmartTransaction(e.uuid,t);if(f===undefined)throw new Error(H);if(u)try{await I(this,a,"m",y).call(this,e)}catch(e){console.error("Failed to add metrics props to smart transaction:",e)}if(this.trackStxStatusChange(e,u?undefined:o[d]),u){const f=null==o?void 0:o.findIndex((t=>{var f,a,n;return(null===(f=t.txParams)||void 0===f?void 0:f.nonce)===(null===(a=e.txParams)||void 0===a?void 0:a.nonce)&&(null===(n=t.status)||void 0===n?void 0:n.startsWith("cancelled"))})),a=[(0,B.default)(e)],n=Object.assign(Object.assign({},e),{history:a}),s=f>-1?o.slice(0,f).concat(o.slice(f+1)).concat(n):o.concat(n);return void this.update((e=>{e.smartTransactionsState.smartTransactions[t]=s}))}const b=o[d],m=Object.assign(Object.assign({},b),e);this.messagingSystem.publish("SmartTransactionsController:smartTransaction",m),(0,q.shouldMarkRegularTransactionAsFailed)({smartTransaction:m,clientId:I(this,s,"f"),getFeatureFlags:I(this,h,"f")})&&(0,q.markRegularTransactionAsFailed)({smartTransaction:m,getRegularTransactions:I(this,l,"f"),updateTransaction:I(this,p,"f")}),e.status!==F.SmartTransactionStatuses.SUCCESS&&e.status!==F.SmartTransactionStatuses.REVERTED||e.confirmed?I(this,a,"m",g).call(this,e,{chainId:t}):await I(this,a,"m",k).call(this,m,{chainId:t,ethQuery:f})},v=function(e){if(!e)return!0;const t=I(this,l,"f").call(this),f=null==t?void 0:t.find((t=>{var f;return(null===(f=t.hash)||void 0===f?void 0:f.toLowerCase())===e.toLowerCase()}));return!f||![L.TransactionStatus.confirmed,L.TransactionStatus.submitted].includes(f.status)},k=async function(e,{chainId:t=I(this,r,"f"),ethQuery:f=I(this,c,"f")}){var n;if(f===undefined)throw new Error(H);const s=null===(n=e.statusMetadata)||void 0===n?void 0:n.minedHash;try{const n=await(0,N.query)(f,"getTransactionReceipt",[s]),r=await(0,N.query)(f,"getTransactionByHash",[s]),i=null==r?void 0:r.maxFeePerGas,o=null==r?void 0:r.maxPriorityFeePerGas;if(null==n?void 0:n.blockNumber){const r=await(0,N.query)(f,"getBlockByNumber",[null==n?void 0:n.blockNumber,!1]),c=null==r?void 0:r.baseFeePerGas,l=Object.assign(Object.assign({},e.txParams),{maxFeePerGas:i,maxPriorityFeePerGas:o}),b=Object.assign(Object.assign({},e),{id:e.uuid,status:L.TransactionStatus.confirmed,hash:s,txParams:l}),h=(0,q.snapshotFromTxMeta)(b),p=(0,q.replayHistory)(b.history),m=(0,q.generateHistoryEntry)(p,h,"txStateManager: setting status to confirmed"),y=m.length>0?Object.assign(Object.assign({},b),{history:b.history.concat(m)}):b;I(this,a,"m",v).call(this,s)&&I(this,d,"f").call(this,y,n,c),I(this,u,"f").call(this,{event:$.MetaMetricsEventName.StxConfirmed,category:$.MetaMetricsEventCategory.Transactions,properties:(0,q.getSmartTransactionMetricsProperties)(e),sensitiveProperties:(0,q.getSmartTransactionMetricsSensitiveProperties)(e)}),I(this,a,"m",g).call(this,Object.assign(Object.assign({},e),{confirmed:!0}),{chainId:t})}}catch(e){I(this,u,"f").call(this,{event:$.MetaMetricsEventName.StxConfirmationFailed,category:$.MetaMetricsEventCategory.Transactions}),console.error("confirm error",e)}finally{this.messagingSystem.publish("SmartTransactionsController:smartTransactionConfirmationDone",e)}},S=async function(e,t){const f=await I(this,o,"f").call(this,e.from,t),a=f.nextNonce;return f.releaseLock(),Object.assign(Object.assign({},e),{nonce:`0x${a.toString(16)}`})},_=function({networkClientId:e}={}){return e?this.messagingSystem.call("NetworkController:getNetworkClientById",e).configuration.chainId:I(this,r,"f")},T=function(){const{networkConfigurationsByChainId:e}=this.messagingSystem.call("NetworkController:getState");return Object.keys(e).filter((e=>I(this,i,"f").includes(e)))},C=function({chainId:e}){const{networkConfigurationsByChainId:t}=this.messagingSystem.call("NetworkController:getState");return t[e].rpcEndpoints[t[e].defaultRpcEndpointIndex].networkClientId},E=function({networkClientId:e}={}){if(e){const{provider:t}=this.messagingSystem.call("NetworkController:getNetworkClientById",e);return new M.default(t)}if(I(this,c,"f")===undefined)throw new Error(H);return I(this,c,"f")},P=function(){const{smartTransactionsState:{smartTransactions:e}}=this.state,t=Object.values(e).flat();return t&&0!==t.length?t:[]},j=function({chainId:e,addressLowerCase:t}){const{smartTransactionsState:{smartTransactions:f}}=this.state,a=null==f?void 0:f[e];if(!a||0===a.length)return;const n=a.filter((e=>{var f;return(null===(f=e.txParams)||void 0===f?void 0:f.from)!==t}));this.update((t=>{t.smartTransactionsState.smartTransactions[e]=n}))}}}},{package:"@metamask/smart-transactions-controller",file:"node_modules/@metamask/smart-transactions-controller/dist/SmartTransactionsController.js"}],[2626,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.MetaMetricsEventCategory=f.MetaMetricsEventName=f.SENTINEL_API_BASE_URL_MAP=f.API_BASE_URL=void 0,f.API_BASE_URL="https://transaction.api.cx.metamask.io",f.SENTINEL_API_BASE_URL_MAP={1:"https://tx-sentinel-ethereum-mainnet.api.cx.metamask.io",56:"https://tx-sentinel-bsc-mainnet.api.cx.metamask.io",8453:"https://tx-sentinel-base-mainnet.api.cx.metamask.io",11155111:"https://tx-sentinel-ethereum-sepolia.api.cx.metamask.io"},function(e){e.StxStatusUpdated="STX Status Updated",e.StxConfirmed="STX Confirmed",e.StxConfirmationFailed="STX Confirmation Failed",e.ReceiveRequest="Receive Request"}(f.MetaMetricsEventName||(f.MetaMetricsEventName={})),function(e){e.Transactions="Transactions",e.Navigation="Navigation"}(f.MetaMetricsEventCategory||(f.MetaMetricsEventCategory={}))}}},{package:"@metamask/smart-transactions-controller",file:"node_modules/@metamask/smart-transactions-controller/dist/constants.js"}],[2627,{"./SmartTransactionsController":2625},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var n=e("./SmartTransactionsController");Object.defineProperty(f,"default",{enumerable:!0,get:function(){return a(n).default}})}}},{package:"@metamask/smart-transactions-controller",file:"node_modules/@metamask/smart-transactions-controller/dist/index.js"}],[2629,{"../package.json":2631,"./constants":2626,"./types":2628,"@ethereumjs/tx":442,"@ethereumjs/util":457,"@ethersproject/bytes":500,"@metamask/transaction-controller":2905,"bignumber.js":2630,buffer:4074,"fast-json-patch":4433,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){(function(t){(function(){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.markRegularTransactionAsFailed=f.shouldMarkRegularTransactionAsFailed=f.getReturnTxHashAsap=f.getSmartTransactionMetricsSensitiveProperties=f.getSmartTransactionMetricsProperties=f.getTxHash=f.incrementNonceInHex=f.isSmartTransactionCancellable=f.handleFetch=f.mapKeysToCamel=f.getStxProcessingTime=f.snapshotFromTxMeta=f.replayHistory=f.generateHistoryEntry=f.calculateStatus=f.getAPIRequestURL=f.isSmartTransactionStatusResolved=f.isSmartTransactionPending=void 0;const n=e("@ethereumjs/tx"),s=e("@ethereumjs/util"),r=e("@ethersproject/bytes"),i=e("@metamask/transaction-controller"),o=e("bignumber.js"),c=a(e("fast-json-patch")),d=a(e("lodash")),l=a(e("../package.json")),u=e("./constants"),b=e("./types");f.isSmartTransactionPending=function(e){return e.status===b.SmartTransactionStatuses.PENDING};f.isSmartTransactionStatusResolved=e=>"uuid_not_found"===e,f.getAPIRequestURL=function(e,t){const f=parseInt(t,16);switch(e){case b.APIType.GET_FEES:return`${u.API_BASE_URL}/networks/${f}/getFees`;case b.APIType.ESTIMATE_GAS:return`${u.API_BASE_URL}/networks/${f}/estimateGas`;case b.APIType.SUBMIT_TRANSACTIONS:return`${u.API_BASE_URL}/networks/${f}/submitTransactions?stxControllerVersion=${l.default.version}`;case b.APIType.CANCEL:return`${u.API_BASE_URL}/networks/${f}/cancel`;case b.APIType.BATCH_STATUS:return`${u.API_BASE_URL}/networks/${f}/batchStatus`;case b.APIType.LIVENESS:return`${u.SENTINEL_API_BASE_URL_MAP[f]}/network`;default:throw new Error("Invalid APIType")}};f.calculateStatus=e=>{if((0,f.isSmartTransactionStatusResolved)(e))return b.SmartTransactionStatuses.RESOLVED;const t=[b.SmartTransactionCancellationReason.WOULD_REVERT,b.SmartTransactionCancellationReason.TOO_CHEAP,b.SmartTransactionCancellationReason.DEADLINE_MISSED,b.SmartTransactionCancellationReason.INVALID_NONCE,b.SmartTransactionCancellationReason.USER_CANCELLED];if((null==e?void 0:e.minedTx)===b.SmartTransactionMinedTx.NOT_MINED){if(e.cancellationReason===b.SmartTransactionCancellationReason.NOT_CANCELLED)return b.SmartTransactionStatuses.PENDING;const f=t.findIndex((t=>t===e.cancellationReason))>-1;if(e.cancellationReason&&f)return e.isSettled?b.cancellationReasonToStatusMap[e.cancellationReason]:b.SmartTransactionStatuses.PENDING}else{if((null==e?void 0:e.minedTx)===b.SmartTransactionMinedTx.SUCCESS)return b.SmartTransactionStatuses.SUCCESS;if((null==e?void 0:e.minedTx)===b.SmartTransactionMinedTx.CANCELLED)return b.SmartTransactionStatuses.CANCELLED;if((null==e?void 0:e.minedTx)===b.SmartTransactionMinedTx.REVERTED)return b.SmartTransactionStatuses.REVERTED;if((null==e?void 0:e.minedTx)===b.SmartTransactionMinedTx.UNKNOWN)return b.SmartTransactionStatuses.UNKNOWN}return b.SmartTransactionStatuses.UNKNOWN},f.generateHistoryEntry=function(e,t,f){const a=c.default.compare(e,t);return a[0]&&(f&&(a[0].note=f),a[0].timestamp=Date.now()),a},f.replayHistory=function(e){return d.default.cloneDeep(e).reduce(((e,t)=>c.default.applyPatch(e,t).newDocument))},f.snapshotFromTxMeta=function(e){const t=Object.assign({},e);return delete t.history,d.default.cloneDeep(t)};f.getStxProcessingTime=e=>e?Math.round((Date.now()-e)/1e3):undefined;f.mapKeysToCamel=e=>{if(!d.default.isObject(e))return e;const t=d.default.mapValues(e,(e=>d.default.isArray(e)?e.map(f.mapKeysToCamel):d.default.isObject(e)?(0,f.mapKeysToCamel)(e):e));return d.default.mapKeys(t,((e,t)=>d.default.camelCase(t)))},f.handleFetch=async function(e,t){const a=await fetch(e,t),n=await a.json();if(!a.ok)throw console.log("response",a),new Error(`Fetch error:${JSON.stringify(Object.assign({status:a.status},(0,f.mapKeysToCamel)(n)))}`);return n};f.isSmartTransactionCancellable=e=>e.minedTx===b.SmartTransactionMinedTx.NOT_MINED&&(!e.cancellationReason||e.cancellationReason===b.SmartTransactionCancellationReason.NOT_CANCELLED);f.incrementNonceInHex=e=>{const t=new o.BigNumber(e,16).toString(10);return(0,r.hexlify)(Number(t)+1)};f.getTxHash=e=>{if(!e)return"";const f=n.TransactionFactory.fromSerializedData(t.from(e.slice(2),"hex")).hash();return(0,s.bytesToHex)(f)};f.getSmartTransactionMetricsProperties=e=>{if(!e)return{};const t=e.statusMetadata;return{stx_status:e.status,type:e.type,processing_time:(0,f.getStxProcessingTime)(e.time),is_smart_transaction:!0,stx_enabled:!0,current_stx_enabled:!0,stx_user_opt_in:!0,stx_duplicated:null==t?void 0:t.duplicated,stx_timed_out:null==t?void 0:t.timedOut,stx_proxied:null==t?void 0:t.proxied}};f.getSmartTransactionMetricsSensitiveProperties=e=>e?{token_from_symbol:e.sourceTokenSymbol,token_to_symbol:e.destinationTokenSymbol,account_hardware_type:e.accountHardwareType,account_type:e.accountType,device_model:e.deviceModel}:{};f.getReturnTxHashAsap=(e,t)=>e===b.ClientId.Extension?null==t?void 0:t.extensionReturnTxHashAsap:null==t?void 0:t.mobileReturnTxHashAsap;f.shouldMarkRegularTransactionAsFailed=({smartTransaction:e,clientId:t,getFeatureFlags:a})=>{var n;const{status:s,transactionId:r}=e,i=[b.SmartTransactionStatuses.CANCELLED,b.SmartTransactionStatuses.CANCELLED_USER_CANCELLED,b.SmartTransactionStatuses.UNKNOWN,b.SmartTransactionStatuses.RESOLVED];if(!s||!i.includes(s))return!1;const{smartTransactions:o}=null!==(n=a())&&void 0!==n?n:{},c=(0,f.getReturnTxHashAsap)(t,o);return Boolean(c&&r)};f.markRegularTransactionAsFailed=({smartTransaction:e,getRegularTransactions:t,updateTransaction:f})=>{const{transactionId:a,status:n}=e,s=t().find((e=>e.id===a));if(!s)throw new Error("Cannot find regular transaction to mark it as failed");if(s.status===i.TransactionStatus.failed)return;f(Object.assign(Object.assign({},s),{status:i.TransactionStatus.failed,error:{name:"SmartTransactionFailed",message:`Smart transaction failed with status: ${n}`}}),`Smart transaction status: ${n}`)}}).call(this)}).call(this,e("buffer").Buffer)}}},{package:"@metamask/smart-transactions-controller",file:"node_modules/@metamask/smart-transactions-controller/dist/utils.js"}],[263,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:76,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=76;const f=function(e){var t;if(e.CollectiblesController){const{allCollectibleContracts:t,allCollectibles:f,ignoredCollectibles:a,...n}=e.CollectiblesController;e.NftController={...t?{allNftContracts:t}:{},...f?{allNfts:f}:{},...a?{ignoredNfts:a}:{},...n},delete e.CollectiblesController}null!==(t=e.PreferencesController)&&void 0!==t&&t.useCollectibleDetection&&(e.PreferencesController.useNftDetection=e.PreferencesController.useCollectibleDetection,delete e.PreferencesController.useCollectibleDetection);return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/076.js"}],[2630,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){!function(e){var f,a=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,s=Math.floor,r="[BigNumber Error] ",i=r+"Number primitive has more than 15 significant digits: ",o=1e14,c=14,d=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],u=1e7,b=1e9;function h(e){var t=0|e;return e>0||e===t?t:t-1}function p(e){for(var t,f,a=1,n=e.length,s=e[0]+"";ac^f?1:-1;for(i=(o=n.length)<(c=s.length)?o:c,r=0;rs[r]^f?1:-1;return o==c?0:o>c^f?1:-1}function g(e,t,f,a){if(ef||e!==s(e))throw Error(r+(a||"Argument")+("number"==typeof e?ef?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function y(e){var t=e.c.length-1;return h(e.e/c)==t&&e.c[t]%2!=0}function w(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function v(e,t,f){var a,n;if(t<0){for(n=f+".";++t;n+=f);e=n+e}else if(++t>(a=e.length)){for(n=f,t-=a;--t;n+=f);e+=n}else tD?p.c=p.e=null:e.e=10;l/=10,o++);return void(o>D?p.c=p.e=null:(p.e=o,p.c=[e]))}h=String(e)}else{if(!a.test(h=String(e)))return S(p,h,u);p.s=45==h.charCodeAt(0)?(h=h.slice(1),-1):1}(o=h.indexOf("."))>-1&&(h=h.replace(".","")),(l=h.search(/e/i))>0?(o<0&&(o=l),o+=+h.slice(l+1),h=h.substring(0,l)):o<0&&(o=h.length)}else{if(g(t,2,H.length,"Base"),10==t&&U)return G(p=new V(e),x+p.e+1,N);if(h=String(e),u="number"==typeof e){if(0*e!=0)return S(p,h,u,t);if(p.s=1/e<0?(h=h.slice(1),-1):1,V.DEBUG&&h.replace(/^0\.0*|\./,"").length>15)throw Error(i+e)}else p.s=45===h.charCodeAt(0)?(h=h.slice(1),-1):1;for(f=H.slice(0,t),o=l=0,b=h.length;lo){o=b;continue}}else if(!r&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){r=!0,l=-1,o=0;continue}return S(p,String(e),u,t)}u=!1,(o=(h=k(h,t,10,p.s)).indexOf("."))>-1?h=h.replace(".",""):o=h.length}for(l=0;48===h.charCodeAt(l);l++);for(b=h.length;48===h.charCodeAt(--b););if(h=h.slice(l,++b)){if(b-=l,u&&V.DEBUG&&b>15&&(e>d||e!==s(e)))throw Error(i+p.s*e);if((o=o-l-1)>D)p.c=p.e=null;else if(o=R)?w(o,r):v(o,r,"0");else if(s=(e=G(new V(e),t,f)).e,i=(o=p(e.c)).length,1==a||2==a&&(t<=s||s<=M)){for(;ii){if(--t>0)for(o+=".";t--;o+="0");}else if((t+=s-i)>0)for(s+1==i&&(o+=".");t--;o+="0");return e.s<0&&n?"-"+o:o}function z(e,t){for(var f,a,n=1,s=new V(e[0]);n=10;n/=10,a++);return(f=a+f*c-1)>D?e.c=e.e=null:f=10;u/=10,r++);if((i=t-r)<0)i+=c,d=t,b=m[h=0],p=s(b/g[r-d-1]%10);else if((h=n((i+1)/c))>=m.length){if(!a)break e;for(;m.length<=h;m.push(0));b=p=0,r=1,d=(i%=c)-c+1}else{for(b=u=m[h],r=1;u>=10;u/=10,r++);p=(d=(i%=c)-c+r)<0?0:s(b/g[r-d-1]%10)}if(a=a||t<0||null!=m[h+1]||(d<0?b:b%g[r-d-1]),a=f<4?(p||a)&&(0==f||f==(e.s<0?3:2)):p>5||5==p&&(4==f||a||6==f&&(i>0?d>0?b/g[r-d]:0:m[h-1])%10&1||f==(e.s<0?8:7)),t<1||!m[0])return m.length=0,a?(t-=e.e+1,m[0]=g[(c-t%c)%c],e.e=-t||0):m[0]=e.e=0,e;if(0==i?(m.length=h,u=1,h--):(m.length=h+1,u=g[c-i],m[h]=d>0?s(b/g[r-d]%g[d])*u:0),a)for(;;){if(0==h){for(i=1,d=m[0];d>=10;d/=10,i++);for(d=m[0]+=u,u=1;d>=10;d/=10,u++);i!=u&&(e.e++,m[0]==o&&(m[0]=1));break}if(m[h]+=u,m[h]!=o)break;m[h--]=0,u=1}for(i=m.length;0===m[--i];m.pop());}e.e>D?e.c=e.e=null:e.e=R?w(t,f):v(t,f,"0"),e.s<0?"-"+t:t)}return V.clone=e,V.ROUND_UP=0,V.ROUND_DOWN=1,V.ROUND_CEIL=2,V.ROUND_FLOOR=3,V.ROUND_HALF_UP=4,V.ROUND_HALF_DOWN=5,V.ROUND_HALF_EVEN=6,V.ROUND_HALF_CEIL=7,V.ROUND_HALF_FLOOR=8,V.EUCLID=9,V.config=V.set=function(e){var t,f;if(null!=e){if("object"!=typeof e)throw Error(r+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(g(f=e[t],0,b,t),x=f),e.hasOwnProperty(t="ROUNDING_MODE")&&(g(f=e[t],0,8,t),N=f),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((f=e[t])&&f.pop?(g(f[0],-b,0,t),g(f[1],0,b,t),M=f[0],R=f[1]):(g(f,-b,b,t),M=-(R=f<0?-f:f))),e.hasOwnProperty(t="RANGE"))if((f=e[t])&&f.pop)g(f[0],-b,-1,t),g(f[1],1,b,t),L=f[0],D=f[1];else{if(g(f,-b,b,t),!f)throw Error(r+t+" cannot be zero: "+f);L=-(D=f<0?-f:f)}if(e.hasOwnProperty(t="CRYPTO")){if((f=e[t])!==!!f)throw Error(r+t+" not true or false: "+f);if(f){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw B=!f,Error(r+"crypto unavailable");B=f}else B=f}if(e.hasOwnProperty(t="MODULO_MODE")&&(g(f=e[t],0,9,t),$=f),e.hasOwnProperty(t="POW_PRECISION")&&(g(f=e[t],0,b,t),F=f),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(f=e[t]))throw Error(r+t+" not an object: "+f);q=f}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(f=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(f))throw Error(r+t+" invalid: "+f);U="0123456789"==f.slice(0,10),H=f}}return{DECIMAL_PLACES:x,ROUNDING_MODE:N,EXPONENTIAL_AT:[M,R],RANGE:[L,D],CRYPTO:B,MODULO_MODE:$,POW_PRECISION:F,FORMAT:q,ALPHABET:H}},V.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!V.DEBUG)return!0;var t,f,a=e.c,n=e.e,i=e.s;e:if("[object Array]"=={}.toString.call(a)){if((1===i||-1===i)&&n>=-b&&n<=b&&n===s(n)){if(0===a[0]){if(0===n&&1===a.length)return!0;break e}if((t=(n+1)%c)<1&&(t+=c),String(a[0]).length==t){for(t=0;t=o||f!==s(f))break e;if(0!==f)return!0}}}else if(null===a&&null===n&&(null===i||1===i||-1===i))return!0;throw Error(r+"Invalid BigNumber: "+e)},V.maximum=V.max=function(){return z(arguments,-1)},V.minimum=V.min=function(){return z(arguments,1)},V.random=(_=9007199254740992,T=Math.random()*_&2097151?function(){return s(Math.random()*_)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,f,a,i,o,d=0,u=[],h=new V(A);if(null==e?e=x:g(e,0,b),i=n(e/c),B)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(i*=2));d>>11))>=9e15?(f=crypto.getRandomValues(new Uint32Array(2)),t[d]=f[0],t[d+1]=f[1]):(u.push(o%1e14),d+=2);d=i/2}else{if(!crypto.randomBytes)throw B=!1,Error(r+"crypto unavailable");for(t=crypto.randomBytes(i*=7);d=9e15?crypto.randomBytes(7).copy(t,d):(u.push(o%1e14),d+=7);d=i/7}if(!B)for(;d=10;o/=10,d++);df-1&&(null==r[n+1]&&(r[n+1]=0),r[n+1]+=r[n]/f|0,r[n]%=f)}return r.reverse()}return function(a,n,s,r,i){var o,c,d,l,u,b,h,m,g=a.indexOf("."),y=x,w=N;for(g>=0&&(l=F,F=0,a=a.replace(".",""),b=(m=new V(n)).pow(a.length-g),F=l,m.c=t(v(p(b.c),b.e,"0"),10,s,e),m.e=m.c.length),d=l=(h=t(a,n,s,i?(o=H,e):(o=e,H))).length;0==h[--l];h.pop());if(!h[0])return o.charAt(0);if(g<0?--d:(b.c=h,b.e=d,b.s=r,h=(b=f(b,m,y,w,s)).c,u=b.r,d=b.e),g=h[c=d+y+1],l=s/2,u=u||c<0||null!=h[c+1],u=w<4?(null!=g||u)&&(0==w||w==(b.s<0?3:2)):g>l||g==l&&(4==w||u||6==w&&1&h[c-1]||w==(b.s<0?8:7)),c<1||!h[0])a=u?v(o.charAt(1),-y,o.charAt(0)):o.charAt(0);else{if(h.length=c,u)for(--s;++h[--c]>s;)h[c]=0,c||(++d,h=[1].concat(h));for(l=h.length;!h[--l];);for(g=0,a="";g<=l;a+=o.charAt(h[g++]));a=v(a,d,o.charAt(0))}return a}}(),f=function(){function e(e,t,f){var a,n,s,r,i=0,o=e.length,c=t%u,d=t/u|0;for(e=e.slice();o--;)i=((n=c*(s=e[o]%u)+(a=d*s+(r=e[o]/u|0)*c)%u*u+i)/f|0)+(a/u|0)+d*r,e[o]=n%f;return i&&(e=[i].concat(e)),e}function t(e,t,f,a){var n,s;if(f!=a)s=f>a?1:-1;else for(n=s=0;nt[n]?1:-1;break}return s}function f(e,t,f,a){for(var n=0;f--;)e[f]-=n,n=e[f]1;e.splice(0,1));}return function(a,n,r,i,d){var l,u,b,p,m,g,y,w,v,k,S,_,T,C,E,P,j,O=a.s==n.s?1:-1,I=a.c,A=n.c;if(!(I&&I[0]&&A&&A[0]))return new V(a.s&&n.s&&(I?!A||I[0]!=A[0]:A)?I&&0==I[0]||!A?0*O:O/0:NaN);for(v=(w=new V(O)).c=[],O=r+(u=a.e-n.e)+1,d||(d=o,u=h(a.e/c)-h(n.e/c),O=O/c|0),b=0;A[b]==(I[b]||0);b++);if(A[b]>(I[b]||0)&&u--,O<0)v.push(1),p=!0;else{for(C=I.length,P=A.length,b=0,O+=2,(m=s(d/(A[0]+1)))>1&&(A=e(A,m,d),I=e(I,m,d),P=A.length,C=I.length),T=P,S=(k=I.slice(0,P)).length;S=d/2&&E++;do{if(m=0,(l=t(A,k,P,S))<0){if(_=k[0],P!=S&&(_=_*d+(k[1]||0)),(m=s(_/E))>1)for(m>=d&&(m=d-1),y=(g=e(A,m,d)).length,S=k.length;1==t(g,k,y,S);)m--,f(g,P=10;O/=10,b++);G(w,r+(w.e=b+u*c-1)+1,i,p)}else w.e=u,w.r=+p;return w}}(),C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,E=/^([^.]+)\.$/,P=/^\.([^.]+)$/,j=/^-?(Infinity|NaN)$/,O=/^\s*\+(?=[\w.])|^\s+|\s+$/g,S=function(e,t,f,a){var n,s=f?t:t.replace(O,"");if(j.test(s))e.s=isNaN(s)?null:s<0?-1:1;else{if(!f&&(s=s.replace(C,(function(e,t,f){return n="x"==(f=f.toLowerCase())?16:"b"==f?2:8,a&&a!=n?e:t})),a&&(n=a,s=s.replace(E,"$1").replace(P,"0.$1")),t!=s))return new V(s,n);if(V.DEBUG)throw Error(r+"Not a"+(a?" base "+a:"")+" number: "+t);e.s=null}e.c=e.e=null},I.absoluteValue=I.abs=function(){var e=new V(this);return e.s<0&&(e.s=1),e},I.comparedTo=function(e,t){return m(this,new V(e,t))},I.decimalPlaces=I.dp=function(e,t){var f,a,n,s=this;if(null!=e)return g(e,0,b),null==t?t=N:g(t,0,8),G(new V(s),e+s.e+1,t);if(!(f=s.c))return null;if(a=((n=f.length-1)-h(this.e/c))*c,n=f[n])for(;n%10==0;n/=10,a--);return a<0&&(a=0),a},I.dividedBy=I.div=function(e,t){return f(this,new V(e,t),x,N)},I.dividedToIntegerBy=I.idiv=function(e,t){return f(this,new V(e,t),0,1)},I.exponentiatedBy=I.pow=function(e,t){var f,a,i,o,d,l,u,b,h=this;if((e=new V(e)).c&&!e.isInteger())throw Error(r+"Exponent not an integer: "+K(e));if(null!=t&&(t=new V(t)),d=e.e>14,!h.c||!h.c[0]||1==h.c[0]&&!h.e&&1==h.c.length||!e.c||!e.c[0])return b=new V(Math.pow(+K(h),d?e.s*(2-y(e)):+K(e))),t?b.mod(t):b;if(l=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new V(NaN);(a=!l&&h.isInteger()&&t.isInteger())&&(h=h.mod(t))}else{if(e.e>9&&(h.e>0||h.e<-1||(0==h.e?h.c[0]>1||d&&h.c[1]>=24e7:h.c[0]<8e13||d&&h.c[0]<=9999975e7)))return o=h.s<0&&y(e)?-0:0,h.e>-1&&(o=1/o),new V(l?1/o:o);F&&(o=n(F/c+2))}for(d?(f=new V(.5),l&&(e.s=1),u=y(e)):u=(i=Math.abs(+K(e)))%2,b=new V(A);;){if(u){if(!(b=b.times(h)).c)break;o?b.c.length>o&&(b.c.length=o):a&&(b=b.mod(t))}if(i){if(0===(i=s(i/2)))break;u=i%2}else if(G(e=e.times(f),e.e+1,1),e.e>14)u=y(e);else{if(0===(i=+K(e)))break;u=i%2}h=h.times(h),o?h.c&&h.c.length>o&&(h.c.length=o):a&&(h=h.mod(t))}return a?b:(l&&(b=A.div(b)),t?b.mod(t):o?G(b,F,N,undefined):b)},I.integerValue=function(e){var t=new V(this);return null==e?e=N:g(e,0,8),G(t,t.e+1,e)},I.isEqualTo=I.eq=function(e,t){return 0===m(this,new V(e,t))},I.isFinite=function(){return!!this.c},I.isGreaterThan=I.gt=function(e,t){return m(this,new V(e,t))>0},I.isGreaterThanOrEqualTo=I.gte=function(e,t){return 1===(t=m(this,new V(e,t)))||0===t},I.isInteger=function(){return!!this.c&&h(this.e/c)>this.c.length-2},I.isLessThan=I.lt=function(e,t){return m(this,new V(e,t))<0},I.isLessThanOrEqualTo=I.lte=function(e,t){return-1===(t=m(this,new V(e,t)))||0===t},I.isNaN=function(){return!this.s},I.isNegative=function(){return this.s<0},I.isPositive=function(){return this.s>0},I.isZero=function(){return!!this.c&&0==this.c[0]},I.minus=function(e,t){var f,a,n,s,r=this,i=r.s;if(t=(e=new V(e,t)).s,!i||!t)return new V(NaN);if(i!=t)return e.s=-t,r.plus(e);var d=r.e/c,l=e.e/c,u=r.c,b=e.c;if(!d||!l){if(!u||!b)return u?(e.s=-t,e):new V(b?r:NaN);if(!u[0]||!b[0])return b[0]?(e.s=-t,e):new V(u[0]?r:3==N?-0:0)}if(d=h(d),l=h(l),u=u.slice(),i=d-l){for((s=i<0)?(i=-i,n=u):(l=d,n=b),n.reverse(),t=i;t--;n.push(0));n.reverse()}else for(a=(s=(i=u.length)<(t=b.length))?i:t,i=t=0;t0)for(;t--;u[f++]=0);for(t=o-1;a>i;){if(u[--a]=0;){for(f=0,m=_[n]%v,g=_[n]/v|0,s=n+(r=d);s>n;)f=((l=m*(l=S[--r]%v)+(i=g*l+(b=S[r]/v|0)*m)%v*v+y[s]+f)/w|0)+(i/v|0)+g*b,y[s--]=l%w;y[s]=f}return f?++a:y.splice(0,1),Z(e,y,a)},I.negated=function(){var e=new V(this);return e.s=-e.s||null,e},I.plus=function(e,t){var f,a=this,n=a.s;if(t=(e=new V(e,t)).s,!n||!t)return new V(NaN);if(n!=t)return e.s=-t,a.minus(e);var s=a.e/c,r=e.e/c,i=a.c,d=e.c;if(!s||!r){if(!i||!d)return new V(n/0);if(!i[0]||!d[0])return d[0]?e:new V(i[0]?a:0*n)}if(s=h(s),r=h(r),i=i.slice(),n=s-r){for(n>0?(r=s,f=d):(n=-n,f=i),f.reverse();n--;f.push(0));f.reverse()}for((n=i.length)-(t=d.length)<0&&(f=d,d=i,i=f,t=n),n=0;t;)n=(i[--t]=i[t]+d[t]+n)/o|0,i[t]=o===i[t]?0:i[t]%o;return n&&(i=[n].concat(i),++r),Z(e,i,r)},I.precision=I.sd=function(e,t){var f,a,n,s=this;if(null!=e&&e!==!!e)return g(e,1,b),null==t?t=N:g(t,0,8),G(new V(s),e,t);if(!(f=s.c))return null;if(a=(n=f.length-1)*c+1,n=f[n]){for(;n%10==0;n/=10,a--);for(n=f[0];n>=10;n/=10,a++);}return e&&s.e+1>a&&(a=s.e+1),a},I.shiftedBy=function(e){return g(e,-9007199254740991,d),this.times("1e"+e)},I.squareRoot=I.sqrt=function(){var e,t,a,n,s,r=this,i=r.c,o=r.s,c=r.e,d=x+4,l=new V("0.5");if(1!==o||!i||!i[0])return new V(!o||o<0&&(!i||i[0])?NaN:i?r:1/0);if(0==(o=Math.sqrt(+K(r)))||o==1/0?(((t=p(i)).length+c)%2==0&&(t+="0"),o=Math.sqrt(+t),c=h((c+1)/2)-(c<0||c%2),a=new V(t=o==1/0?"5e"+c:(t=o.toExponential()).slice(0,t.indexOf("e")+1)+c)):a=new V(o+""),a.c[0])for((o=(c=a.e)+d)<3&&(o=0);;)if(s=a,a=l.times(s.plus(f(r,s,d,1))),p(s.c).slice(0,o)===(t=p(a.c)).slice(0,o)){if(a.e0&&p>0){for(s=p%o||o,l=h.substr(0,s);s0&&(l+=d+h.slice(s)),b&&(l="-"+l)}a=u?l+(f.decimalSeparator||"")+((c=+f.fractionGroupSize)?u.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(f.fractionGroupSeparator||"")):u):l}return(f.prefix||"")+a+(f.suffix||"")},I.toFraction=function(e){var t,a,n,s,i,o,d,u,b,h,m,g,y=this,w=y.c;if(null!=e&&(!(d=new V(e)).isInteger()&&(d.c||1!==d.s)||d.lt(A)))throw Error(r+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+K(d));if(!w)return new V(y);for(t=new V(A),b=a=new V(A),n=u=new V(A),g=p(w),i=t.e=g.length-y.e-1,t.c[0]=l[(o=i%c)<0?c+o:o],e=!e||d.comparedTo(t)>0?i>0?t:b:d,o=D,D=1/0,d=new V(g),u.c[0]=0;h=f(d,t,0,1),1!=(s=a.plus(h.times(n))).comparedTo(e);)a=n,n=s,b=u.plus(h.times(s=b)),u=s,t=d.minus(h.times(s=t)),d=s;return s=f(e.minus(a),n,0,1),u=u.plus(s.times(b)),a=a.plus(s.times(n)),u.s=b.s=y.s,m=f(b,n,i*=2,N).minus(y).abs().comparedTo(f(u,a,i,N).minus(y).abs())<1?[b,n]:[u,a],D=o,m},I.toNumber=function(){return+K(this)},I.toPrecision=function(e,t){return null!=e&&g(e,1,b),W(this,e,t,2)},I.toString=function(e){var t,f=this,a=f.s,n=f.e;return null===n?a?(t="Infinity",a<0&&(t="-"+t)):t="NaN":(null==e?t=n<=M||n>=R?w(p(f.c),n):v(p(f.c),n,"0"):10===e&&U?t=v(p((f=G(new V(f),x+n+1,N)).c),f.e,"0"):(g(e,2,H.length,"Base"),t=k(v(p(f.c),n,"0"),10,e,a,!0)),a<0&&f.c[0]&&(t="-"+t)),t},I.valueOf=I.toJSON=function(){return K(this)},I._isBigNumber=!0,null!=t&&V.set(t),V}(),f.default=f.BigNumber=f,"function"==typeof define&&define.amd?define((function(){return f})):void 0!==t&&t.exports?t.exports=f:(e||(e="undefined"!=typeof self&&self?self:window),e.BigNumber=f)}(this)}}},{package:"@metamask/smart-transactions-controller>bignumber.js",file:"node_modules/@metamask/smart-transactions-controller/node_modules/bignumber.js/bignumber.js"}],[2631,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){t.exports={name:"@metamask/smart-transactions-controller",version:"16.3.1",description:"Improves success rates for swaps by trialing transactions privately and finding minimum fees",repository:{type:"git",url:"https://github.com/MetaMask/smart-transactions-controller.git"},license:"SEE LICENSE IN LICENSE",main:"dist/index.js",types:"dist/index.d.ts",files:["dist/"],scripts:{build:"tsc --project tsconfig.build.json","build:clean":"rm -rf dist && yarn build","build:link":"yarn build && cd dist && yarn link && rm -rf node_modules && cd ..",lint:"yarn lint:eslint && yarn lint:misc --check && yarn lint:changelog","lint:changelog":"auto-changelog validate --prettier","lint:eslint":"eslint . --cache --ext js,ts","lint:fix":"yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:changelog","lint:misc":"prettier '**/*.json' '**/*.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore --no-error-on-unmatched-pattern",prepack:"./scripts/prepack.sh",test:"jest","test:watch":"jest --watchAll"},dependencies:{"@babel/runtime":"^7.24.1","@ethereumjs/tx":"^5.2.1","@ethereumjs/util":"^9.0.2","@ethersproject/bytes":"^5.7.0","@metamask/base-controller":"^7.0.1","@metamask/controller-utils":"^11.0.0","@metamask/eth-json-rpc-provider":"^4.1.6","@metamask/eth-query":"^4.0.0","@metamask/polling-controller":"^12.0.0","bignumber.js":"^9.0.1","fast-json-patch":"^3.1.0",lodash:"^4.17.21"},devDependencies:{"@lavamoat/allow-scripts":"^3.2.1","@lavamoat/preinstall-always-fail":"^2.1.0","@metamask/auto-changelog":"^3.1.0","@metamask/eslint-config":"^12.2.0","@metamask/eslint-config-jest":"^12.1.0","@metamask/eslint-config-nodejs":"^12.1.0","@metamask/eslint-config-typescript":"^12.1.0","@metamask/gas-fee-controller":"^22.0.0","@metamask/json-rpc-engine":"^10.0.1","@metamask/network-controller":"^22.0.0","@metamask/transaction-controller":"^42.0.0","@types/jest":"^26.0.24","@types/lodash":"^4.14.194","@types/node":"^18.19.17","@types/sinon":"^9.0.10","@typescript-eslint/eslint-plugin":"^5.33.0","@typescript-eslint/parser":"^5.33.0",eslint:"^8.48.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"~2.26.0","eslint-plugin-jest":"^27.1.5","eslint-plugin-jsdoc":"^39.2.9","eslint-plugin-n":"^15.7.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-promise":"^6.1.1","isomorphic-fetch":"^3.0.0",jest:"^29.7.0",nock:"^14.0.0-beta.7",prettier:"^2.8.8","prettier-plugin-packagejson":"^2.4.3",sinon:"^9.2.4","ts-jest":"^29.1.4",typescript:"~4.8.4"},peerDependencies:{"@metamask/network-controller":"^22.0.0","@metamask/transaction-controller":"^42.0.0"},peerDependenciesMeta:{"@metamask/accounts-controller":{optional:!0},"@metamask/approval-controller":{optional:!0}},packageManager:"yarn@3.2.1",engines:{node:"^18.18 || >=20"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},lavamoat:{allowScripts:{"@lavamoat/preinstall-always-fail":!1,"@metamask/controller-utils>ethereumjs-util>ethereum-cryptography>keccak":!1,"@metamask/controller-utils>ethereumjs-util>ethereum-cryptography>secp256k1":!1,"@metamask/controller-utils>babel-runtime>core-js":!1,"@metamask/transaction-controller>@metamask/accounts-controller>@metamask/keyring-controller>ethereumjs-wallet>ethereum-cryptography>keccak":!1,"@metamask/transaction-controller>@metamask/accounts-controller>@metamask/keyring-controller>ethereumjs-wallet>ethereum-cryptography>secp256k1":!1}}}}}},{package:"@metamask/smart-transactions-controller",file:"node_modules/@metamask/smart-transactions-controller/package.json"}],[2632,{"../index.cjs":2635,"../snaps/Timer.cjs":2656,"@metamask/base-controller":1383,"@metamask/snaps-rpc-methods":2700,"@metamask/snaps-utils":2850,"@metamask/utils":2950,immer:4649,luxon:4865,nanoid:4959},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},p=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.CronjobController=f.DAILY_TIMEOUT=void 0;const m=e("@metamask/base-controller"),g=e("@metamask/snaps-rpc-methods"),y=e("@metamask/snaps-utils"),w=e("@metamask/utils"),v=e("immer"),k=e("luxon"),S=e("nanoid"),_=e("../index.cjs"),T=e("../snaps/Timer.cjs");f.DAILY_TIMEOUT=(0,w.inMilliseconds)(24,w.Duration.Hour);const C="CronjobController";class E extends m.BaseController{constructor({messenger:e,state:t}){super({messenger:e,metadata:{jobs:{persist:!0,anonymous:!1},events:{persist:!0,anonymous:!1}},name:C,state:{jobs:{},events:{},...t}}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),h(this,s,new Map,"f"),h(this,r,new Map,"f"),this._handleSnapRegisterEvent=this._handleSnapRegisterEvent.bind(this),this._handleSnapUnregisterEvent=this._handleSnapUnregisterEvent.bind(this),this._handleEventSnapUpdated=this._handleEventSnapUpdated.bind(this),this._handleSnapDisabledEvent=this._handleSnapDisabledEvent.bind(this),this._handleSnapEnabledEvent=this._handleSnapEnabledEvent.bind(this),this.messagingSystem.subscribe("SnapController:snapInstalled",this._handleSnapRegisterEvent),this.messagingSystem.subscribe("SnapController:snapUninstalled",this._handleSnapUnregisterEvent),this.messagingSystem.subscribe("SnapController:snapEnabled",this._handleSnapEnabledEvent),this.messagingSystem.subscribe("SnapController:snapDisabled",this._handleSnapDisabledEvent),this.messagingSystem.subscribe("SnapController:snapUpdated",this._handleEventSnapUpdated),this.messagingSystem.registerActionHandler(`${C}:scheduleBackgroundEvent`,((...e)=>this.scheduleBackgroundEvent(...e))),this.messagingSystem.registerActionHandler(`${C}:cancelBackgroundEvent`,((...e)=>this.cancelBackgroundEvent(...e))),this.messagingSystem.registerActionHandler(`${C}:getBackgroundEvents`,((...e)=>this.getBackgroundEvents(...e))),this.dailyCheckIn().catch((e=>{(0,y.logError)(e)})),p(this,a,"m",b).call(this,Object.values(this.state.events))}register(e){const t=p(this,a,"m",o).call(this,e);t?.forEach((e=>p(this,a,"m",c).call(this,e)))}scheduleBackgroundEvent(e){const t=k.DateTime.fromJSDate(new Date).toUTC().startOf("second").toISO({suppressMilliseconds:!0});(0,w.assert)(t);const f={...e,id:(0,S.nanoid)(),scheduledAt:t};return p(this,a,"m",l).call(this,f),this.update((e=>{e.events[f.id]=(0,v.castDraft)(f)})),f.id}cancelBackgroundEvent(e,t){(0,w.assert)(this.state.events[t],`A background event with the id of "${t}" does not exist.`),(0,w.assert)(this.state.events[t].snapId===e,"Only the origin that scheduled this event can cancel it.");const f=p(this,s,"f").get(t);f?.cancel(),p(this,s,"f").delete(t),p(this,r,"f").delete(t),this.update((e=>{delete e.events[t]}))}getBackgroundEvents(e){return Object.values(this.state.events).filter((t=>t.snapId===e))}unregister(e,t=!1){const f=[...p(this,r,"f").entries()].filter((([t,f])=>f===e));if(f.length){const e=[];f.forEach((([f])=>{const a=p(this,s,"f").get(f);a&&(a.cancel(),p(this,s,"f").delete(f),p(this,r,"f").delete(f),!t&&this.state.events[f]&&e.push(f))})),e.length>0&&this.update((t=>{e.forEach((e=>{delete t.events[e]}))}))}}async dailyCheckIn(){const e=p(this,a,"m",i).call(this);for(const t of e){const e=(0,y.parseCronExpression)(t.expression),f=this.state.jobs[t.id]?.lastRun;f!==undefined&&e.hasPrev()&&e.prev().getTime()>f&&await p(this,a,"m",d).call(this,t),p(this,a,"m",c).call(this,t)}h(this,n,new T.Timer(f.DAILY_TIMEOUT),"f"),p(this,n,"f").start((()=>{this.dailyCheckIn().catch((e=>{(0,y.logError)(e)}))}))}destroy(){super.destroy(),this.messagingSystem.unsubscribe("SnapController:snapInstalled",this._handleSnapRegisterEvent),this.messagingSystem.unsubscribe("SnapController:snapUninstalled",this._handleSnapUnregisterEvent),this.messagingSystem.unsubscribe("SnapController:snapEnabled",this._handleSnapEnabledEvent),this.messagingSystem.unsubscribe("SnapController:snapDisabled",this._handleSnapDisabledEvent),this.messagingSystem.unsubscribe("SnapController:snapUpdated",this._handleEventSnapUpdated),p(this,r,"f").forEach((e=>this.unregister(e)))}_handleSnapRegisterEvent(e){this.register(e.id)}_handleSnapEnabledEvent(e){const t=this.getBackgroundEvents(e.id);p(this,a,"m",b).call(this,t),this.register(e.id)}_handleSnapUnregisterEvent(e){this.unregister(e.id)}_handleSnapDisabledEvent(e){this.unregister(e.id,!0)}_handleEventSnapUpdated(e){this.unregister(e.id),this.register(e.id)}}f.CronjobController=E,n=new WeakMap,s=new WeakMap,r=new WeakMap,a=new WeakSet,i=function(){const e=this.messagingSystem.call("SnapController:getAll");return(0,_.getRunnableSnaps)(e).map((e=>p(this,a,"m",o).call(this,e.id))).flat().filter((e=>e!==undefined))},o=function(e){const t=this.messagingSystem.call("PermissionController:getPermissions",e),f=t?.[g.SnapEndowments.Cronjob],a=(0,g.getCronjobCaveatJobs)(f);return a?.map(((t,f)=>({...t,id:`${e}-${f}`,snapId:e})))},c=function e(t){if(p(this,s,"f").has(t.id))return;const n=(0,y.parseCronExpression)(t.expression).next(),i=new Date,o=n.getTime()-i.getTime();if(o>f.DAILY_TIMEOUT)return;const c=new T.Timer(o);c.start((()=>{p(this,a,"m",d).call(this,t).catch((e=>{(0,y.logError)(e)})),p(this,s,"f").delete(t.id),p(this,a,"m",e).call(this,t)})),this.state.jobs[t.id]?.lastRun||p(this,a,"m",u).call(this,t.id,0),p(this,s,"f").set(t.id,c),p(this,r,"f").set(t.id,t.snapId)},d=async function(e){p(this,a,"m",u).call(this,e.id,Date.now()),await this.messagingSystem.call("SnapController:handleRequest",{snapId:e.snapId,origin:"",handler:y.HandlerType.OnCronjob,request:e.request})},l=function(e){const t=new Date(e.date),f=new Date,a=t.getTime()-f.getTime();if(a<=0)throw new Error("Cannot schedule an event in the past.");const n=new T.Timer(a);n.start((()=>{this.messagingSystem.call("SnapController:handleRequest",{snapId:e.snapId,origin:"",handler:y.HandlerType.OnCronjob,request:e.request}).catch((e=>{(0,y.logError)(e)})),p(this,s,"f").delete(e.id),p(this,r,"f").delete(e.id),this.update((t=>{delete t.events[e.id]}))})),p(this,s,"f").set(e.id,n),p(this,r,"f").set(e.id,e.snapId)},u=function(e,t){this.update((f=>{f.jobs[e]={lastRun:t}}))},b=function(e){for(const t of e){const{date:e}=t,f=new Date;new Date(e).getTime(){delete e.events[t.id]})),(0,y.logWarning)(`Background event with id "${t.id}" not scheduled as its date has expired.`)):p(this,a,"m",l).call(this,t)}}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/cronjob/CronjobController.cjs"}],[2633,{"./CronjobController.cjs":2632},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./CronjobController.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/cronjob/index.cjs"}],[2634,{"@metamask/utils":2950,"@xstate/fsm":3598},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.forceStrict=f.validateMachine=void 0;const a=e("@metamask/utils"),n=e("@xstate/fsm");f.validateMachine=function(e){(0,a.assert)("_options"in e,"The machine is not an @xstate/fsm machine");const t=e,f=new Set,n=e=>{return(t=e,Array.isArray(t)?t:t===undefined||null===t?[]:[t]).flatMap((e=>"string"==typeof e?[e]:((0,a.assert)("function"==typeof e),[]))).forEach(f.add.bind(f));var t};for(const e of Object.values(t.config.states)){n(e.entry),n(e.exit);for(const t of Object.values(e.on??{}))n(t.actions)}f.forEach((e=>(0,a.assert)(t._options.actions!==undefined&&e in t._options.actions,`Action "${e}" doesn't have an implementation`)))},f.forceStrict=function(e){let t=!1;e.subscribe((e=>{(0,a.assert)(!t||e.changed,"Invalid state transition"),t=!0}));const f=e.send.bind(e);e.send=(...t)=>((0,a.assert)(e.status===n.InterpreterStatus.Running,"Interpreter is stopped"),f(...t))}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/fsm.cjs"}],[2635,{"./cronjob/index.cjs":2633,"./insights/index.cjs":2637,"./interface/index.cjs":2639,"./multichain/index.cjs":2643,"./services/index.cjs":2648,"./snaps/index.cjs":2658,"./utils.cjs":2668},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./services/index.cjs"),f),n(e("./snaps/index.cjs"),f),n(e("./utils.cjs"),f),n(e("./cronjob/index.cjs"),f),n(e("./interface/index.cjs"),f),n(e("./insights/index.cjs"),f),n(e("./multichain/index.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/index.cjs"}],[2636,{"../snaps/index.cjs":2658,"@metamask/base-controller":1383,"@metamask/snaps-rpc-methods":2700,"@metamask/snaps-utils":2850,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.SnapInsightsController=void 0;const h=e("@metamask/base-controller"),p=e("@metamask/snaps-rpc-methods"),m=e("@metamask/snaps-utils"),g=e("@metamask/utils"),y=e("../snaps/index.cjs");class w extends h.BaseController{constructor({messenger:e,state:t}){super({messenger:e,metadata:{insights:{persist:!1,anonymous:!1}},name:"SnapInsightsController",state:{insights:{},...t}}),a.add(this),this.messagingSystem.subscribe("TransactionController:unapprovedTransactionAdded",b(this,a,"m",r).bind(this)),this.messagingSystem.subscribe("TransactionController:transactionStatusUpdated",b(this,a,"m",c).bind(this)),this.messagingSystem.subscribe("SignatureController:stateChange",b(this,a,"m",i).bind(this))}}f.SnapInsightsController=w,a=new WeakSet,n=function(e){return(0,g.hasProperty)(this.state.insights,e)},s=function(e){const t=this.messagingSystem.call("SnapController:getAll");return(0,y.getRunnableSnaps)(t).reduce(((t,f)=>{const a=this.messagingSystem.call("PermissionController:getPermissions",f.id);return a&&(0,g.hasProperty)(a,e)&&t.push({snapId:f.id,permission:a[e]}),t}),[])},r=function(e){const{id:t,txParams:f,chainId:n,origin:r}=e,i=`eip155:${(0,g.hexToBigInt)(n).toString(10)}`;b(this,a,"m",s).call(this,p.SnapEndowments.TransactionInsight).forEach((({snapId:e,permission:n})=>{const s=(0,p.getTransactionOriginCaveat)(n)&&r?r:null;this.update((f=>{var a;(a=f.insights)[t]??(a[t]={}),f.insights[t][e]={snapId:e,loading:!0}})),b(this,a,"m",l).call(this,{snapId:e,handler:m.HandlerType.OnTransaction,params:{transaction:f,chainId:i,transactionOrigin:s}}).then((f=>b(this,a,"m",u).call(this,{id:t,snapId:e,response:f}))).catch((f=>b(this,a,"m",u).call(this,{id:t,snapId:e,error:f})))}))},i=function(e){for(const t of Object.keys(this.state.insights))(0,g.hasProperty)(e.unapprovedTypedMessages,t)||(0,g.hasProperty)(e.unapprovedPersonalMsgs,t)||b(this,a,"m",d).call(this,t);if(e.unapprovedPersonalMsgCount>0||e.unapprovedTypedMessagesCount>0){const t=b(this,a,"m",s).call(this,p.SnapEndowments.SignatureInsight);for(const f of Object.values(e.unapprovedPersonalMsgs))b(this,a,"m",o).call(this,t,f);for(const f of Object.values(e.unapprovedTypedMessages))b(this,a,"m",o).call(this,t,f)}},o=function(e,t){const{id:f,msgParams:s}=t;if(b(this,a,"m",n).call(this,f))return;const{from:r,data:i,signatureMethod:o,origin:c}=s,d={from:r,data:"eth_signTypedData_v3"===o||"eth_signTypedData_v4"===o?JSON.parse(i):i,signatureMethod:o};e.forEach((({snapId:e,permission:t})=>{const n=(0,p.getSignatureOriginCaveat)(t),s=c&&n?c:null;this.update((t=>{var a;(a=t.insights)[f]??(a[f]={}),t.insights[f][e]={snapId:e,loading:!0}})),b(this,a,"m",l).call(this,{snapId:e,handler:m.HandlerType.OnSignature,params:{signature:d,signatureOrigin:s}}).then((t=>b(this,a,"m",u).call(this,{id:f,snapId:e,response:t}))).catch((t=>b(this,a,"m",u).call(this,{id:f,snapId:e,error:t})))}))},c=function({transactionMeta:e}){"unapproved"!==e.status&&b(this,a,"m",d).call(this,e.id)},d=function(e){b(this,a,"m",n).call(this,e)&&(Object.values(this.state.insights[e]).filter((e=>e.interfaceId)).forEach((e=>{this.messagingSystem.call("SnapInterfaceController:deleteInterface",e.interfaceId)})),this.update((t=>{delete t.insights[e]})))},l=async function({snapId:e,handler:t,params:f}){return this.messagingSystem.call("SnapController:handleRequest",{snapId:e,origin:"",handler:t,request:{method:"",params:f}})},u=function({id:e,snapId:t,response:f,error:s}){b(this,a,"m",n).call(this,e)&&this.update((a=>{a.insights[e][t].loading=!1,a.insights[e][t].interfaceId=f?.id,a.insights[e][t].severity=f?.severity,a.insights[e][t].error=s?.message}))}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/insights/SnapInsightsController.cjs"}],[2637,{"./SnapInsightsController.cjs":2636},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./SnapInsightsController.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/insights/index.cjs"}],[2638,{"./utils.cjs":2640,"@metamask/base-controller":1383,"@metamask/snaps-sdk":2746,"@metamask/snaps-utils":2850,"@metamask/utils":2950,immer:4649,nanoid:4959},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.SnapInterfaceController=void 0;const g=e("@metamask/base-controller"),y=e("@metamask/snaps-sdk"),w=e("@metamask/snaps-utils"),v=e("@metamask/utils"),k=e("immer"),S=e("nanoid"),_=e("./utils.cjs"),T=1e7,C="SnapInterfaceController";class E extends g.BaseController{constructor({messenger:e,state:t}){super({messenger:e,metadata:{interfaces:{persist:e=>Object.entries(e).reduce(((e,[t,f])=>f.contentType===y.ContentType.Notification?(e[t]=f,e):e),{}),anonymous:!1}},name:C,state:{interfaces:{},...t}}),a.add(this),this.messagingSystem.subscribe("NotificationServicesController:notificationsListUpdated",m(this,a,"m",p).bind(this)),m(this,a,"m",n).call(this)}async createInterface(e,t,f,n){const s=(0,_.getJsxInterface)(t);await m(this,a,"m",h).call(this,s),(0,_.validateInterfaceContext)(f);const r=(0,S.nanoid)(),i=(0,_.constructState)({},s,{getAssetsState:m(this,a,"m",u).bind(this),getAccountByAddress:m(this,a,"m",l).bind(this)});return this.update((t=>{t.interfaces[r]={snapId:e,content:(0,k.castDraft)(s),state:i,context:f??null,contentType:n??null}})),r}getInterface(e,t){return m(this,a,"m",s).call(this,e,t),this.state.interfaces[t]}async updateInterface(e,t,f,n){m(this,a,"m",s).call(this,e,t);const r=(0,_.getJsxInterface)(f);await m(this,a,"m",h).call(this,r),(0,_.validateInterfaceContext)(n);const i=this.state.interfaces[t].state,o=(0,_.constructState)(i,r,{getAssetsState:m(this,a,"m",u).bind(this),getAccountByAddress:m(this,a,"m",l).bind(this)});this.update((e=>{e.interfaces[t].state=o,e.interfaces[t].content=(0,k.castDraft)(r),n&&(e.interfaces[t].context=n)}))}deleteInterface(e){this.update((t=>{delete t.interfaces[e]}))}updateInterfaceState(e,t){this.update((f=>{f.interfaces[e].state=t}))}async resolveInterface(e,t,f){m(this,a,"m",s).call(this,e,t),m(this,a,"m",r).call(this,t),await m(this,a,"m",d).call(this,t,f),this.deleteInterface(t)}}f.SnapInterfaceController=E,a=new WeakSet,n=function(){this.messagingSystem.registerActionHandler(`${C}:createInterface`,this.createInterface.bind(this)),this.messagingSystem.registerActionHandler(`${C}:getInterface`,this.getInterface.bind(this)),this.messagingSystem.registerActionHandler(`${C}:updateInterface`,this.updateInterface.bind(this)),this.messagingSystem.registerActionHandler(`${C}:deleteInterface`,this.deleteInterface.bind(this)),this.messagingSystem.registerActionHandler(`${C}:updateInterfaceState`,this.updateInterfaceState.bind(this)),this.messagingSystem.registerActionHandler(`${C}:resolveInterface`,this.resolveInterface.bind(this))},s=function(e,t){const f=this.state.interfaces[t];(0,v.assert)(f!==undefined,`Interface with id '${t}' not found.`),(0,v.assert)(f.snapId===e,`Interface not created by ${e}.`)},r=function(e){(0,v.assert)(m(this,a,"m",c).call(this,e),`Approval request with id '${e}' not found.`)},i=async function(){await this.messagingSystem.call("PhishingController:maybeUpdateState")},o=function(e){return this.messagingSystem.call("PhishingController:testOrigin",e).result},c=function(e){return this.messagingSystem.call("ApprovalController:hasRequest",{id:e})},d=async function(e,t){await this.messagingSystem.call("ApprovalController:acceptRequest",e,t)},l=function(e){const{address:t}=(0,v.parseCaipAccountId)(e);return this.messagingSystem.call("AccountsController:getAccountByAddress",t)},u=function(){return this.messagingSystem.call("MultichainAssetsController:getState")},b=function(e){return this.messagingSystem.call("SnapController:get",e)},h=async function(e){const t=(0,w.getJsonSizeUnsafe)(e);(0,v.assert)(t<=T,"A Snap UI may not be larger than 10 MB."),await m(this,a,"m",i).call(this),(0,w.validateJsxElements)(e,{isOnPhishingList:m(this,a,"m",o).bind(this),getSnap:m(this,a,"m",b).bind(this),getAccountByAddress:m(this,a,"m",l).bind(this)})},p=function(e){const t=e.filter((e=>"snap"===e.type&&(0,v.hasProperty)(e.data,"detailedView"))),f=new Set(t.map((e=>e.data.detailedView.interfaceId)));this.update((e=>{Object.entries(e.interfaces).forEach((([t,a])=>{a.contentType!==y.ContentType.Notification||f.has(t)||delete e.interfaces[t]}))}))}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/interface/SnapInterfaceController.cjs"}],[2639,{"./SnapInterfaceController.cjs":2638},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./SnapInterfaceController.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/interface/index.cjs"}],[264,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=function(e){(0,a.hasProperty)(e,"PreferencesController")&&(0,a.isObject)(e.PreferencesController)&&(0,a.hasProperty)(e.PreferencesController,"frequentRpcListDetail")&&(0,a.isObject)(e.NetworkController)&&(0,a.hasProperty)(e.NetworkController,"networkConfigurations")&&delete e.PreferencesController.frequentRpcListDetail;return{...e}};var a=e("@metamask/utils")}}},{package:"$root$",file:"app/scripts/migrations/077-supplements/077-supplement-for-082.ts"}],[2640,{"@metamask/snaps-sdk":2746,"@metamask/snaps-sdk/jsx":2830,"@metamask/snaps-utils":2850,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.validateInterfaceContext=f.constructState=f.getAssetSelectorStateValue=f.getDefaultAsset=f.assertNameIsUnique=f.getJsxInterface=f.isStatefulComponent=void 0;const a=e("@metamask/snaps-sdk"),n=e("@metamask/snaps-sdk/jsx"),s=e("@metamask/snaps-utils"),r=e("@metamask/utils"),i=["Input","Dropdown","RadioGroup","FileInput","Checkbox","Selector","AssetSelector","AddressInput"];function o(e){return i.includes(e.type)}function c(e,t){(0,a.assert)(e[t]===undefined,`Duplicate component names are not allowed, found multiple instances of: "${t}".`)}function d(e,t,{getAccountByAddress:f,getAssetsState:n}){const{assetsMetadata:s,accountsAssets:i}=n(),o=e.map((e=>(0,r.parseCaipAccountId)(e))).map((({chainId:e})=>e)),c=t&&t.length>0?o.filter((e=>t.includes(e))):o,d=f(e[0])?.id;(0,a.assert)(d,`Account not found for address: ${e[0]}.`);const l=i[d];if(0===l.length)return null;const u=l.find((e=>{const{chainId:t,assetNamespace:f}=(0,r.parseCaipAssetType)(e);return c.includes(t)&&"slip44"===f}));return u?{asset:u,name:s[u].name,symbol:s[u].symbol}:{asset:l[0],name:s[l[0]].name,symbol:s[l[0]].symbol}}function l(e,t){if(!e)return null;const{assetsMetadata:f}=t(),a=f[e];return a?{asset:e,name:a.name,symbol:a.symbol}:null}function u(e,t,f,a){const n=a?e[a]:e,i=n?.[t.props.name];return"FileInput"===t.type?i??null:function(e,{getAssetsState:t}){switch(e.type){case"Checkbox":return e.props.checked;case"AssetSelector":return l(e.props.value,t);case"AddressInput":{if(!e.props.value)return null;const{namespace:t,reference:f}=(0,r.parseCaipChainId)(e.props.chainId);return(0,r.toCaipAccountId)(t,f,e.props.value)}default:return e.props.value}}(t,f)??i??function(e,t){switch(e.type){case"Dropdown":{const t=(0,s.getJsxChildren)(e);return t[0]?.props.value}case"RadioGroup":{const t=(0,s.getJsxChildren)(e);return t[0]?.props.value}case"Selector":{const t=(0,s.getJsxChildren)(e);return t[0]?.props.value}case"Checkbox":return!1;case"AssetSelector":return d(e.props.addresses,e.props.chainIds,t);default:return null}}(t,f)??null}f.isStatefulComponent=o,f.getJsxInterface=function(e){return(0,n.isJSXElementUnsafe)(e)?e:(0,s.getJsxElementFromComponent)(e)},f.assertNameIsUnique=c,f.getDefaultAsset=d,f.getAssetSelectorStateValue=l,f.constructState=function(e,t,f){const a={},n=[];return(0,s.walkJsx)(t,((t,s)=>{let r=n[n.length-1];if(r&&s<=r.depth&&(n.pop(),r=n[n.length-1]),"Form"===t.type)return c(a,t.props.name),n.push({name:t.props.name,depth:s}),void(a[t.props.name]={});if(r&&o(t)){const n=a[r.name];return c(n,t.props.name),void(n[t.props.name]=u(e,t,f,r.name))}o(t)&&(c(a,t.props.name),a[t.props.name]=u(e,t,f))})),a};const b=5e6;f.validateInterfaceContext=function(e){if(!e)return;const t=(0,s.getJsonSizeUnsafe)(e);(0,a.assert)(t<=b,"A Snap interface context may not be larger than 5 MB.")}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/interface/utils.cjs"}],[2641,{"@metamask/snaps-utils":2850,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.log=void 0;const a=e("@metamask/snaps-utils"),n=e("@metamask/utils");f.log=(0,n.createModuleLogger)(a.snapsLogger,"snaps-controllers")}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/logging.cjs"}],[2642,{"../snaps/index.cjs":2658,"@metamask/rpc-errors":2554,"@metamask/snaps-rpc-methods":2700,"@metamask/snaps-utils":2850,"@metamask/utils":2950,nanoid:4959},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},l=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.MultichainRouter=void 0;const u=e("@metamask/rpc-errors"),b=e("@metamask/snaps-rpc-methods"),h=e("@metamask/snaps-utils"),p=e("@metamask/utils"),m=e("nanoid"),g=e("../snaps/index.cjs"),y="MultichainRouter";f.MultichainRouter=class{constructor({messenger:e,withSnapKeyring:t}){a.add(this),this.name=y,this.state=null,n.set(this,void 0),s.set(this,void 0),d(this,n,e,"f"),d(this,s,t,"f"),l(this,n,"f").registerActionHandler(`${y}:handleRequest`,(async(...e)=>this.handleRequest(...e))),l(this,n,"f").registerActionHandler(`${y}:getSupportedMethods`,((...e)=>this.getSupportedMethods(...e))),l(this,n,"f").registerActionHandler(`${y}:getSupportedAccounts`,((...e)=>this.getSupportedAccounts(...e))),l(this,n,"f").registerActionHandler(`${y}:isSupportedScope`,((...e)=>this.isSupportedScope(...e)))}async handleRequest({connectedAddresses:e,origin:t,scope:f,request:r}){(0,p.assert)(!f.startsWith(p.KnownCaipNamespace.Eip155)&&!f.startsWith("wallet:eip155"));const c={jsonrpc:"2.0",id:r.id??(0,m.nanoid)(),method:r.method,params:r.params},{method:d,params:b}=c,g=await l(this,a,"m",i).call(this,e,f,c);if(g)return l(this,s,"f").call(this,(async({keyring:e})=>e.submitRequest({account:g,scope:f,method:d,params:b})));const y=l(this,a,"m",o).call(this,f).find((e=>e.methods.includes(d)));if(y)return l(this,n,"f").call("SnapController:handleRequest",{snapId:y.snapId,origin:t,request:{method:"",params:{request:c,scope:f}},handler:h.HandlerType.OnProtocolRequest});throw u.rpcErrors.methodNotFound()}getSupportedMethods(e){const t=l(this,a,"m",c).call(this,e).flatMap((e=>e.methods)),f=l(this,a,"m",o).call(this,e).flatMap((e=>e.methods));return Array.from(new Set([...t,...f]))}getSupportedAccounts(e){return l(this,a,"m",c).call(this,e).map((t=>`${e}:${t.address}`))}isSupportedScope(e){return l(this,n,"f").call("AccountsController:listMultichainAccounts",e).some((e=>e.metadata.snap?.enabled))}},n=new WeakMap,s=new WeakMap,a=new WeakSet,r=async function(e,t,f){try{const a=await l(this,s,"f").call(this,(async({keyring:a})=>a.resolveAccountAddress(e,t,f))),n=a?.address;return n?(0,p.parseCaipAccountId)(n).address:null}catch{throw u.rpcErrors.internal()}},i=async function(e,t,f){const s=l(this,n,"f").call("AccountsController:listMultichainAccounts",t).filter((e=>Boolean(e.metadata.snap?.enabled)&&e.methods.includes(f.method)));if(0===s.length)return null;const i=s[0].metadata.snap.id,o=await l(this,a,"m",r).call(this,i,t,f),c=e.map((e=>(0,p.parseCaipAccountId)(e).address)),d=s.find((e=>c.includes(e.address)&&(!o||e.address.toLowerCase()===o.toLowerCase())));if(!d)throw u.rpcErrors.invalidParams({message:"No available account found for request."});return d.id},o=function(e){const t=l(this,n,"f").call("SnapController:getAll");return(0,g.getRunnableSnaps)(t).reduce(((t,f)=>{const a=l(this,n,"f").call("PermissionController:getPermissions",f.id);if(a&&(0,p.hasProperty)(a,b.SnapEndowments.Protocol)){const n=a[b.SnapEndowments.Protocol],s=(0,b.getProtocolCaveatScopes)(n);s&&(0,p.hasProperty)(s,e)&&t.push({snapId:f.id,methods:s[e].methods})}return t}),[])},c=function(e){return l(this,n,"f").call("AccountsController:listMultichainAccounts",e).filter((e=>e.metadata.snap?.enabled))}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/multichain/MultichainRouter.cjs"}],[2643,{"./MultichainRouter.cjs":2642},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./MultichainRouter.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/multichain/index.cjs"}],[2644,{"../logging.cjs":2641,"../snaps/Timer.cjs":2656,"../utils.cjs":2668,"@metamask/json-rpc-engine":1933,"@metamask/json-rpc-middleware-stream":1937,"@metamask/object-multiplex":2381,"@metamask/rpc-errors":2554,"@metamask/snaps-utils":2850,"@metamask/utils":2950,nanoid:4959,"readable-stream":5274},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},g=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)},y=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.setupMultiplex=f.AbstractExecutionService=void 0;const w=e("@metamask/json-rpc-engine"),v=e("@metamask/json-rpc-middleware-stream"),k=y(e("@metamask/object-multiplex")),S=e("@metamask/rpc-errors"),_=e("@metamask/snaps-utils"),T=e("@metamask/utils"),C=e("nanoid"),E=e("readable-stream"),P=e("../logging.cjs"),j=e("../snaps/Timer.cjs"),O=e("../utils.cjs"),I="ExecutionService";function A(e,t){const f=new k.default;return(0,E.pipeline)(e,f,e,(e=>{e&&(t?(0,_.logError)(`"${t}" stream failure.`,e):(0,_.logError)(e))})),f}f.AbstractExecutionService=class{constructor({setupSnapProvider:e,messenger:t,initTimeout:f=(0,T.inMilliseconds)(60,T.Duration.Second),pingTimeout:u=(0,T.inMilliseconds)(2,T.Duration.Second),terminationTimeout:b=(0,T.inMilliseconds)(1,T.Duration.Second),usePing:h=!0}){a.add(this),this.name=I,this.state=null,n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),c.set(this,void 0),d.set(this,void 0),l.set(this,void 0),m(this,n,new Map,"f"),this.jobs=new Map,this.setupSnapProvider=e,m(this,s,new Map,"f"),m(this,r,new Map,"f"),m(this,i,t,"f"),m(this,o,f,"f"),m(this,c,u,"f"),m(this,d,b,"f"),m(this,l,h,"f"),this.registerMessageHandlers()}registerMessageHandlers(){g(this,i,"f").registerActionHandler(`${I}:handleRpcRequest`,(async(e,t)=>this.handleRpcRequest(e,t))),g(this,i,"f").registerActionHandler(`${I}:executeSnap`,(async e=>this.executeSnap(e))),g(this,i,"f").registerActionHandler(`${I}:terminateSnap`,(async e=>this.terminateSnap(e))),g(this,i,"f").registerActionHandler(`${I}:terminateAllSnaps`,(async()=>this.terminateAllSnaps()))}async terminate(e){const t=this.jobs.get(e);if(!t)throw new Error(`Job with id "${e}" not found.`);try{const t=await(0,O.withTimeout)(this.command(e,{jsonrpc:"2.0",method:"terminate",params:[],id:(0,C.nanoid)()}),g(this,d,"f"));t!==O.hasTimedOut&&"OK"===t||(0,_.logError)(`Job "${e}" failed to terminate gracefully.`,t)}catch{}Object.values(t.streams).forEach((e=>{try{!e.destroyed&&e.destroy(),e.removeAllListeners()}catch(e){(0,_.logError)("Error while destroying stream",e)}})),this.terminateJob(t),this.jobs.delete(e),g(this,a,"m",p).call(this,e),(0,P.log)(`Job "${e}" terminated.`)}async initJob(e,t){const{streams:f,worker:a}=await this.initStreams(e,t),n=new w.JsonRpcEngine,s=(0,v.createStreamMiddleware)();(0,E.pipeline)(s.stream,f.command,s.stream,(e=>{e&&(0,_.logError)("Command stream failure.",e)})),n.push(s.middleware);const r={id:e,streams:f,rpcEngine:n,worker:a};return this.jobs.set(e,r),r}async initStreams(e,t){const f=await(0,O.withTimeout)(this.initEnvStream(e),t);if(f===O.hasTimedOut)throw this.terminateJob({id:e}),new Error("The Snaps execution environment failed to start.");const{worker:a,stream:n}=f,s=A(n,`Job: "${e}"`),o=s.createStream(_.SNAP_STREAM_NAMES.COMMAND),c=t=>{if(!(0,T.isJsonRpcNotification)(t))return;const f=g(this,r,"f").get(e);"OutboundRequest"===t.method?g(this,i,"f").publish("ExecutionService:outboundRequest",f):"OutboundResponse"===t.method?g(this,i,"f").publish("ExecutionService:outboundResponse",f):"UnhandledError"===t.method?(0,T.isObject)(t.params)&&t.params.error?(g(this,i,"f").publish("ExecutionService:unhandledError",f,t.params.error),o.removeListener("data",c)):(0,_.logError)(new Error(`Received malformed "${t.method}" command stream notification.`)):(0,_.logError)(new Error(`Received unexpected command stream notification "${t.method}".`))};o.on("data",c);const d=s.createStream(_.SNAP_STREAM_NAMES.JSON_RPC);return{streams:{command:o,rpc:d,_connection:n},worker:a}}async terminateSnap(e){const t=g(this,s,"f").get(e);t&&await this.terminate(t)}async terminateAllSnaps(){await Promise.all([...this.jobs.keys()].map((async e=>this.terminate(e)))),g(this,n,"f").clear()}getRpcRequestHandler(e){return g(this,n,"f").get(e)}async executeSnap({snapId:e,sourceCode:t,endowments:f}){if(g(this,s,"f").has(e))throw new Error(`Snap "${e}" is already being executed.`);const n=(0,C.nanoid)(),r=new j.Timer(g(this,o,"f")),i=await this.initJob(n,r);if(g(this,a,"m",h).call(this,e,i.id),g(this,l,"f")){if(await(0,O.withTimeout)(this.command(i.id,{jsonrpc:"2.0",method:"ping",id:(0,C.nanoid)()}),g(this,c,"f"))===O.hasTimedOut)throw new Error("The Snaps execution environment failed to start.")}const d=i.streams.rpc;this.setupSnapProvider(e,d);const u=r.remaining,p={jsonrpc:"2.0",method:"executeSnap",params:{snapId:e,sourceCode:t,endowments:f},id:(0,C.nanoid)()};(0,T.assertIsJsonRpcRequest)(p);const m=await(0,O.withTimeout)(this.command(i.id,p),u);if(m===O.hasTimedOut)throw new Error(`${e} failed to start.`);return g(this,a,"m",b).call(this,e,i.id),m}async command(e,t){const f=this.jobs.get(e);if(!f)throw new Error(`Job with id "${e}" not found.`);(0,P.log)("Parent: Sending Command",t);const a=await f.rpcEngine.handle(t);if((0,T.isJsonRpcFailure)(a))throw new S.JsonRpcError(a.error.code,a.error.message,a.error.data);return a.result}async handleRpcRequest(e,t){const f=this.getRpcRequestHandler(e);if(!f)throw new Error(`Snap execution service returned no RPC handler for running snap "${e}".`);return f(t)}},n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,c=new WeakMap,d=new WeakMap,l=new WeakMap,a=new WeakSet,u=function(e){g(this,n,"f").delete(e)},b=function(e,t){g(this,n,"f").set(e,(async({origin:f,handler:a,request:n})=>await this.command(t,{id:(0,C.nanoid)(),jsonrpc:"2.0",method:"snapRpc",params:{origin:f,handler:a,request:n,target:e}})))},h=function(e,t){g(this,s,"f").set(e,t),g(this,r,"f").set(t,e)},p=function(e){const t=g(this,r,"f").get(e);if(!t)throw new Error(`job: "${e}" has no mapped snap.`);g(this,r,"f").delete(e),g(this,s,"f").delete(t),g(this,a,"m",u).call(this,t)},f.setupMultiplex=A}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/AbstractExecutionService.cjs"}],[2645,{"@metamask/post-message-stream":2415},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},o=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.ProxyPostMessageStream=void 0;const c=e("@metamask/post-message-stream");class d extends c.BasePostMessageStream{constructor({stream:e,jobId:t}){super(),a.add(this),n.set(this,void 0),s.set(this,void 0),i(this,n,e,"f"),i(this,s,t,"f"),o(this,n,"f").on("data",o(this,a,"m",r).bind(this))}_postMessage(e){o(this,n,"f").write({jobId:o(this,s,"f"),data:e})}}f.ProxyPostMessageStream=d,n=new WeakMap,s=new WeakMap,a=new WeakSet,r=function(e){e.jobId===o(this,s,"f")&&this.push(e.data)}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/ProxyPostMessageStream.cjs"}],[2646,{"../AbstractExecutionService.cjs":2644,"@metamask/post-message-stream":2415,"@metamask/snaps-utils":2850},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.IframeExecutionService=void 0;const a=e("@metamask/post-message-stream"),n=e("@metamask/snaps-utils"),s=e("../AbstractExecutionService.cjs");class r extends s.AbstractExecutionService{constructor({iframeUrl:e,messenger:t,setupSnapProvider:f,...a}){super({...a,messenger:t,setupSnapProvider:f}),this.iframeUrl=e}terminateJob(e){document.getElementById(e.id)?.remove()}async initEnvStream(e){const t=await(0,n.createWindow)({uri:this.iframeUrl.toString(),id:e});return{worker:t,stream:new a.WindowPostMessageStream({name:"parent",target:"child",targetWindow:t,targetOrigin:"*"})}}}f.IframeExecutionService=r}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/iframe/IframeExecutionService.cjs"}],[2647,{"./IframeExecutionService.cjs":2646},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./IframeExecutionService.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/iframe/index.cjs"}],[2648,{"./AbstractExecutionService.cjs":2644,"./ProxyPostMessageStream.cjs":2645,"./iframe/index.cjs":2647,"./offscreen/index.cjs":2650,"./webworker/index.cjs":2653},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),f.WebWorkerExecutionService=void 0,n(e("./AbstractExecutionService.cjs"),f),n(e("./ProxyPostMessageStream.cjs"),f),n(e("./iframe/index.cjs"),f),n(e("./offscreen/index.cjs"),f);var s=e("./webworker/index.cjs");Object.defineProperty(f,"WebWorkerExecutionService",{enumerable:!0,get:function(){return s.WebWorkerExecutionService}})}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/index.cjs"}],[2649,{"../proxy/ProxyExecutionService.cjs":2651,"@metamask/post-message-stream":2415},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.OffscreenExecutionService=void 0;const r=e("@metamask/post-message-stream"),i=e("../proxy/ProxyExecutionService.cjs");class o extends i.ProxyExecutionService{constructor({messenger:e,setupSnapProvider:t,offscreenPromise:f,...s}){super({...s,messenger:e,setupSnapProvider:t,stream:new r.BrowserRuntimePostMessageStream({name:"parent",target:"child"})}),a.set(this,void 0),n(this,a,f,"f")}async initEnvStream(e){return await s(this,a,"f"),await super.initEnvStream(e)}}f.OffscreenExecutionService=o,a=new WeakMap}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/offscreen/OffscreenExecutionService.cjs"}],[265,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=function(e){(0,a.hasProperty)(e,"NetworkController")&&(0,a.isObject)(e.NetworkController)&&(0,a.hasProperty)(e.NetworkController,"network")&&(0,a.hasProperty)(e.NetworkController,"networkId")&&delete e.NetworkController.network;return{...e}};var a=e("@metamask/utils")}}},{package:"$root$",file:"app/scripts/migrations/077-supplements/077-supplement-for-084.ts"}],[2650,{"./OffscreenExecutionService.cjs":2649},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./OffscreenExecutionService.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/offscreen/index.cjs"}],[2651,{"../AbstractExecutionService.cjs":2644,"../ProxyPostMessageStream.cjs":2645,nanoid:4959},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.ProxyExecutionService=void 0;const r=e("nanoid"),i=e("../AbstractExecutionService.cjs"),o=e("../ProxyPostMessageStream.cjs");class c extends i.AbstractExecutionService{constructor({stream:e,messenger:t,setupSnapProvider:f,...s}){super({...s,messenger:t,setupSnapProvider:f,usePing:!1}),a.set(this,void 0),n(this,a,e,"f")}async terminateJob(e){s(this,a,"f").write({jobId:e.id,data:{jsonrpc:"2.0",method:"terminateJob",id:(0,r.nanoid)()}})}async initEnvStream(e){const t=new o.ProxyPostMessageStream({stream:s(this,a,"f"),jobId:e});return await new Promise((e=>{t.once("data",e),t.write({name:"command",data:{jsonrpc:"2.0",method:"ping",id:(0,r.nanoid)()}})})),{worker:e,stream:t}}}f.ProxyExecutionService=c,a=new WeakMap}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/proxy/ProxyExecutionService.cjs"}],[2652,{"../AbstractExecutionService.cjs":2644,"../ProxyPostMessageStream.cjs":2645,"@metamask/post-message-stream":2415,"@metamask/snaps-utils":2850,"@metamask/utils":2950,nanoid:4959},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},r=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.WebWorkerExecutionService=f.WORKER_POOL_ID=void 0;const i=e("@metamask/post-message-stream"),o=e("@metamask/snaps-utils"),c=e("@metamask/utils"),d=e("nanoid"),l=e("../AbstractExecutionService.cjs"),u=e("../ProxyPostMessageStream.cjs");f.WORKER_POOL_ID="snaps-worker-pool";class b extends l.AbstractExecutionService{constructor({documentUrl:e,messenger:t,setupSnapProvider:f,...r}){super({...r,messenger:t,setupSnapProvider:f}),a.set(this,void 0),n.set(this,void 0),s(this,a,e,"f")}async terminateJob(e){(0,c.assert)(r(this,n,"f"),"Runtime stream not initialized."),r(this,n,"f").write({jobId:e.id,data:{jsonrpc:"2.0",method:"terminateJob",id:(0,d.nanoid)()}})}async initEnvStream(e){await this.createDocument(),(0,c.assert)(r(this,n,"f"),"Runtime stream not initialized.");return{worker:e,stream:new u.ProxyPostMessageStream({stream:r(this,n,"f"),jobId:e})}}async createDocument(){if(document.getElementById(f.WORKER_POOL_ID))return;const e=await(0,o.createWindow)({uri:r(this,a,"f").href,id:f.WORKER_POOL_ID,sandbox:!1});s(this,n,new i.WindowPostMessageStream({name:"parent",target:"child",targetWindow:e,targetOrigin:"*"}),"f")}}f.WebWorkerExecutionService=b,a=new WeakMap,n=new WeakMap}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/webworker/WebWorkerExecutionService.cjs"}],[2653,{"./WebWorkerExecutionService.cjs":2652},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./WebWorkerExecutionService.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/services/webworker/index.cjs"}],[2654,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.RequestQueue=void 0;f.RequestQueue=class{constructor(e){this.maxQueueSize=e,this.queueSizes=new Map}increment(e){const t=this.queueSizes.get(e)??0;if(t>=this.maxQueueSize)throw new Error("Maximum number of requests reached. Try again later.");this.queueSizes.set(e,t+1)}decrement(e){const t=this.queueSizes.get(e)??0;if(0===t)throw new Error(`Cannot decrement, ${e} does not have any outstanding requests.`);this.queueSizes.set(e,t-1)}get(e){return this.queueSizes.get(e)??0}}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/RequestQueue.cjs"}],[2655,{"../fsm.cjs":2634,"../logging.cjs":2641,"../utils.cjs":2668,"./RequestQueue.cjs":2654,"./Timer.cjs":2656,"./constants.cjs":2657,"./location/index.cjs":2660,"./registry/index.cjs":2664,"./selectors.cjs":2667,"@metamask/base-controller":1383,"@metamask/permission-controller":2393,"@metamask/rpc-errors":2554,"@metamask/snaps-rpc-methods":2700,"@metamask/snaps-sdk":2746,"@metamask/snaps-utils":2850,"@metamask/utils":2950,"@xstate/fsm":3598,"async-mutex":3913,nanoid:4959,semver:5547},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m,g,y,w,v,k,S,_,T,C,E,P,j,O,I,A,x,N,M,R,L,D,B,$,F,q,H,U,V,W,z,Z,G,K,J,Y,Q,X,ee,te,fe,ae,ne,se,re,ie,oe,ce,de,le,ue,be,he,pe,me,ge,ye,we,ve,ke,Se,_e=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},Te=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.SnapController=f.SNAP_APPROVAL_RESULT=f.SNAP_APPROVAL_UPDATE=f.SNAP_APPROVAL_INSTALL=f.controllerName=void 0;const Ce=e("@metamask/base-controller"),Ee=e("@metamask/permission-controller"),Pe=e("@metamask/rpc-errors"),je=e("@metamask/snaps-rpc-methods"),Oe=e("@metamask/snaps-sdk"),Ie=e("@metamask/snaps-utils"),Ae=e("@metamask/utils"),xe=e("@xstate/fsm"),Ne=e("async-mutex"),Me=e("nanoid"),Re=e("semver"),Le=e("./constants.cjs"),De=e("./location/index.cjs"),Be=e("./registry/index.cjs"),$e=e("./RequestQueue.cjs"),Fe=e("./selectors.cjs"),qe=e("./Timer.cjs"),He=e("../fsm.cjs"),Ue=e("../logging.cjs"),Ve=e("../utils.cjs");f.controllerName="SnapController",f.SNAP_APPROVAL_INSTALL="wallet_installSnap",f.SNAP_APPROVAL_UPDATE="wallet_updateSnap",f.SNAP_APPROVAL_RESULT="wallet_installSnapResult";const We=new Set(["initialPermissions","id","version","enabled","blocked"]),ze={snaps:{},snapStates:{},unencryptedSnapStates:{}};function Ze(e){return Object.keys(e).reduce(((t,f)=>(We.has(f)&&(t[f]=e[f]),t)),{})}class Ge extends Ce.BaseController{constructor({closeAllConnections:e,messenger:t,state:E,dynamicPermissions:P=["eth_accounts"],environmentEndowmentPermissions:j=[],excludedPermissions:O={},idleTimeCheckInterval:I=(0,Ae.inMilliseconds)(5,Ae.Duration.Second),maxIdleTime:A=(0,Ae.inMilliseconds)(30,Ae.Duration.Second),maxRequestTime:x=(0,Ae.inMilliseconds)(60,Ae.Duration.Second),fetchFunction:N=globalThis.fetch.bind(undefined),featureFlags:M={},detectSnapLocation:R=De.detectSnapLocation,preinstalledSnaps:L=null,encryptor:D,getMnemonicSeed:B,getFeatureFlags:$=(()=>({})),clientCryptography:F}){super({messenger:t,metadata:{snapStates:{persist:!0,anonymous:!1},unencryptedSnapStates:{persist:!0,anonymous:!1},snaps:{persist:e=>Object.values(e).filter((e=>e.status!==Ie.SnapStatus.Installing)).map((e=>({...e,status:Ie.SnapStatus.Stopped}))).reduce(((e,t)=>(e[t.id]=t,e)),{}),anonymous:!1}},name:f.controllerName,state:{...ze,...E}}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),c.set(this,void 0),d.set(this,void 0),l.set(this,void 0),u.set(this,void 0),b.set(this,void 0),h.set(this,void 0),p.set(this,void 0),m.set(this,void 0),g.set(this,void 0),y.set(this,void 0),w.set(this,void 0),v.set(this,void 0),k.set(this,void 0),_e(this,n,e,"f"),_e(this,s,P,"f"),_e(this,r,j,"f"),_e(this,i,O,"f"),_e(this,o,M,"f"),_e(this,c,N,"f"),_e(this,d,I,"f"),_e(this,l,A,"f"),this.maxRequestTime=x,_e(this,m,R,"f"),_e(this,u,D,"f"),_e(this,b,B,"f"),_e(this,h,$,"f"),_e(this,p,F,"f"),_e(this,k,L,"f"),this._onUnhandledSnapError=this._onUnhandledSnapError.bind(this),this._onOutboundRequest=this._onOutboundRequest.bind(this),this._onOutboundResponse=this._onOutboundResponse.bind(this),_e(this,y,new Map,"f"),_e(this,g,new Map,"f"),Te(this,a,"m",C).call(this),this.messagingSystem.subscribe("ExecutionService:unhandledError",this._onUnhandledSnapError),this.messagingSystem.subscribe("ExecutionService:outboundRequest",this._onOutboundRequest),this.messagingSystem.subscribe("ExecutionService:outboundResponse",this._onOutboundResponse),this.messagingSystem.subscribe("SnapController:snapInstalled",(({id:e},t)=>{Te(this,a,"m",ke).call(this,t,e,Ie.HandlerType.OnInstall).catch((t=>{(0,Ie.logError)(`Error when calling \`onInstall\` lifecycle hook for snap "${e}": ${(0,Oe.getErrorMessage)(t)}`)}))})),this.messagingSystem.subscribe("SnapController:snapUpdated",(({id:e},t,f)=>{Te(this,a,"m",ke).call(this,f,e,Ie.HandlerType.OnUpdate).catch((t=>{(0,Ie.logError)(`Error when calling \`onUpdate\` lifecycle hook for snap "${e}": ${(0,Oe.getErrorMessage)(t)}`)}))})),this.messagingSystem.subscribe("KeyringController:lock",Te(this,a,"m",Se).bind(this)),Te(this,a,"m",S).call(this),Te(this,a,"m",_).call(this),Te(this,k,"f")&&Te(this,a,"m",T).call(this,Te(this,k,"f")),Object.values(this.state?.snaps??{}).forEach((e=>Te(this,a,"m",pe).call(this,e.id)))}async updateBlockedSnaps(){Te(this,a,"m",I).call(this),await this.messagingSystem.call("SnapsRegistry:update");const e=await this.messagingSystem.call("SnapsRegistry:get",Object.values(this.state.snaps).reduce(((e,t)=>(e[t.id]={version:t.version,checksum:t.manifest.source.shasum},e)),{}));await Promise.all(Object.entries(e).map((async([e,{status:t,reason:f}])=>t===Be.SnapsRegistryStatus.Blocked?Te(this,a,"m",E).call(this,e,f):Te(this,a,"m",P).call(this,e))))}_onUnhandledSnapError(e,t){(0,Ie.logError)(`Unhandled error from "${e}":`,t),this.stopSnap(e,Ie.SnapStatusEvents.Crash).catch((e=>{(0,Ie.logError)(e)}))}_onOutboundRequest(e){const t=Te(this,a,"m",he).call(this,e);t.pendingInboundRequests.filter((e=>"running"===e.timer.status)).forEach((e=>e.timer.pause())),t.pendingOutboundRequests+=1}_onOutboundResponse(e){const t=Te(this,a,"m",he).call(this,e);t.pendingOutboundRequests-=1,0===t.pendingOutboundRequests&&t.pendingInboundRequests.filter((e=>"paused"===e.timer.status)).forEach((e=>e.timer.resume()))}async startSnap(e){Te(this,a,"m",I).call(this);const t=this.state.snaps[e];if(!t.enabled)throw new Error(`Snap "${e}" is disabled.`);await Te(this,a,"m",G).call(this,{snapId:e,sourceCode:t.sourceCode})}enableSnap(e){if(this.getExpect(e),this.state.snaps[e].blocked)throw new Error(`Snap "${e}" is blocked and cannot be enabled.`);this.update((t=>{t.snaps[e].enabled=!0})),this.messagingSystem.publish("SnapController:snapEnabled",this.getTruncatedExpect(e))}async disableSnap(e){if(!this.has(e))throw new Error(`Snap "${e}" not found.`);this.update((t=>{t.snaps[e].enabled=!1})),this.isRunning(e)&&await this.stopSnap(e,Ie.SnapStatusEvents.Stop),this.messagingSystem.publish("SnapController:snapDisabled",this.getTruncatedExpect(e))}async stopSnap(e,t=Ie.SnapStatusEvents.Stop){const f=Te(this,a,"m",be).call(this,e);if(!f)throw new Error(`The snap "${e}" is not running.`);if(!f.stopping){f.stopping=!0;try{this.isRunning(e)&&(Te(this,n,"f")?.call(this,e),await Te(this,a,"m",N).call(this,e))}finally{f.lastRequest=null,f.pendingInboundRequests=[],f.pendingOutboundRequests=0,f.stopping=!1,this.isRunning(e)&&Te(this,a,"m",x).call(this,e,t)}}}async stopAllSnaps(e=Ie.SnapStatusEvents.Stop){const t=Object.values(this.state.snaps).filter((e=>this.isRunning(e.id))).map((async t=>this.stopSnap(t.id,e)));await Promise.allSettled(t)}isRunning(e){return"running"===this.getExpect(e).status}has(e){return Boolean(this.get(e))}get(e){return this.state.snaps[e]}getExpect(e){const t=this.get(e);return(0,Ae.assert)(t!==undefined,new Error(`Snap "${e}" not found.`)),t}getTruncated(e){const t=this.get(e);return t?Ze(t):null}getTruncatedExpect(e){return Ze(this.getExpect(e))}async updateSnapState(e,t,f){const n=Te(this,a,"m",he).call(this,e);f?n.state=t:n.unencryptedState=t,Te(this,a,"m",$).call(this,e,t,f).catch((e=>{(0,Ie.logError)(e)}))}clearSnapState(e,t){const f=Te(this,a,"m",he).call(this,e);t?f.state=null:f.unencryptedState=null,Te(this,a,"m",$).call(this,e,null,t).catch((e=>{(0,Ie.logError)(e)}))}async getSnapState(e,t){const f=Te(this,a,"m",he).call(this,e);return await f.getStateMutex.runExclusive((async()=>{const n=t?f.state:f.unencryptedState;if(n!==undefined)return n;const s=t?this.state.snapStates[e]:this.state.unencryptedSnapStates[e];if(null===s||s===undefined)return null;if(!t){const e=JSON.parse(s);return f.unencryptedState=e,e}const r=await Te(this,a,"m",L).call(this,e,s);return f.state=r,r}))}async getSnapFile(e,t,f=Oe.AuxiliaryFileEncoding.Base64){const a=this.getExpect(e),n=(0,Ie.normalizeRelative)(t),s=a.auxiliaryFiles?.find((e=>e.path===n))?.value;if(!s)return null;const r=await(0,Ie.encodeAuxiliaryFile)(s,f);return(0,Ae.assert)(r.length{Te(this,n,"f")?.call(this,e)})),await this.messagingSystem.call("ExecutionService:terminateAllSnaps"),e.forEach((e=>Te(this,a,"m",U).call(this,e))),this.update((e=>{e.snaps={},e.snapStates={}})),Te(this,g,"f").clear(),Te(this,k,"f")&&(Te(this,a,"m",T).call(this,Te(this,k,"f")),Object.values(this.state?.snaps).forEach((e=>Te(this,a,"m",pe).call(this,e.id))))}async removeSnap(e){return this.removeSnaps([e])}async removeSnaps(e){if(!Array.isArray(e))throw new Error("Expected array of snap ids.");e.forEach((e=>{const t=this.getExpect(e);(0,Ae.assert)(!1!==t.removable,`${e} is not removable.`)})),await Promise.all(e.map((async e=>{const t=this.getExpect(e),f=this.getTruncatedExpect(e);await this.disableSnap(e),Te(this,a,"m",U).call(this,e),Te(this,a,"m",H).call(this,e),Te(this,g,"f").delete(e),this.update((t=>{delete t.snaps[e],delete t.snapStates[e],delete t.unencryptedSnapStates[e]})),t.status!==Ie.SnapStatus.Installing&&this.messagingSystem.publish("SnapController:snapUninstalled",f)})))}removeSnapFromSubject(e,t){const f=this.messagingSystem.call("PermissionController:getPermissions",e),a=f?.[je.WALLET_SNAP_PERMISSION_KEY]?.caveats?.find((e=>e.type===Ie.SnapCaveatType.SnapIds));if(!a)return;if(Boolean(a.value?.[t])){const f={...a.value};delete f[t],Object.keys(f).length>0?this.messagingSystem.call("PermissionController:updateCaveat",e,je.WALLET_SNAP_PERMISSION_KEY,Ie.SnapCaveatType.SnapIds,f):this.messagingSystem.call("PermissionController:revokePermissions",{[e]:[je.WALLET_SNAP_PERMISSION_KEY]})}}revokeDynamicSnapPermissions(e,t){(0,Ae.assert)(t.every((e=>Te(this,s,"f").includes(e))),"Non-dynamic permissions cannot be revoked"),this.messagingSystem.call("PermissionController:revokePermissions",{[e]:t})}incrementActiveReferences(e){Te(this,a,"m",he).call(this,e).activeReferences+=1}decrementActiveReferences(e){const t=Te(this,a,"m",he).call(this,e);(0,Ae.assert)(t.activeReferences>0,"SnapController reference management is in an invalid state."),t.activeReferences-=1}getAllSnaps(){return Object.values(this.state.snaps).map(Ze)}getRunnableSnaps(){return(0,Fe.getRunnableSnaps)(this.getAllSnaps())}getPermittedSnaps(e){const t=this.messagingSystem.call("PermissionController:getPermissions",e)??{},f=t[je.WALLET_SNAP_PERMISSION_KEY]?.caveats?.find((e=>e.type===Ie.SnapCaveatType.SnapIds))?.value??{};return Object.keys(f).reduce(((e,t)=>{const f=this.get(t),a=this.getTruncated(t);return a&&f?.status!==Ie.SnapStatus.Installing&&(e[t]=a),e}),{})}async installSnaps(e,t){Te(this,a,"m",I).call(this);const f={},n=Object.keys(t),s=[],r=[];try{for(const[n,{version:i}]of Object.entries(t)){(0,Ie.assertIsValidSnapId)(n);const[t,d]=(0,Ie.resolveVersionRange)(i);if(t)throw Pe.rpcErrors.invalidParams(`The "version" field must be a valid SemVer version range if specified. Received: "${i}".`);const l=Te(this,m,"f").call(this,n,{versionRange:d,fetch:Te(this,c,"f"),allowLocal:Te(this,o,"f").allowLocalSnaps,resolveVersion:async e=>Te(this,o,"f").requireAllowlist?await Te(this,a,"m",z).call(this,n,e):e}),u=this.has(n)&&!l.shouldAlwaysReload;if(u&&Te(this,a,"m",ve).call(this,n,d)){const e=this.getExpect(n);s.push({snapId:n,oldVersion:e.version});let t=Te(this,a,"m",ce).call(this,n);if(t!==undefined)throw new Error("This snap is already being updated.");t=Te(this,a,"m",de).call(this,n),t.newVersion=d}else u||r.push(n);f[n]=await this.processRequestedSnap(e,n,l,d)}r.forEach((t=>this.messagingSystem.publish("SnapController:snapInstalled",this.getTruncatedExpect(t),e,!1))),s.forEach((({snapId:t,oldVersion:f})=>this.messagingSystem.publish("SnapController:snapUpdated",this.getTruncatedExpect(t),f,e,!1))),n.forEach((e=>Te(this,y,"f").delete(e)))}catch(e){const t=r.filter((e=>this.has(e)));await this.removeSnaps(t);const f=[...Te(this,y,"f").keys()],n=s.map((({snapId:e})=>e)).filter((e=>f.includes(e)));throw await Te(this,a,"m",ue).call(this,n),e}return f}async processRequestedSnap(e,t,n,s){const r=this.getTruncated(t);if(r&&!n.shouldAlwaysReload)return(0,Ae.satisfiesVersionRange)(r.version,s)?r:await this.updateSnap(e,t,n,s,!1);Te(this,a,"m",O).call(this);let i=Te(this,a,"m",V).call(this,{origin:e,snapId:t,type:f.SNAP_APPROVAL_INSTALL});this.messagingSystem.publish("SnapController:snapInstallStarted",t,e,!1),r&&this.isRunning(t)&&await this.stopSnap(t,Ie.SnapStatusEvents.Stop),r&&n.shouldAlwaysReload&&Te(this,a,"m",U).call(this,t);try{const{sourceCode:r}=await Te(this,a,"m",Z).call(this,{origin:e,id:t,location:n,versionRange:s});await this.authorize(t,i),i=Te(this,a,"m",V).call(this,{origin:e,snapId:t,type:f.SNAP_APPROVAL_RESULT}),await Te(this,a,"m",G).call(this,{snapId:t,sourceCode:r});const o=this.getTruncatedExpect(t);return Te(this,a,"m",W).call(this,i.id,{loading:!1,type:f.SNAP_APPROVAL_INSTALL}),o}catch(n){(0,Ie.logError)(`Error when adding ${t}.`,n);const s=n instanceof Error?n.message:n.toString();throw Te(this,a,"m",W).call(this,i.id,{loading:!1,type:f.SNAP_APPROVAL_INSTALL,error:s}),this.messagingSystem.publish("SnapController:snapInstallFailed",t,e,!1,s),n}}async updateSnap(e,t,n,s=Ie.DEFAULT_REQUESTED_SNAP_VERSION,r=!0){Te(this,a,"m",O).call(this),Te(this,a,"m",I).call(this);const i=this.getExpect(t);if(i.preinstalled)throw new Error("Preinstalled Snaps cannot be manually updated.");if(!(0,Ae.isValidSemVerRange)(s))throw new Error(`Received invalid snap version range: "${s}".`);let o=Te(this,a,"m",V).call(this,{origin:e,snapId:t,type:f.SNAP_APPROVAL_UPDATE});try{this.messagingSystem.publish("SnapController:snapInstallStarted",t,e,!0);const c=i.manifest,d=await(0,Ve.fetchSnap)(t,n),{sourceCode:l,manifest:u}=d,b=u.result,h=b.version;if(!(0,Ae.gtVersion)(h,i.version))throw Pe.rpcErrors.invalidParams(`Snap "${t}@${i.version}" is already installed. Couldn't update to a version inside requested "${s}" range.`);if(!(0,Ae.satisfiesVersionRange)(h,s))throw new Error(`Version mismatch. Manifest for "${t}" specifies version "${h}" which doesn't satisfy requested version range "${s}".`);await Te(this,a,"m",j).call(this,t,{version:h,checksum:b.source.shasum,permissions:b.initialPermissions,platformVersion:b.platformVersion});const p=(0,je.processSnapPermissions)(b.initialPermissions);Te(this,a,"m",Y).call(this,p);const{newPermissions:m,unusedPermissions:g,approvedPermissions:y}=Te(this,a,"m",me).call(this,t,p),{newConnections:w,unusedConnections:v,approvedConnections:k}=Te(this,a,"m",ye).call(this,t,c.initialConnections??{},b.initialConnections??{});Te(this,a,"m",W).call(this,o.id,{permissions:m,newVersion:b.version,newPermissions:m,approvedPermissions:y,unusedPermissions:g,newConnections:w,unusedConnections:v,approvedConnections:k,loading:!1});const{permissions:S,..._}=await o.promise;o=Te(this,a,"m",V).call(this,{origin:e,snapId:t,type:f.SNAP_APPROVAL_RESULT}),this.isRunning(t)&&await this.stopSnap(t,Ie.SnapStatusEvents.Stop),Te(this,a,"m",x).call(this,t,Ie.SnapStatusEvents.Update),Te(this,a,"m",J).call(this,{origin:e,id:t,files:d,isUpdate:!0}),Te(this,a,"m",we).call(this,{snapId:t,unusedPermissions:g,newPermissions:S,requestData:_}),b.initialConnections&&Te(this,a,"m",F).call(this,t,c.initialConnections??null,b.initialConnections);const T=Te(this,a,"m",ce).call(this,t);T!==undefined&&(T.permissions.revoked=g,T.permissions.granted=S,T.permissions.requestData=_);const C=l.toString();(0,Ae.assert)("string"==typeof C&&C.length>0,`Invalid source code for snap "${t}".`);try{await Te(this,a,"m",G).call(this,{snapId:t,sourceCode:C})}catch{throw new Error(`Snap ${t} crashed with updated source code.`)}const E=this.getTruncatedExpect(t);return r&&this.messagingSystem.publish("SnapController:snapUpdated",E,i.version,e,!1),Te(this,a,"m",W).call(this,o.id,{loading:!1,type:f.SNAP_APPROVAL_UPDATE}),E}catch(n){(0,Ie.logError)(`Error when updating ${t},`,n);const s=n instanceof Error?n.message:n.toString();throw Te(this,a,"m",W).call(this,o.id,{loading:!1,error:s,type:f.SNAP_APPROVAL_UPDATE}),this.messagingSystem.publish("SnapController:snapInstallFailed",t,e,!0,s),n}}async getRegistryMetadata(e){return Te(this,a,"m",I).call(this),await this.messagingSystem.call("SnapsRegistry:getMetadata",e)}async authorize(e,t){(0,Ue.log)(`Authorizing snap: ${e}`);const f=this.state.snaps[e],{initialPermissions:n,initialConnections:s}=f;try{const r=(0,je.processSnapPermissions)(n);Te(this,a,"m",Y).call(this,r),Te(this,a,"m",W).call(this,t.id,{loading:!1,connections:s??{},permissions:r});const{permissions:i,...o}=await t.promise;Te(this,a,"m",we).call(this,{snapId:e,newPermissions:i,requestData:o}),f.manifest.initialConnections&&Te(this,a,"m",F).call(this,e,null,f.manifest.initialConnections)}finally{Te(this,a,"m",he).call(this,e).installPromise=null}}destroy(){super.destroy(),Te(this,w,"f")&&clearTimeout(Te(this,w,"f")),this.messagingSystem.unsubscribe("ExecutionService:unhandledError",this._onUnhandledSnapError),this.messagingSystem.unsubscribe("ExecutionService:outboundRequest",this._onOutboundRequest),this.messagingSystem.unsubscribe("ExecutionService:outboundResponse",this._onOutboundResponse),this.messagingSystem.clearEventSubscriptions("SnapController:snapInstalled"),this.messagingSystem.clearEventSubscriptions("SnapController:snapUpdated")}async handleRequest({snapId:e,origin:t,handler:f,request:n}){Te(this,a,"m",I).call(this);const s={jsonrpc:"2.0",id:(0,Me.nanoid)(),...n};(0,Ae.assertIsJsonRpcRequest)(s);const r=je.handlerEndowments[f];(0,Ae.assert)("string"==typeof r||null===r,"'permissionName' must be either a string or null.");const i=this.messagingSystem.call("PermissionController:getPermissions",e);if(!(null===r||i&&(0,Ae.hasProperty)(i,r)))throw new Error(`Snap "${e}" is not permitted to use "${r}".`);const o=r?i[r]:undefined;if(r===je.SnapEndowments.Rpc||r===je.SnapEndowments.Keyring){(0,Ae.assert)(o);const f=this.messagingSystem.call("SubjectMetadataController:getSubjectMetadata",t),a=r===je.SnapEndowments.Rpc?(0,je.getRpcCaveatOrigins)(o):(0,je.getKeyringCaveatOrigins)(o);if((0,Ae.assert)(a),!(0,Ie.isOriginAllowed)(a,f?.subjectType??Ee.SubjectType.Website,t))throw new Error(`Snap "${e}" is not permitted to handle requests from "${t}".`)}const c=Te(this,a,"m",ee).call(this,e);if(!c)throw new Error(`Snap RPC message handler not found for snap "${e}".`);return c({origin:t,handler:f,request:s,timeout:Te(this,a,"m",X).call(this,o)})}}f.SnapController=Ge,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,c=new WeakMap,d=new WeakMap,l=new WeakMap,u=new WeakMap,b=new WeakMap,h=new WeakMap,p=new WeakMap,m=new WeakMap,g=new WeakMap,y=new WeakMap,w=new WeakMap,v=new WeakMap,k=new WeakMap,a=new WeakSet,S=function(){const e=({snapId:e})=>this.getExpect(e).enabled,t={initial:Ie.SnapStatus.Installing,states:{[Ie.SnapStatus.Installing]:{on:{[Ie.SnapStatusEvents.Start]:{target:Ie.SnapStatus.Running,cond:e}}},[Ie.SnapStatus.Updating]:{on:{[Ie.SnapStatusEvents.Start]:{target:Ie.SnapStatus.Running,cond:e},[Ie.SnapStatusEvents.Stop]:Ie.SnapStatus.Stopped}},[Ie.SnapStatus.Running]:{on:{[Ie.SnapStatusEvents.Stop]:Ie.SnapStatus.Stopped,[Ie.SnapStatusEvents.Crash]:Ie.SnapStatus.Crashed}},[Ie.SnapStatus.Stopped]:{on:{[Ie.SnapStatusEvents.Start]:{target:Ie.SnapStatus.Running,cond:e},[Ie.SnapStatusEvents.Update]:Ie.SnapStatus.Updating}},[Ie.SnapStatus.Crashed]:{on:{[Ie.SnapStatusEvents.Start]:{target:Ie.SnapStatus.Running,cond:e},[Ie.SnapStatusEvents.Update]:Ie.SnapStatus.Updating}}}};_e(this,v,(0,xe.createMachine)(t),"f"),(0,He.validateMachine)(Te(this,v,"f"))},_=function(){this.messagingSystem.registerActionHandler(`${f.controllerName}:clearSnapState`,((...e)=>this.clearSnapState(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:get`,((...e)=>this.get(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:getSnapState`,(async(...e)=>this.getSnapState(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:handleRequest`,(async(...e)=>this.handleRequest(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:has`,((...e)=>this.has(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:updateBlockedSnaps`,(async()=>this.updateBlockedSnaps())),this.messagingSystem.registerActionHandler(`${f.controllerName}:updateSnapState`,(async(...e)=>this.updateSnapState(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:enable`,((...e)=>this.enableSnap(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:disable`,(async(...e)=>this.disableSnap(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:remove`,(async(...e)=>this.removeSnap(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:getPermitted`,((...e)=>this.getPermittedSnaps(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:install`,(async(...e)=>this.installSnaps(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:getAll`,((...e)=>this.getAllSnaps(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:getRunnableSnaps`,((...e)=>this.getRunnableSnaps(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:incrementActiveReferences`,((...e)=>this.incrementActiveReferences(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:decrementActiveReferences`,((...e)=>this.decrementActiveReferences(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:getRegistryMetadata`,(async(...e)=>this.getRegistryMetadata(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:disconnectOrigin`,((...e)=>this.removeSnapFromSubject(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:revokeDynamicPermissions`,((...e)=>this.revokeDynamicSnapPermissions(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:getFile`,(async(...e)=>this.getSnapFile(...e))),this.messagingSystem.registerActionHandler(`${f.controllerName}:stopAllSnaps`,(async(...e)=>this.stopAllSnaps(...e)))},T=function(e){for(const{snapId:t,manifest:f,files:n,removable:s,hidden:r,hideSnapBranding:i}of e){const e=this.get(t),o=e!==undefined,c=o&&(0,Ae.gtVersion)(f.version,e.version);if(o&&(!c||!0!==e.preinstalled))continue;const d=new Ie.VirtualFile({path:Ie.NpmSnapFileNames.Manifest,value:JSON.stringify(f),result:f}),l=n.map((({path:e,value:t})=>new Ie.VirtualFile({value:t,path:e}))),{filePath:u,iconPath:b}=f.source.location.npm,h=l.find((e=>e.path===u)),p=b?l.find((e=>e.path===b)):undefined;(0,Ae.assert)(h,"Source code not provided for preinstalled snap."),(0,Ae.assert)(!b||b&&p,"Icon not provided for preinstalled snap."),(0,Ae.assert)(f.source.files===undefined,"Auxiliary files are not currently supported for preinstalled snaps.");const m=f.source.locales?.map((e=>l.find((t=>t.path===e))))??[],g=(0,Ie.getValidatedLocalizationFiles)(m.filter(Boolean));(0,Ae.assert)(m.length===g.length,"Missing localization files for preinstalled snap.");const y={manifest:d,sourceCode:h,svgIcon:p,auxiliaryFiles:[],localizationFiles:g};Te(this,a,"m",J).call(this,{id:t,origin:"metamask",files:y,removable:s,hidden:r,hideSnapBranding:i,preinstalled:!0});const w=(0,je.processSnapPermissions)(f.initialPermissions);Te(this,a,"m",Y).call(this,w);const{newPermissions:v,unusedPermissions:k}=Te(this,a,"m",me).call(this,t,w);Te(this,a,"m",we).call(this,{snapId:t,newPermissions:v,unusedPermissions:k}),f.initialConnections&&Te(this,a,"m",F).call(this,t,e?.initialConnections??null,f.initialConnections),this.update((e=>{e.snaps[t].status=Ie.SnapStatus.Stopped})),c?this.messagingSystem.publish("SnapController:snapUpdated",this.getTruncatedExpect(t),e.version,"metamask",!0):this.messagingSystem.publish("SnapController:snapInstalled",this.getTruncatedExpect(t),"metamask",!0)}},C=function e(){_e(this,w,setTimeout((()=>{Te(this,a,"m",A).call(this).catch((e=>{(0,Ie.logError)(e)})),Te(this,a,"m",e).call(this)}),Te(this,d,"f")),"f")},E=async function(e,t){if(this.has(e)){try{this.update((f=>{f.snaps[e].blocked=!0,f.snaps[e].blockInformation=t})),await this.disableSnap(e)}catch(t){(0,Ie.logError)(`Encountered error when stopping blocked snap "${e}".`,t)}this.messagingSystem.publish(`${f.controllerName}:snapBlocked`,e,t)}},P=function(e){this.has(e)&&this.state.snaps[e].blocked&&(this.update((t=>{t.snaps[e].blocked=!1,delete t.snaps[e].blockInformation})),this.messagingSystem.publish(`${f.controllerName}:snapUnblocked`,e))},j=async function(e,{platformVersion:t,...f}){const n=(await this.messagingSystem.call("SnapsRegistry:get",{[e]:f}))[e];if(n.status===Be.SnapsRegistryStatus.Blocked)throw new Error(`Cannot install version "${f.version}" of snap "${e}": The version is blocked. ${n.reason?.explanation??""}`);const s=Object.keys(f.permissions).some((e=>!Le.ALLOWED_PERMISSIONS.includes(e)));if(Te(this,o,"f").requireAllowlist&&s&&n.status!==Be.SnapsRegistryStatus.Verified)throw new Error(`Cannot install version "${f.version}" of snap "${e}": ${n.status===Be.SnapsRegistryStatus.Unavailable?"The registry is temporarily unavailable.":"The snap is not on the allowlist."}`);Te(this,a,"m",Q).call(this,e,t)},O=function(){(0,Ae.assert)(!0!==Te(this,o,"f").disableSnapInstallation,"Installing Snaps is currently disabled in this version of MetaMask.")},I=function(){const e=Te(this,h,"f").call(this);(0,Ae.assert)(!0!==e.disableSnaps,"The Snaps platform requires basic functionality to be used. Enable basic functionality in the settings to use the Snaps platform.")},A=async function(){const e=[...Te(this,g,"f").entries()];return Promise.all(e.filter((([e,t])=>0===t.activeReferences&&0===t.pendingInboundRequests.length&&t.lastRequest&&Te(this,l,"f")&&(0,Ae.timeSince)(t.lastRequest)>Te(this,l,"f"))).map((async([e])=>this.stopSnap(e,Ie.SnapStatusEvents.Stop))))},x=function(e,t){const{interpreter:f}=Te(this,a,"m",he).call(this,e);f.send(t),this.update((t=>{t.snaps[e].status=f.state.value}))},N=async function(e){await this.messagingSystem.call("ExecutionService:terminateSnap",e),await new Promise((e=>setTimeout(e,1)));Te(this,a,"m",he).call(this,e).pendingInboundRequests.filter((e=>"finished"!==e.timer.status)).forEach((e=>e.timer.finish())),await new Promise((e=>setTimeout(e,1))),this.messagingSystem.publish("SnapController:snapTerminated",this.getTruncatedExpect(e))},M=async function({snapId:e,salt:t,useCache:f,keyMetadata:n}){const s=Te(this,a,"m",he).call(this,e);if(s.encryptionKey&&s.encryptionSalt&&f)return{key:await Te(this,u,"f").importKey(s.encryptionKey),salt:s.encryptionSalt};const r=t??Te(this,u,"f").generateSalt(),i=await Te(this,b,"f").call(this),o=await(0,je.getEncryptionEntropy)({snapId:e,seed:i,cryptographicFunctions:Te(this,p,"f")}),c=await Te(this,u,"f").keyFromPassword(o,r,!0,n),d=await Te(this,u,"f").exportKey(c);return f&&(s.encryptionKey=d,s.encryptionSalt=r),{key:c,salt:r}},R=function(e){const t=Te(this,a,"m",he).call(this,e);return null!==t.encryptionKey&&null!==t.encryptionSalt},L=async function(e,t){try{const f=JSON.parse(t),{salt:n,keyMetadata:s}=f,r=Te(this,a,"m",R).call(this,e)||Te(this,u,"f").isVaultUpdated(t),{key:i}=await Te(this,a,"m",M).call(this,{snapId:e,salt:n,useCache:r,keyMetadata:s??Le.LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS});return await Te(this,u,"f").decryptWithKey(i,f)}catch{throw Pe.rpcErrors.internal({message:"Failed to decrypt snap state, the state must be corrupted."})}},D=async function(e,t){const{key:f,salt:n}=await Te(this,a,"m",M).call(this,{snapId:e,useCache:!0}),s=await Te(this,u,"f").encryptWithKey(f,t);return s.salt=n,JSON.stringify(s)},B=async function(e,t,f){return null===t?null:f?await Te(this,a,"m",D).call(this,e,t):JSON.stringify(t)},$=async function(e,t,f){const n=Te(this,a,"m",he).call(this,e);await n.stateMutex.runExclusive((async()=>{const n=await Te(this,a,"m",B).call(this,e,t,f);return f?this.update((t=>{t.snapStates[e]=n})):this.update((t=>{t.unencryptedSnapStates[e]=n}))}))},F=function(e,t,f){if(t){const a=(0,Ve.setDiff)(t,f);for(const t of Object.keys(a))this.removeSnapFromSubject(t,e)}for(const t of Object.keys(f))Te(this,a,"m",q).call(this,t,e)},q=function(e,t){const f=this.messagingSystem.call("PermissionController:getPermissions",e),a=f?.[je.WALLET_SNAP_PERMISSION_KEY]?.caveats?.find((e=>e.type===Ie.SnapCaveatType.SnapIds));if(Boolean(a?.value?.[t]))return;if(a)return void this.messagingSystem.call("PermissionController:updateCaveat",e,je.WALLET_SNAP_PERMISSION_KEY,Ie.SnapCaveatType.SnapIds,{...a.value,[t]:{}});const n={[je.WALLET_SNAP_PERMISSION_KEY]:{caveats:[{type:Ie.SnapCaveatType.SnapIds,value:{[t]:{}}}]}};this.messagingSystem.call("PermissionController:grantPermissions",{approvedPermissions:n,subject:{origin:e}})},H=function(e){const t=this.messagingSystem.call("PermissionController:getSubjectNames");for(const f of t)this.removeSnapFromSubject(f,e)},U=function(e){this.messagingSystem.call("PermissionController:hasPermissions",e)&&this.messagingSystem.call("PermissionController:revokeAllPermissions",e)},V=function({origin:e,snapId:t,type:f}){const a=(0,Me.nanoid)();return{id:a,promise:this.messagingSystem.call("ApprovalController:addRequest",{origin:e,id:a,type:f,requestData:{metadata:{id:a,origin:t,dappOrigin:e},snapId:t},requestState:{loading:!0}},!0)}},W=function(e,t){try{this.messagingSystem.call("ApprovalController:updateRequestState",{id:e,requestState:t})}catch{}},z=async function(e,t){return await this.messagingSystem.call("SnapsRegistry:resolveVersion",e,t)},Z=async function(e){const{id:t,location:f,versionRange:n}=e;Te(this,a,"m",pe).call(this,t);const s=Te(this,a,"m",he).call(this,t);s.installPromise||((0,Ue.log)(`Adding snap: ${t}`),s.installPromise=(async()=>{const s=await(0,Ve.fetchSnap)(t,f),r=s.manifest.result;if(!(0,Ae.satisfiesVersionRange)(r.version,n))throw new Error(`Version mismatch. Manifest for "${t}" specifies version "${r.version}" which doesn't satisfy requested version range "${n}".`);return await Te(this,a,"m",j).call(this,t,{version:r.version,checksum:r.source.shasum,permissions:r.initialPermissions,platformVersion:r.platformVersion}),Te(this,a,"m",J).call(this,{...e,files:s,id:t})})());try{return await s.installPromise}catch(e){throw s.installPromise=null,e}},G=async function(e){const{snapId:t}=e;if(this.isRunning(t))throw new Error(`Snap "${t}" is already started.`);try{const f=Te(this,a,"m",he).call(this,t),n=await this.messagingSystem.call("ExecutionService:executeSnap",{...e,endowments:await Te(this,a,"m",K).call(this,t)});return Te(this,a,"m",x).call(this,t,Ie.SnapStatusEvents.Start),f.lastRequest=Date.now(),n}catch(e){throw await Te(this,a,"m",N).call(this,t),e}},K=async function(e){let t=[];for(const f of Te(this,r,"f"))if(this.messagingSystem.call("PermissionController:hasPermission",e,f)){const a=await this.messagingSystem.call("PermissionController:getEndowments",e,f);if(a){if(!Array.isArray(a)||a.some((e=>"string"!=typeof e)))throw new Error("Expected an array of string endowment names.");t=t.concat(a)}}const f=[...new Set([...Ie.DEFAULT_ENDOWMENTS,...t])];return f.length0,`Invalid source code for snap "${t}".`);const g=b.map((e=>((0,Ae.assert)("string"==typeof e.data.base64),{path:e.path,value:e.data.base64}))),y=this.state.snaps[t],w=[...y?.versionHistory??[],{version:p,date:Date.now(),origin:f}],k=h.map((e=>e.result)),S={...y,blocked:!1,enabled:!0,removable:r,preinstalled:i,hidden:o,hideSnapBranding:c,id:t,initialConnections:d.result.initialConnections,initialPermissions:d.result.initialPermissions,manifest:d.result,status:Te(this,v,"f").config.initial,sourceCode:m,version:p,versionHistory:w,auxiliaryFiles:g,localizationFiles:k};delete S.blockInformation;const{inversePatches:_}=this.update((e=>{e.snaps[t]=S}));if(s){const e=Te(this,a,"m",ce).call(this,t);e!==undefined&&(e.statePatches=_)}const{proposedName:T}=(0,Ie.getLocalizedSnapManifest)(d.result,"en",k);return this.messagingSystem.call("SubjectMetadataController:addSubjectMetadata",{subjectType:Ee.SubjectType.Snap,name:T,origin:S.id,version:p,svgIcon:u?.toString()??null}),{...S,sourceCode:m}},Y=function(e){const t=Object.keys(e),f=Array.from(new Set(Object.values(je.handlerEndowments)));(0,Ae.assert)(t.some((e=>f.includes(e))),`A snap must request at least one of the following permissions: ${f.filter((e=>null!==e)).join(", ")}.`);const a=t.reduce(((e,t)=>((0,Ae.hasProperty)(Te(this,i,"f"),t)&&e.push(Te(this,i,"f")[t]),e)),[]);(0,Ae.assert)(0===a.length,`One or more permissions are not allowed:\n${a.join("\n")}`)},Q=function(e,t){if(t!==undefined&&(0,Re.gt)(t,(0,Ie.getPlatformVersion)())){const f=`The Snap "${e}" requires platform version "${t}" which is greater than the current platform version "${(0,Ie.getPlatformVersion)()}".`;if(Te(this,o,"f").rejectInvalidPlatformVersion)throw new Error(f);(0,Ie.logWarning)(f)}},X=function(e){return(0,je.getMaxRequestTimeCaveat)(e)??this.maxRequestTime},ee=function(e){const t=Te(this,a,"m",he).call(this,e),f=t.rpcHandler;if(f)return f;const n=new $e.RequestQueue(5),s=new Map,r=async({origin:t,handler:f,request:r,timeout:i})=>{if(!this.state.snaps[e].enabled)throw new Error(`Snap "${e}" is disabled.`);if(this.state.snaps[e].status===Ie.SnapStatus.Installing)throw new Error(`Snap "${e}" is currently being installed. Please try again later.`);if(!this.isRunning(e)){let f=s.get(e);if(f){if(n.get(t)>=n.maxQueueSize)throw new Error("Exceeds maximum number of requests waiting to be resolved, please try again.")}else f=this.startSnap(e),s.set(e,f);n.increment(t);try{await f}finally{n.decrement(t),s.get(e)===f&&s.delete(e)}}const o=new qe.Timer(i);Te(this,a,"m",ie).call(this,e,r.id,o);const c=this.messagingSystem.call("ExecutionService:handleRpcRequest",e,{origin:t,handler:f,request:r});try{const t=await(0,Ve.withTimeout)(c,o);if(t===Ve.hasTimedOut)throw new Error(`${e} failed to respond to the request in time.`);await Te(this,a,"m",re).call(this,e,f,t);const n=await Te(this,a,"m",ae).call(this,e,f,r,t);return Te(this,a,"m",oe).call(this,e,r.id),n}catch(t){Te(this,a,"m",oe).call(this,e,r.id);const[f,n]=(0,Ie.unwrapError)(t);throw n||await this.stopSnap(e,Ie.SnapStatusEvents.Crash),f}};return t.rpcHandler=r,r},te=async function(e,t,f){return this.messagingSystem.call("SnapInterfaceController:createInterface",e,t,undefined,f)},fe=function(e,t){(0,Ae.assert)(this.messagingSystem.call("SnapInterfaceController:getInterface",e,t))},ae=async function(e,t,f,n){switch(t){case Ie.HandlerType.OnTransaction:case Ie.HandlerType.OnSignature:case Ie.HandlerType.OnHomePage:case Ie.HandlerType.OnSettingsPage:{const t=n;if(t&&(0,Ae.hasProperty)(t,"content")){const{content:f,...n}=t;return{...n,id:await Te(this,a,"m",te).call(this,e,f)}}return n}case Ie.HandlerType.OnAssetsLookup:return Te(this,a,"m",ne).call(this,e,f,n);case Ie.HandlerType.OnAssetsConversion:return Te(this,a,"m",se).call(this,f,n);default:return n}},ne=function(e,{params:t},{assets:f}){const a=this.messagingSystem.call("PermissionController:getPermissions",e);(0,Ae.assert)(a);const n=a[je.SnapEndowments.Assets],s=(0,je.getChainIdsCaveat)(n);(0,Ae.assert)(s);const{assets:r}=t;return{assets:Object.keys(f).reduce(((e,t)=>{const a=t;return s.some((e=>a.startsWith(e)))&&r.includes(a)&&(e[a]=f[a]),e}),{})}},se=function({params:e},{conversionRates:t}){const{conversions:f}=e;return{conversionRates:f.reduce(((e,f)=>{var a;const n=t[f.from]?.[f.to];return n&&(e[a=f.from]??(e[a]={}),e[f.from][f.to]=n),e}),{})}},re=async function(e,t,f){switch(t){case Ie.HandlerType.OnTransaction:(0,Ae.assertStruct)(f,Ie.OnTransactionResponseStruct),f&&(0,Ae.hasProperty)(f,"id")&&Te(this,a,"m",fe).call(this,e,f.id);break;case Ie.HandlerType.OnSignature:(0,Ae.assertStruct)(f,Ie.OnSignatureResponseStruct),f&&(0,Ae.hasProperty)(f,"id")&&Te(this,a,"m",fe).call(this,e,f.id);break;case Ie.HandlerType.OnHomePage:(0,Ae.assertStruct)(f,Ie.OnHomePageResponseStruct),f&&(0,Ae.hasProperty)(f,"id")&&Te(this,a,"m",fe).call(this,e,f.id);break;case Ie.HandlerType.OnSettingsPage:(0,Ae.assertStruct)(f,Ie.OnSettingsPageResponseStruct),f&&(0,Ae.hasProperty)(f,"id")&&Te(this,a,"m",fe).call(this,e,f.id);break;case Ie.HandlerType.OnNameLookup:(0,Ae.assertStruct)(f,Ie.OnNameLookupResponseStruct);break;case Ie.HandlerType.OnAssetsLookup:(0,Ae.assertStruct)(f,Oe.OnAssetsLookupResponseStruct);break;case Ie.HandlerType.OnAssetsConversion:(0,Ae.assertStruct)(f,Oe.OnAssetsConversionResponseStruct)}},ie=function(e,t,f){const n=Te(this,a,"m",he).call(this,e);n.pendingInboundRequests.push({requestId:t,timer:f}),n.lastRequest=null},oe=function(e,t){const f=Te(this,a,"m",he).call(this,e);f.pendingInboundRequests=f.pendingInboundRequests.filter((e=>e.requestId!==t)),0===f.pendingInboundRequests.length&&(f.lastRequest=Date.now())},ce=function(e){return Te(this,y,"f").get(e)},de=function(e){(0,Ae.assert)(Te(this,y,"f").get(e)===undefined,new Error(`Snap "${e}" rollback snapshot already exists.`)),Te(this,y,"f").set(e,{statePatches:[],permissions:{},newVersion:""});const t=Te(this,y,"f").get(e);return(0,Ae.assert)(t!==undefined,new Error(`Snapshot creation failed for ${e}.`)),t},le=async function(e){const t=Te(this,a,"m",ce).call(this,e);if(!t)throw new Error("A snapshot does not exist for this snap.");await this.stopSnap(e,Ie.SnapStatusEvents.Stop),this.get(e)?.status!==Ie.SnapStatus.Stopped&&Te(this,a,"m",x).call(this,e,Ie.SnapStatusEvents.Stop);const{statePatches:f,permissions:n}=t;f?.length&&this.applyPatches(f),this.get(e)?.status!==Ie.SnapStatus.Stopped&&this.update((t=>{t.snaps[e].status=Ie.SnapStatus.Stopped})),Te(this,a,"m",we).call(this,{snapId:e,unusedPermissions:n.granted,newPermissions:n.revoked,requestData:n.requestData});const s=this.getTruncatedExpect(e);this.messagingSystem.publish("SnapController:snapRolledback",s,t.newVersion),Te(this,y,"f").delete(e)},ue=async function(e){for(const t of e)await Te(this,a,"m",le).call(this,t)},be=function(e){return Te(this,g,"f").get(e)},he=function(e){const t=Te(this,a,"m",be).call(this,e);return(0,Ae.assert)(t!==undefined,new Error(`Snap "${e}" runtime data not found`)),t},pe=function(e){if(Te(this,g,"f").has(e))return;const t=this.get(e),f=(0,xe.interpret)(Te(this,v,"f"));f.start({context:{snapId:e},value:t?.status??Te(this,v,"f").config.initial}),(0,He.forceStrict)(f),Te(this,g,"f").set(e,{lastRequest:null,rpcHandler:null,installPromise:null,encryptionKey:null,encryptionSalt:null,activeReferences:0,pendingInboundRequests:[],pendingOutboundRequests:0,interpreter:f,stopping:!1,stateMutex:new Ne.Mutex,getStateMutex:new Ne.Mutex})},me=function(e,t){const f=this.messagingSystem.call("PermissionController:getPermissions",e)??{},a=(0,Ve.permissionsDiff)(t,f),n=(0,Ve.permissionsDiff)(f,t);return{newPermissions:a,unusedPermissions:n,approvedPermissions:(0,Ve.permissionsDiff)(f,n)}},ge=function(e,t){const f=this.messagingSystem.call("PermissionController:getPermissions",t),a=f?.[je.WALLET_SNAP_PERMISSION_KEY]?.caveats?.find((e=>e.type===Ie.SnapCaveatType.SnapIds));return Boolean(a?.value?.[e])},ye=function(e,t,f){const n=Object.keys(t).filter((t=>Te(this,a,"m",ge).call(this,e,t))).reduce(((e,f)=>(e[f]=t[f],e)),{}),s=(0,Ve.setDiff)(f,n),r=(0,Ve.setDiff)(n,f);return{newConnections:s,unusedConnections:r,approvedConnections:(0,Ve.setDiff)(n,r)}},we=function({snapId:e,unusedPermissions:t={},newPermissions:f={},requestData:a}){const n=Object.keys(t);(0,Ae.isNonEmptyArray)(n)&&this.messagingSystem.call("PermissionController:revokePermissions",{[e]:n}),(0,Ae.isNonEmptyArray)(Object.keys(f))&&this.messagingSystem.call("PermissionController:grantPermissions",{approvedPermissions:f,subject:{origin:e},requestData:a})},ve=function(e,t){const f=this.getExpect(e);return!(0,Ae.satisfiesVersionRange)(f.version,t)&&!(0,Ae.gtRange)(f.version,t)},ke=async function(e,t,f){const a=je.handlerEndowments[f];(0,Ae.assert)(a,"Lifecycle hook must have an endowment.");this.messagingSystem.call("PermissionController:hasPermission",t,a)&&await this.handleRequest({snapId:t,handler:f,origin:e,request:{jsonrpc:"2.0",method:f}})},Se=function(){for(const e of Te(this,g,"f").values())e.encryptionKey=null,e.encryptionSalt=null,e.state=undefined}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/SnapController.cjs"}],[2656,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.Timer=void 0;const a=e("@metamask/utils");f.Timer=class{constructor(e){(0,a.assert)(!Number.isNaN(e),new TypeError("Can't start a timer with NaN time")),(0,a.assert)(e>=0,new TypeError("Can't start a timer with negative time")),this.state={value:"stopped",remaining:e}}get status(){return this.state.value}get remaining(){return this.state.remaining}cancel(){(0,a.assert)("paused"===this.status||"running"===this.status,new Error("Tried to cancel a not running Timer")),this.onFinish(!1)}finish(){(0,a.assert)("finished"!==this.status,new Error("Tried to finish a finished Timer.")),this.onFinish(!0)}pause(){(0,a.assert)("running"===this.state.value,new Error("Tried to pause a not running Timer"));const{callback:e,start:t,timeout:f,remaining:n}=this.state;f!==undefined&&clearTimeout(f),this.state={value:"paused",callback:e,remaining:n-(Date.now()-t)}}start(e){(0,a.assert)("stopped"===this.state.value,new Error("Tried to start an already running Timer"));const{remaining:t}=this.state;this.state={value:"paused",remaining:t,callback:e},this.resume()}resume(){(0,a.assert)("paused"===this.state.value,new Error("Tried to resume not paused Timer"));const{remaining:e,callback:t}=this.state,f=Date.now();let n;e!==Number.POSITIVE_INFINITY&&(n=setTimeout((()=>this.onFinish(!0)),e)),this.state={value:"running",callback:t,remaining:e,start:f,timeout:n}}onFinish(e){(0,a.assert)("running"===this.state.value||"paused"===this.state.value),"running"===this.state.value&&this.state.timeout!==undefined&&clearTimeout(this.state.timeout);const{callback:t,remaining:f}=this.state;this.state={value:"finished",remaining:"running"===this.state.value?f-(Date.now()-this.state.start):f},e&&t()}}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/Timer.cjs"}],[2657,{"@metamask/snaps-rpc-methods":2700},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS=f.ALLOWED_PERMISSIONS=void 0;const a=e("@metamask/snaps-rpc-methods");f.ALLOWED_PERMISSIONS=Object.freeze(["snap_dialog","snap_manageState","snap_notify","snap_getLocale",a.SnapEndowments.Cronjob,a.SnapEndowments.HomePage,a.SnapEndowments.LifecycleHooks,a.SnapEndowments.EthereumProvider,a.SnapEndowments.TransactionInsight,a.SnapEndowments.SignatureInsight]),f.LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS={algorithm:"PBKDF2",params:{iterations:1e4}}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/constants.cjs"}],[2658,{"./SnapController.cjs":2655,"./location/index.cjs":2660,"./registry/index.cjs":2664,"./selectors.cjs":2667},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./location/index.cjs"),f),n(e("./SnapController.cjs"),f),n(e("./selectors.cjs"),f),n(e("./registry/index.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/index.cjs"}],[2659,{"@metamask/snaps-utils":2850,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.HttpLocation=void 0;const a=e("@metamask/snaps-utils"),n=e("@metamask/utils");f.HttpLocation=class{constructor(e,t={}){this.cache=new Map,(0,n.assertStruct)(e.toString(),a.HttpSnapIdStruct,"Invalid Snap Id: "),this.fetchFn=t.fetch??globalThis.fetch.bind(undefined),this.fetchOptions=t.fetchOptions,this.url=e}async manifest(){if(this.validatedManifest)return this.validatedManifest.clone();const e=new URL(a.NpmSnapFileNames.Manifest,this.url).toString(),t=await this.fetchFn(e,this.fetchOptions);if(!t.ok)throw new Error(`Failed to fetch "${e}". Status code: ${t.status}.`);const f=await t.text(),n=(0,a.parseJson)(f),s=new a.VirtualFile({value:f,result:(0,a.createSnapManifest)(n),path:a.NpmSnapFileNames.Manifest,data:{canonicalPath:e}});return this.validatedManifest=s,this.manifest()}async fetch(e){const t=(0,a.normalizeRelative)(e),f=this.cache.get(t);if(f!==undefined)return f.clone();const s=this.toCanonical(t).toString(),r=await this.fetchFn(s,this.fetchOptions);if(!r.ok)throw new Error(`Failed to fetch "${s}". Status code: ${r.status}.`);const i=await r.arrayBuffer(),o=new a.VirtualFile({value:new Uint8Array(i),path:t,data:{canonicalPath:s}});return(0,n.assert)(!this.cache.has(t),"Corrupted cache, multiple files with same path."),this.cache.set(t,o),this.fetch(t)}get root(){return new URL(this.url)}toCanonical(e){return(0,n.assert)(!e.startsWith("/"),"Tried to parse absolute path."),new URL(e,this.url)}}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/location/http.cjs"}],[266,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=function(e){(0,a.hasProperty)(e,"NetworkController")&&(0,a.isObject)(e.NetworkController)&&(0,a.hasProperty)(e.NetworkController,"provider")&&(0,a.hasProperty)(e.NetworkController,"providerConfig")&&delete e.NetworkController.provider;return{...e}};var a=e("@metamask/utils")}}},{package:"$root$",file:"app/scripts/migrations/077-supplements/077-supplement-for-086.ts"}],[2660,{"./http.cjs":2659,"./local.cjs":2661,"./location.cjs":2662,"./npm.cjs":2663},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./location.cjs"),f),n(e("./npm.cjs"),f),n(e("./local.cjs"),f),n(e("./http.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/location/index.cjs"}],[2661,{"./http.cjs":2659,"@metamask/snaps-utils":2850,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},s=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.LocalLocation=void 0;const r=e("@metamask/snaps-utils"),i=e("@metamask/utils"),o=e("./http.cjs");function c(e){return(0,i.assert)(e.data.canonicalPath!==undefined),e.data.canonicalPath=`local:${e.data.canonicalPath}`,e}f.LocalLocation=class{constructor(e,t={}){a.set(this,void 0),(0,i.assertStruct)(e.toString(),r.LocalSnapIdStruct,"Invalid Snap Id"),(0,i.assert)(t.fetchOptions===undefined,"Currently adding fetch options to local: is unsupported."),n(this,a,new o.HttpLocation(new URL(e.toString().slice(r.SnapIdPrefixes.local.length)),{...t,fetchOptions:{cache:"no-cache"}}),"f")}async manifest(){return c(await s(this,a,"f").manifest())}async fetch(e){return c(await s(this,a,"f").fetch(e))}get shouldAlwaysReload(){return!0}},a=new WeakMap}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/location/local.cjs"}],[2662,{"./http.cjs":2659,"./local.cjs":2661,"./npm.cjs":2663,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.detectSnapLocation=void 0;const a=e("@metamask/utils"),n=e("./http.cjs"),s=e("./local.cjs"),r=e("./npm.cjs");f.detectSnapLocation=function(e,t){const f=t?.allowHttp??!1,i=t?.allowLocal??!1,o=new URL(e);switch(o.protocol){case"npm:":return new r.NpmLocation(o,t);case"local:":return(0,a.assert)(i,new TypeError("Fetching local snaps is disabled.")),new s.LocalLocation(o,t);case"http:":case"https:":return(0,a.assert)(f,new TypeError("Fetching snaps through http/https is disabled.")),new n.HttpLocation(o,t);default:throw new TypeError(`Unrecognized "${o.protocol}" snap location protocol.`)}}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/location/location.cjs"}],[2663,{"@metamask/snaps-utils":2850,"@metamask/utils":2950,"browserify-zlib":4068,"concat-stream":2669,"get-npm-tarball-url":4480,"readable-stream":5274,"readable-web-to-node-stream":5275,"tar-stream":2673},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)},o=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.getNpmCanonicalBasePath=f.fetchNpmMetadata=f.NpmLocation=f.TARBALL_SIZE_SAFETY_LIMIT=f.BaseNpmLocation=f.DEFAULT_NPM_REGISTRY=void 0;const d=e("@metamask/snaps-utils"),l=e("@metamask/utils"),u=e("browserify-zlib"),b=c(e("concat-stream")),h=c(e("get-npm-tarball-url")),p=e("readable-stream"),m=e("readable-web-to-node-stream"),g=e("tar-stream");f.DEFAULT_NPM_REGISTRY=new URL("https://registry.npmjs.org");class y{constructor(e,t={}){a.add(this),n.set(this,void 0),s.set(this,void 0);const r=t.allowCustomRegistries??!1,i=t.fetch??globalThis.fetch.bind(undefined),o=t.versionRange??d.DEFAULT_REQUESTED_SNAP_VERSION,c=t.resolveVersion??(async e=>e);let u;(0,l.assertStruct)(e.toString(),d.NpmSnapIdStruct,"Invalid Snap Id: "),""===e.host&&""===e.port&&""===e.username&&""===e.password?u=f.DEFAULT_NPM_REGISTRY:(u="https://",e.username&&(u+=e.username,e.password&&(u+=`:${e.password}`),u+="@"),u+=e.host,u=new URL(u),(0,l.assert)(r,new TypeError(`Custom NPM registries are disabled, tried to use "${u.toString()}".`))),(0,l.assert)("/"===u.pathname&&""===u.search&&""===u.hash),(0,l.assert)(""!==e.pathname&&"/"!==e.pathname,new TypeError("The package name in NPM location is empty."));let b=e.pathname;b.startsWith("/")&&(b=b.slice(1)),this.meta={requestedRange:o,registry:u,packageName:b,fetch:i,resolveVersion:c}}async manifest(){if(i(this,n,"f"))return i(this,n,"f").clone();const e=await this.fetch("snap.manifest.json"),t=(0,d.parseJson)(e.toString());return e.result=(0,d.createSnapManifest)(t),o(this,n,e,"f"),this.manifest()}async fetch(e){const t=(0,d.normalizeRelative)(e);i(this,s,"f")||(await i(this,a,"m",r).call(this),(0,l.assert)(i(this,s,"f")!==undefined));const f=i(this,s,"f").get(t);return(0,l.assert)(f!==undefined,new TypeError(`File "${e}" not found in package.`)),f.clone()}get packageName(){return this.meta.packageName}get version(){return(0,l.assert)(this.meta.version!==undefined,"Tried to access version without first fetching NPM package."),this.meta.version}get registry(){return this.meta.registry}get versionRange(){return this.meta.requestedRange}}f.BaseNpmLocation=y,n=new WeakMap,s=new WeakMap,a=new WeakSet,r=async function(){(0,l.assert)(i(this,s,"f")===undefined);const e=await this.meta.resolveVersion(this.meta.requestedRange),{tarballURL:t,targetVersion:f}=await async function(e,t,f,a){if(k(f)&&(0,l.isValidSemVerVersion)(t))return{tarballURL:(0,h.default)(e,t),targetVersion:t};const n=await w(e,f,a),s=Object.keys(n?.versions??{}).map((e=>((0,l.assertIsSemVerVersion)(e),e))),r=(0,d.getTargetVersion)(s,t);if(null===r)throw new Error(`Failed to find a matching version in npm metadata for package "${e}" and requested semver range "${t}".`);const i=n?.versions?.[r]?.dist?.tarball;return{tarballURL:i,targetVersion:r}}(this.meta.packageName,e,this.meta.registry,this.meta.fetch);if(!(0,d.isValidUrl)(t)||!t.toString().endsWith(".tgz"))throw new Error(`Failed to find valid tarball URL in NPM metadata for package "${this.meta.packageName}".`);const a=new URL(t);a.hostname=this.meta.registry.hostname,a.protocol=this.meta.registry.protocol;const n=await this.fetchNpmTarball(a);o(this,s,n,"f"),this.meta.version=f},f.TARBALL_SIZE_SAFETY_LIMIT=262144e3;async function w(e,t,f){const a=await f(new URL(e,t).toString(),{headers:{accept:k(t)?"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*":"application/json"}});if(!a.ok)throw new Error(`Failed to fetch NPM registry entry. Status code: ${a.status}.`);const n=await a.json();if(!(0,l.isObject)(n))throw new Error(`Failed to fetch package "${e}" metadata from npm.`);return n}function v(e,t){let f="npm://";return""!==e.username&&(f+=e.username,""!==e.password&&(f+=`:${e.password}`),f+="@"),`${f}${e.host}/${t}/`}function k(e){return e.toString()===f.DEFAULT_NPM_REGISTRY.toString()}f.NpmLocation=class extends y{async fetchNpmTarball(e){const t=await this.meta.fetch(e.toString());if(!t.ok||!t.body)throw new Error(`Failed to fetch tarball for package "${this.meta.packageName}".`);const a=t.headers.get("content-length");(0,l.assert)(a,"Snap tarball has invalid content-length");const n=parseInt(a,10);return(0,l.assert)(n<=f.TARBALL_SIZE_SAFETY_LIMIT,"Snap tarball exceeds size limit"),new Promise(((e,a)=>{const n=new Map,s=function(e,t){(0,l.assert)(e.endsWith("/"),"Base needs to end with '/' for relative paths to be added as children instead of siblings."),(0,l.assert)(e.startsWith("npm:"),'Protocol mismatch, expected "npm:".');const a=(0,g.extract)();let n=0;return a.on("entry",((s,r,i)=>{const{name:o,type:c}=s;if("file"===c){const s=o.replace(S,"");return r.pipe((0,b.default)({encoding:"uint8array"},(r=>{try{n+=r.byteLength,(0,l.assert)(ni())),r.resume()})),a}(v(this.meta.registry,this.meta.packageName),n),r=t.body;if("pipeThrough"in r&&"DecompressionStream"in globalThis){const t=new DecompressionStream("gzip"),f=r.pipeThrough(t);(0,p.pipeline)(_(f),s,(t=>{t?a(t):e(n)}))}else(0,p.pipeline)(_(r),(0,u.createGunzip)(),s,(t=>{t?a(t):e(n)}))}))}},f.fetchNpmMetadata=w,f.getNpmCanonicalBasePath=v;const S=/^package\//u;function _(e){return"function"!=typeof e.getReader?e:new m.ReadableWebToNodeStream(e)}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/location/npm.cjs"}],[2664,{"./json.cjs":2665,"./registry.cjs":2666},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),n(e("./registry.cjs"),f),n(e("./json.cjs"),f)}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/registry/index.cjs"}],[2665,{"./registry.cjs":2666,"@metamask/base-controller":1383,"@metamask/snaps-registry":2679,"@metamask/snaps-utils":2850,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a,n,s,r,i,o,c,d,l,u,b,h,p,m,g,y,w,v=this&&this.__classPrivateFieldSet||function(e,t,f,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(e,f):n?n.value=f:t.set(e,f),f},k=this&&this.__classPrivateFieldGet||function(e,t,f,a){if("a"===f&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===f?a:"a"===f?a.call(e):a?a.value:t.get(e)};Object.defineProperty(f,"__esModule",{value:!0}),f.JsonSnapsRegistry=void 0;const S=e("@metamask/base-controller"),_=e("@metamask/snaps-registry"),T=e("@metamask/snaps-utils"),C=e("@metamask/utils"),E=e("./registry.cjs"),P={database:null,lastUpdated:null,databaseUnavailable:!1};class j extends S.BaseController{constructor({messenger:e,state:t,url:f={registry:"https://acl.execution.metamask.io/latest/registry.json",signature:"https://acl.execution.metamask.io/latest/signature.json"},publicKey:d="0x025b65308f0f0fb8bc7f7ff87bfc296e0330eee5d3c1d1ee4a048b2fd6a86fa0a6",fetchFunction:u=globalThis.fetch.bind(undefined),recentFetchThreshold:b=(0,C.inMilliseconds)(5,C.Duration.Minute),refetchOnAllowlistMiss:h=!0}){super({messenger:e,metadata:{database:{persist:!0,anonymous:!1},lastUpdated:{persist:!0,anonymous:!1},databaseUnavailable:{persist:!0,anonymous:!1}},name:"SnapsRegistry",state:{...P,...t}}),a.add(this),n.set(this,void 0),s.set(this,void 0),r.set(this,void 0),i.set(this,void 0),o.set(this,void 0),c.set(this,void 0),v(this,n,f,"f"),v(this,s,d,"f"),v(this,r,u,"f"),v(this,i,b,"f"),v(this,o,h,"f"),v(this,c,null,"f"),this.messagingSystem.registerActionHandler("SnapsRegistry:get",(async(...e)=>k(this,a,"m",p).call(this,...e))),this.messagingSystem.registerActionHandler("SnapsRegistry:getMetadata",(async(...e)=>k(this,a,"m",g).call(this,...e))),this.messagingSystem.registerActionHandler("SnapsRegistry:resolveVersion",(async(...e)=>k(this,a,"m",m).call(this,...e))),this.messagingSystem.registerActionHandler("SnapsRegistry:update",(async()=>k(this,a,"m",l).call(this)))}}f.JsonSnapsRegistry=j,n=new WeakMap,s=new WeakMap,r=new WeakMap,i=new WeakMap,o=new WeakMap,c=new WeakMap,a=new WeakSet,d=function(){return this.state.lastUpdated&&Date.now()-this.state.lastUpdated{t.database=JSON.parse(e),t.lastUpdated=Date.now(),t.databaseUnavailable=!1}))}catch{this.update((e=>{e.databaseUnavailable=!0}))}},b=async function(){return null===this.state.database&&await k(this,a,"m",l).call(this),this.state.database},h=async function e(t,f,n=!1){const s=await k(this,a,"m",b).call(this),r=s?.blockedSnaps.find((e=>"id"in e?e.id===t&&(0,C.satisfiesVersionRange)(f.version,e.versionRange):e.checksum===f.checksum));if(r)return{status:E.SnapsRegistryStatus.Blocked,reason:r.reason};const i=s?.verifiedSnaps[t],c=i?.versions?.[f.version];return c&&c.checksum===f.checksum?{status:E.SnapsRegistryStatus.Verified}:k(this,o,"f")&&!n?(await k(this,a,"m",l).call(this),k(this,a,"m",e).call(this,t,f,!0)):{status:this.state.databaseUnavailable?E.SnapsRegistryStatus.Unavailable:E.SnapsRegistryStatus.Unverified}},p=async function(e){return Object.entries(e).reduce((async(e,[t,f])=>{const n=await k(this,a,"m",h).call(this,t,f),s=await e;return s[t]=n,s}),Promise.resolve({}))},m=async function e(t,f,n=!1){const s=await k(this,a,"m",b).call(this),r=s?.verifiedSnaps[t]?.versions??null;if(!r&&k(this,o,"f")&&!n)return await k(this,a,"m",l).call(this),k(this,a,"m",e).call(this,t,f,!0);if(!r)return f;const i=(0,T.getTargetVersion)(Object.keys(r),f);return i||!k(this,o,"f")||n?i?((0,C.assertIsSemVerRange)(i),i):f:(await k(this,a,"m",l).call(this),k(this,a,"m",e).call(this,t,f,!0))},g=async function(e){const t=await k(this,a,"m",b).call(this);return t?.verifiedSnaps[e]?.metadata??null},y=function(e,t){(0,C.assert)(k(this,s,"f"),"No public key provided.");const f=(0,_.verify)({registry:e,signature:JSON.parse(t),publicKey:k(this,s,"f")});(0,C.assert)(f,"Invalid registry signature.")},w=async function(e){const t=await k(this,r,"f").call(this,e);if(!t.ok)throw new Error(`Failed to fetch ${e}.`);return await t.text()}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/registry/json.cjs"}],[2666,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a;Object.defineProperty(f,"__esModule",{value:!0}),f.SnapsRegistryStatus=void 0,function(e){e[e.Unverified=0]="Unverified",e[e.Blocked=1]="Blocked",e[e.Verified=2]="Verified",e[e.Unavailable=3]="Unavailable"}(a||(f.SnapsRegistryStatus=a={}))}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/registry/registry.cjs"}],[2667,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getRunnableSnaps=void 0;f.getRunnableSnaps=e=>e.filter((e=>e.enabled&&!e.blocked))}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/snaps/selectors.cjs"}],[2668,{"./snaps/Timer.cjs":2656,"@metamask/snaps-sdk":2746,"@metamask/snaps-utils":2850,"fast-deep-equal":4427},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0}),f.fetchSnap=f.getSnapFiles=f.withTimeout=f.hasTimedOut=f.delayWithTimer=f.delay=f.permissionsDiff=f.setDiff=void 0;const n=e("@metamask/snaps-sdk"),s=e("@metamask/snaps-utils"),r=a(e("fast-deep-equal")),i=e("./snaps/Timer.cjs");function o(e,t){let f;const a=new Promise(((a,n)=>{e.start((()=>{t===undefined?a():a(t)})),f=n}));return a.cancel=()=>{"finished"!==e.status&&(e.cancel(),f(new Error("The delay has been canceled.")))},a}async function c(e,t){return t&&0!==t.length?await Promise.all(t.map((async t=>e.fetch(t)))):[]}f.setDiff=function(e,t){return Object.entries(e).reduce(((e,[f,a])=>(f in t||(e[f]=a),e)),{})},f.permissionsDiff=function(e,t){return Object.entries(e).reduce(((e,[f,a])=>{const n=f in t;return(!n||n&&!(0,r.default)(a.caveats??[],t[f].caveats??[]))&&(e[f]=a),e}),{})},f.delay=function(e,t){return o(new i.Timer(e),t)},f.delayWithTimer=o,f.hasTimedOut=Symbol("Used to check if the requested promise has timeout (see withTimeout)"),f.withTimeout=async function(e,t){const a=o("number"==typeof t?new i.Timer(t):t,f.hasTimedOut);try{return await Promise.race([e,a])}finally{a.cancel()}},f.getSnapFiles=c,f.fetchSnap=async function(e,t){try{const e=await t.manifest(),f=await t.fetch(e.result.source.location.npm.filePath);(0,n.assert)(f.size{e.data.base64=await(0,s.encodeBase64)(e)})));const o=await c(t,e.result.source.locales),d={manifest:e,sourceCode:f,svgIcon:r,auxiliaryFiles:i,localizationFiles:(0,s.getValidatedLocalizationFiles)(o)};return await(0,s.validateFetchedSnap)(d),d}catch(t){throw new Error(`Failed to fetch snap "${e}": ${(0,n.getErrorMessage)(t)}.`)}}}}},{package:"@metamask/snaps-controllers",file:"node_modules/@metamask/snaps-controllers/dist/utils.cjs"}],[2669,{buffer:4074,"buffer-from":4079,inherits:4650,"readable-stream":5274,typedarray:5617},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){(function(f){(function(){var a=e("readable-stream").Writable,n=e("inherits"),s=e("buffer-from");if("undefined"==typeof Uint8Array)var r=e("typedarray").Uint8Array;else r=Uint8Array;function i(e,t){if(!(this instanceof i))return new i(e,t);"function"==typeof e&&(t=e,e={}),e||(e={});var f=e.encoding,n=!1;f?"u8"!==(f=String(f).toLowerCase())&&"uint8"!==f||(f="uint8array"):n=!0,a.call(this,{objectMode:!0}),this.encoding=f,this.shouldInferEncoding=n,t&&this.on("finish",(function(){t(this.getBody())})),this.body=[]}t.exports=i,n(i,a),i.prototype._write=function(e,t,f){this.body.push(e),f()},i.prototype.inferEncoding=function(e){var t=e===undefined?this.body[0]:e;return f.isBuffer(t)?"buffer":"undefined"!=typeof Uint8Array&&t instanceof Uint8Array?"uint8array":Array.isArray(t)?"array":"string"==typeof t?"string":"[object Object]"===Object.prototype.toString.call(t)?"object":"buffer"},i.prototype.getBody=function(){return this.encoding||0!==this.body.length?(this.shouldInferEncoding&&(this.encoding=this.inferEncoding()),"array"===this.encoding?function(e){for(var t=[],f=0;fconcat-stream",file:"node_modules/@metamask/snaps-controllers/node_modules/concat-stream/index.js"}],[267,{"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=function(e){if((0,a.hasProperty)(e,"NftController")&&(0,a.isObject)(e.NftController)){const t=e.NftController;if((0,a.hasProperty)(t,"allNftContracts")&&(0,a.isObject)(t.allNftContracts)){const{allNftContracts:e}=t;Object.keys(e).every((t=>(0,a.isObject)(e[t])))&&Object.keys(e).forEach((t=>{const f=e[t];if((0,a.isObject)(f)&&n(f))for(const e of Object.keys(f))(0,a.isStrictHexString)(e)||delete f[e]}))}if((0,a.hasProperty)(t,"allNfts")&&(0,a.isObject)(t.allNfts)){const{allNfts:e}=t;Object.keys(e).every((t=>(0,a.isObject)(e[t])))&&Object.keys(e).forEach((t=>{const f=e[t];if((0,a.isObject)(f)&&n(f))for(const e of Object.keys(f))(0,a.isStrictHexString)(e)||delete f[e]}))}e.NftController=t}if((0,a.hasProperty)(e,"TokenListController")&&(0,a.isObject)(e.TokenListController)){const t=e.TokenListController;if((0,a.hasProperty)(t,"tokensChainsCache")&&(0,a.isObject)(t.tokensChainsCache)&&n(t.tokensChainsCache))for(const e of Object.keys(t.tokensChainsCache))(0,a.isStrictHexString)(e)||delete t.tokensChainsCache[e]}if((0,a.hasProperty)(e,"TokensController")&&(0,a.isObject)(e.TokensController)){const t=e.TokensController;if((0,a.hasProperty)(t,"allTokens")&&(0,a.isObject)(t.allTokens)&&n(t.allTokens)){const{allTokens:e}=t;for(const f of Object.keys(e))(0,a.isStrictHexString)(f)||delete t.allTokens[f]}if((0,a.hasProperty)(t,"allIgnoredTokens")&&(0,a.isObject)(t.allIgnoredTokens)&&n(t.allIgnoredTokens)){const{allIgnoredTokens:e}=t;for(const f of Object.keys(e))(0,a.isStrictHexString)(f)||delete t.allIgnoredTokens[f]}if((0,a.hasProperty)(t,"allDetectedTokens")&&(0,a.isObject)(t.allDetectedTokens)&&n(t.allDetectedTokens)){const{allDetectedTokens:e}=t;for(const f of Object.keys(e))(0,a.isStrictHexString)(f)||delete t.allDetectedTokens[f]}e.TokensController=t}return e};var a=e("@metamask/utils");function n(e){return Object.keys(e).some((e=>(0,a.isStrictHexString)(e)))}}}},{package:"$root$",file:"app/scripts/migrations/077-supplements/077-supplement-for-088.ts"}],[2670,{fs:4039},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){const a={S_IFMT:61440,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960};try{t.exports=e("fs").constants||a}catch{t.exports=a}}}},{package:"@metamask/snaps-controllers>tar-stream",file:"node_modules/@metamask/snaps-controllers/node_modules/tar-stream/constants.js"}],[2671,{"./headers":2672,b4a:3968,"fast-fifo":4429,streamx:5596},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){const{Writable:a,Readable:n,getStreamError:s}=e("streamx"),r=e("fast-fifo"),i=e("b4a"),o=e("./headers"),c=i.alloc(0);class d{constructor(){this.buffered=0,this.shifted=0,this.queue=new r,this._offset=0}push(e){this.buffered+=e.byteLength,this.queue.push(e)}shiftFirst(e){return 0===this._buffered?null:this._next(e)}shift(e){if(e>this.buffered)return null;if(0===e)return c;let t=this._next(e);if(e===t.byteLength)return t;const f=[t];for(;(e-=t.byteLength)>0;)t=this._next(e),f.push(t);return i.concat(f)}_next(e){const t=this.queue.peek(),f=t.byteLength-this._offset;if(e>=f){const e=this._offset?t.subarray(this._offset,t.byteLength):t;return this.queue.shift(),this._offset=0,this.buffered-=f,this.shifted+=f,e}return this.buffered-=e,this.shifted+=e,t.subarray(this._offset,this._offset+=e)}}class l extends n{constructor(e,t,f){super(),this.header=t,this.offset=f,this._parent=e}_read(e){0===this.header.size&&this.push(null),this._parent._stream===this&&this._parent._update(),e(null)}_predestroy(){this._parent.destroy(s(this))}_detach(){this._parent._stream===this&&(this._parent._stream=null,this._parent._missing=h(this.header.size),this._parent._update())}_destroy(e){this._detach(),e(null)}}class u extends a{constructor(e){super(e),e||(e={}),this._buffer=new d,this._offset=0,this._header=null,this._stream=null,this._missing=0,this._longHeader=!1,this._callback=b,this._locked=!1,this._finished=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null,this._filenameEncoding=e.filenameEncoding||"utf-8",this._allowUnknownFormat=!!e.allowUnknownFormat,this._unlockBound=this._unlock.bind(this)}_unlock(e){if(this._locked=!1,e)return this.destroy(e),void this._continueWrite(e);this._update()}_consumeHeader(){if(this._locked)return!1;this._offset=this._buffer.shifted;try{this._header=o.decode(this._buffer.shift(512),this._filenameEncoding,this._allowUnknownFormat)}catch(e){return this._continueWrite(e),!1}if(!this._header)return!0;switch(this._header.type){case"gnu-long-path":case"gnu-long-link-path":case"pax-global-header":case"pax-header":return this._longHeader=!0,this._missing=this._header.size,!0}return this._locked=!0,this._applyLongHeaders(),0===this._header.size||"directory"===this._header.type?(this.emit("entry",this._header,this._createStream(),this._unlockBound),!0):(this._stream=this._createStream(),this._missing=this._header.size,this.emit("entry",this._header,this._stream,this._unlockBound),!0)}_applyLongHeaders(){this._gnuLongPath&&(this._header.name=this._gnuLongPath,this._gnuLongPath=null),this._gnuLongLinkPath&&(this._header.linkname=this._gnuLongLinkPath,this._gnuLongLinkPath=null),this._pax&&(this._pax.path&&(this._header.name=this._pax.path),this._pax.linkpath&&(this._header.linkname=this._pax.linkpath),this._pax.size&&(this._header.size=parseInt(this._pax.size,10)),this._header.pax=this._pax,this._pax=null)}_decodeLongHeader(e){switch(this._header.type){case"gnu-long-path":this._gnuLongPath=o.decodeLongPath(e,this._filenameEncoding);break;case"gnu-long-link-path":this._gnuLongLinkPath=o.decodeLongPath(e,this._filenameEncoding);break;case"pax-global-header":this._paxGlobal=o.decodePax(e);break;case"pax-header":this._pax=null===this._paxGlobal?o.decodePax(e):Object.assign({},this._paxGlobal,o.decodePax(e))}}_consumeLongHeader(){this._longHeader=!1,this._missing=h(this._header.size);const e=this._buffer.shift(this._header.size);try{this._decodeLongHeader(e)}catch(e){return this._continueWrite(e),!1}return!0}_consumeStream(){const e=this._buffer.shiftFirst(this._missing);if(null===e)return!1;this._missing-=e.byteLength;const t=this._stream.push(e);return 0===this._missing?(this._stream.push(null),t&&this._stream._detach(),t&&!1===this._locked):t}_createStream(){return new l(this,this._header,this._offset)}_update(){for(;this._buffer.buffered>0&&!this.destroying;)if(this._missing>0){if(null!==this._stream){if(!1===this._consumeStream())return;continue}if(!0===this._longHeader){if(this._missing>this._buffer.buffered)break;if(!1===this._consumeLongHeader())return!1;continue}const e=this._buffer.shiftFirst(this._missing);null!==e&&(this._missing-=e.byteLength)}else{if(this._buffer.buffered<512)break;if(null!==this._stream||!1===this._consumeHeader())return}this._continueWrite(null)}_continueWrite(e){const t=this._callback;this._callback=b,t(e)}_write(e,t){this._callback=t,this._buffer.push(e),this._update()}_final(e){this._finished=0===this._missing&&0===this._buffer.buffered,e(this._finished?null:new Error("Unexpected end of data"))}_predestroy(){this._continueWrite(null)}_destroy(e){this._stream&&this._stream.destroy(s(this)),e(null)}[Symbol.asyncIterator](){let e=null,t=null,f=null,a=null,n=null;const s=this;return this.on("entry",(function(e,s,r){n=r,s.on("error",b),t?(t({value:s,done:!1}),t=f=null):a=s})),this.on("error",(t=>{e=t})),this.on("close",(function(){if(r(e),!t)return;e?f(e):t({value:undefined,done:!0});t=f=null})),{[Symbol.asyncIterator](){return this},next:()=>new Promise(i),return:()=>o(null),throw:e=>o(e)};function r(e){if(!n)return;const t=n;n=null,t(e)}function i(n,i){return e?i(e):a?(n({value:a,done:!1}),void(a=null)):(t=n,f=i,r(null),void(s._finished&&t&&(t({value:undefined,done:!0}),t=f=null)))}function o(e){return s.destroy(e),r(e),new Promise(((t,f)=>{if(s.destroyed)return t({value:undefined,done:!0});s.once("close",(function(){e?f(e):t({value:undefined,done:!0})}))}))}}}function b(){}function h(e){return(e&=511)&&512-e}t.exports=function(e){return new u(e)}}}},{package:"@metamask/snaps-controllers>tar-stream",file:"node_modules/@metamask/snaps-controllers/node_modules/tar-stream/extract.js"}],[2672,{b4a:3968},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){const a=e("b4a"),n="0000000000000000000",s="7777777777777777777",r="0".charCodeAt(0),i=a.from([117,115,116,97,114,0]),o=a.from([r,r]),c=a.from([117,115,116,97,114,32]),d=a.from([32,0]),l=257,u=263;function b(e,t,f,a){for(;ft?s.slice(0,t)+" ":n.slice(0,t-e.length)+e+" "}function m(e,t,f){if(128&(e=e.subarray(t,t+f))[t=0])return function(e){let t;if(128===e[0])t=!0;else{if(255!==e[0])return null;t=!1}const f=[];let a;for(a=e.length-1;a>0;a--){const n=e[a];t?f.push(n):f.push(255-n)}let n=0;const s=f.length;for(a=0;a=s?s:n>=0||(n+=s)>=0?n:0);for(;t=Math.pow(10,f)&&f++,t+f+e}f.decodeLongPath=function(e,t){return g(e,0,e.length,t)},f.encodePax=function(e){let t="";e.name&&(t+=y(" path="+e.name+"\n")),e.linkname&&(t+=y(" linkpath="+e.linkname+"\n"));const f=e.pax;if(f)for(const e in f)t+=y(" "+e+"="+f[e]+"\n");return a.from(t)},f.decodePax=function(e){const t={};for(;e.length;){let f=0;for(;f100;){const e=f.indexOf("/");if(-1===e)return null;n+=n?"/"+f.slice(0,e):f.slice(0,e),f=f.slice(e+1)}return a.byteLength(f)>100||a.byteLength(n)>155||e.linkname&&a.byteLength(e.linkname)>100?null:(a.write(t,f),a.write(t,p(4095&e.mode,6),100),a.write(t,p(e.uid,6),108),a.write(t,p(e.gid,6),116),function(e,t,f){e.toString(8).length>11?function(e,t,f){t[f]=128;for(let a=11;a>0;a--)t[f+a]=255&e,e=Math.floor(e/256)}(e,t,f):a.write(t,p(e,11),f)}(e.size,t,124),a.write(t,p(e.mtime.getTime()/1e3|0,11),136),t[156]=r+function(e){switch(e){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0}(e.type),e.linkname&&a.write(t,e.linkname,157),a.copy(i,t,l),a.copy(o,t,263),e.uname&&a.write(t,e.uname,265),e.gname&&a.write(t,e.gname,297),a.write(t,p(e.devmajor||0,6),329),a.write(t,p(e.devminor||0,6),337),n&&a.write(t,n,345),a.write(t,p(h(t),6),148),t)},f.decode=function(e,t,f){let n=0===e[156]?0:e[156]-r,s=g(e,0,100,t);const o=m(e,100,8),b=m(e,108,8),p=m(e,116,8),y=m(e,124,12),w=m(e,136,12),v=function(e){switch(e){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null}(n),k=0===e[157]?null:g(e,157,100,t),S=g(e,265,32),_=g(e,297,32),T=m(e,329,8),C=m(e,337,8),E=h(e);if(256===E)return null;if(E!==m(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(function(e){return a.equals(i,e.subarray(l,263))}(e))e[345]&&(s=g(e,345,155,t)+"/"+s);else if(function(e){return a.equals(c,e.subarray(l,263))&&a.equals(d,e.subarray(u,265))}(e));else if(!f)throw new Error("Invalid tar header: unknown format.");return 0===n&&s&&"/"===s[s.length-1]&&(n=5),{name:s,mode:o,uid:b,gid:p,size:y,mtime:new Date(1e3*w),type:v,linkname:k,uname:S,gname:_,devmajor:T,devminor:C,pax:null}}}}},{package:"@metamask/snaps-controllers>tar-stream",file:"node_modules/@metamask/snaps-controllers/node_modules/tar-stream/headers.js"}],[2673,{"./extract":2671,"./pack":2674},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){f.extract=e("./extract"),f.pack=e("./pack")}}},{package:"@metamask/snaps-controllers>tar-stream",file:"node_modules/@metamask/snaps-controllers/node_modules/tar-stream/index.js"}],[2674,{"./constants":2670,"./headers":2672,b4a:3968,streamx:5596},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){const{Readable:a,Writable:n,getStreamError:s}=e("streamx"),r=e("b4a"),i=e("./constants"),o=e("./headers"),c=r.alloc(1024);class d extends n{constructor(e,t,f){super({mapWritable:h,eagerOpen:!0}),this.written=0,this.header=t,this._callback=f,this._linkname=null,this._isLinkname="symlink"===t.type&&!t.linkname,this._isVoid="file"!==t.type&&"contiguous-file"!==t.type,this._finished=!1,this._pack=e,this._openCallback=null,null===this._pack._stream?this._pack._stream=this:this._pack._pending.push(this)}_open(e){this._openCallback=e,this._pack._stream===this&&this._continueOpen()}_continuePack(e){if(null===this._callback)return;const t=this._callback;this._callback=null,t(e)}_continueOpen(){null===this._pack._stream&&(this._pack._stream=this);const e=this._openCallback;if(this._openCallback=null,null!==e){if(this._pack.destroying)return e(new Error("pack stream destroyed"));if(this._pack._finalized)return e(new Error("pack stream is already finalized"));this._pack._stream=this,this._isLinkname||this._pack._encode(this.header),this._isVoid&&(this._finish(),this._continuePack(null)),e(null)}}_write(e,t){return this._isLinkname?(this._linkname=this._linkname?r.concat([this._linkname,e]):e,t(null)):this._isVoid?e.byteLength>0?t(new Error("No body allowed for this entry")):t():(this.written+=e.byteLength,this._pack.push(e)?t():void(this._pack._drain=t))}_finish(){this._finished||(this._finished=!0,this._isLinkname&&(this.header.linkname=this._linkname?r.toString(this._linkname,"utf-8"):"",this._pack._encode(this.header)),b(this._pack,this.header.size),this._pack._done(this))}_final(e){if(this.written!==this.header.size)return e(new Error("Size mismatch"));this._finish(),e(null)}_getError(){return s(this)||new Error("tar entry destroyed")}_predestroy(){this._pack.destroy(this._getError())}_destroy(e){this._pack._done(this),this._continuePack(this._finished?null:this._getError()),e()}}class l extends a{constructor(e){super(e),this._drain=u,this._finalized=!1,this._finalizing=!1,this._pending=[],this._stream=null}entry(e,t,f){if(this._finalized||this.destroying)throw new Error("already finalized or destroyed");"function"==typeof t&&(f=t,t=null),f||(f=u),e.size&&"symlink"!==e.type||(e.size=0),e.type||(e.type=function(e){switch(e&i.S_IFMT){case i.S_IFBLK:return"block-device";case i.S_IFCHR:return"character-device";case i.S_IFDIR:return"directory";case i.S_IFIFO:return"fifo";case i.S_IFLNK:return"symlink"}return"file"}(e.mode)),e.mode||(e.mode="directory"===e.type?493:420),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),"string"==typeof t&&(t=r.from(t));const a=new d(this,e,f);return r.isBuffer(t)?(e.size=t.byteLength,a.write(t),a.end(),a):(a._isVoid,a)}finalize(){this._stream||this._pending.length>0?this._finalizing=!0:this._finalized||(this._finalized=!0,this.push(c),this.push(null))}_done(e){e===this._stream&&(this._stream=null,this._finalizing&&this.finalize(),this._pending.length&&this._pending.shift()._continueOpen())}_encode(e){if(!e.pax){const t=o.encode(e);if(t)return void this.push(t)}this._encodePax(e)}_encodePax(e){const t=o.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),f={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:t.byteLength,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(o.encode(f)),this.push(t),b(this,t.byteLength),f.size=e.size,f.type=e.type,this.push(o.encode(f))}_doDrain(){const e=this._drain;this._drain=u,e()}_predestroy(){const e=s(this);for(this._stream&&this._stream.destroy(e);this._pending.length;){const t=this._pending.shift();t.destroy(e),t._continueOpen()}this._doDrain()}_read(e){this._doDrain(),e()}}function u(){}function b(e,t){(t&=511)&&e.push(c.subarray(0,512-t))}function h(e){return r.isBuffer(e)?e:r.from(e)}t.exports=function(e){return new l(e)}}}},{package:"@metamask/snaps-controllers>tar-stream",file:"node_modules/@metamask/snaps-controllers/node_modules/tar-stream/pack.js"}],[2679,{"./verify":2680,"@metamask/superstruct":2872,"@metamask/utils":2950},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){var a=this&&this.__createBinding||(Object.create?function(e,t,f,a){a===undefined&&(a=f);var n=Object.getOwnPropertyDescriptor(t,f);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[f]}}),Object.defineProperty(e,a,n)}:function(e,t,f,a){a===undefined&&(a=f),e[a]=t[f]}),n=this&&this.__exportStar||function(e,t){for(var f in e)"default"===f||Object.prototype.hasOwnProperty.call(t,f)||a(t,e,f)};Object.defineProperty(f,"__esModule",{value:!0}),f.SnapsRegistryDatabaseStruct=f.BlockedSnapStruct=f.BlockReasonStruct=f.VerifiedSnapStruct=f.ImagePathStruct=f.AdditionalSourceCodeStruct=f.SupportStruct=f.AuditStruct=f.AuthorStruct=void 0;const s=e("@metamask/superstruct"),r=e("@metamask/utils"),i=(0,s.refine)((0,s.string)(),"Npm ID",(e=>e.startsWith("npm:"))),o=(0,s.object)({checksum:r.ChecksumStruct});f.AuthorStruct=(0,s.object)({name:(0,s.string)(),website:(0,s.string)()}),f.AuditStruct=(0,s.object)({auditor:(0,s.string)(),report:(0,s.string)()}),f.SupportStruct=(0,s.object)({knowledgeBase:(0,s.optional)((0,s.string)()),faq:(0,s.optional)((0,s.string)()),contact:(0,s.optional)((0,s.string)()),keyRecovery:(0,s.optional)((0,s.string)())}),f.AdditionalSourceCodeStruct=(0,s.object)({name:(0,s.string)(),url:(0,s.string)()}),f.ImagePathStruct=(0,s.pattern)((0,s.string)(),/\.\/images\/.*\/\d+\.(?:png|jpe?g)$/u),f.VerifiedSnapStruct=(0,s.object)({id:i,metadata:(0,s.object)({name:(0,s.string)(),type:(0,s.optional)((0,s.enums)(["account"])),author:(0,s.optional)(f.AuthorStruct),website:(0,s.optional)((0,s.string)()),onboard:(0,s.optional)((0,s.boolean)()),summary:(0,s.optional)((0,s.string)()),description:(0,s.optional)((0,s.string)()),audits:(0,s.optional)((0,s.array)(f.AuditStruct)),category:(0,s.optional)((0,s.enums)(["interoperability","notifications","transaction insights","account management","name resolution"])),tags:(0,s.optional)((0,s.array)((0,s.string)())),support:(0,s.optional)(f.SupportStruct),sourceCode:(0,s.optional)((0,s.string)()),hidden:(0,s.optional)((0,s.boolean)()),privateCode:(0,s.optional)((0,s.boolean)()),privacyPolicy:(0,s.optional)((0,s.string)()),termsOfUse:(0,s.optional)((0,s.string)()),additionalSourceCode:(0,s.optional)((0,s.array)(f.AdditionalSourceCodeStruct)),screenshots:(0,s.optional)((0,s.size)((0,s.array)(f.ImagePathStruct),3,3))}),versions:(0,s.record)(r.VersionStruct,o)}),f.BlockReasonStruct=(0,s.object)({explanation:(0,s.optional)((0,s.string)()),url:(0,s.optional)((0,s.string)())}),f.BlockedSnapStruct=(0,s.union)([(0,s.object)({id:i,versionRange:r.VersionRangeStruct,reason:(0,s.optional)(f.BlockReasonStruct)}),(0,s.object)({checksum:r.ChecksumStruct,reason:(0,s.optional)(f.BlockReasonStruct)})]),f.SnapsRegistryDatabaseStruct=(0,s.object)({verifiedSnaps:(0,s.record)(i,f.VerifiedSnapStruct),blockedSnaps:(0,s.array)(f.BlockedSnapStruct)}),n(e("./verify"),f)}}},{package:"@metamask/snaps-utils>@metamask/snaps-registry",file:"node_modules/@metamask/snaps-registry/dist/index.js"}],[268,{"./077-supplements/077-supplement-for-082":264,"./077-supplements/077-supplement-for-084":265,"./077-supplements/077-supplement-for-086":266,"./077-supplements/077-supplement-for-088":267,"@metamask/utils":2950,lodash:4855,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash"),n=d(e("loglevel")),s=e("@metamask/utils"),r=d(e("./077-supplements/077-supplement-for-082")),i=d(e("./077-supplements/077-supplement-for-084")),o=d(e("./077-supplements/077-supplement-for-086")),c=d(e("./077-supplements/077-supplement-for-088"));function d(e){return e&&e.__esModule?e:{default:e}}f.default={version:77,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=77;let f=function(e){if(!(0,s.hasProperty)(e,"TokenListController"))return n.default.warn("Skipping migration, TokenListController state is missing"),e;var t,f;if(!(0,s.isObject)(e.TokenListController))return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.TokenListController is "+typeof e.TokenListController)),e;if(!(0,s.hasProperty)(e.TokenListController,"tokensChainsCache"))return n.default.warn("Skipping migration, TokenListController.tokensChainsCache state is missing"),e;const{TokenListController:a}=e,{tokensChainsCache:r}=a;let i,o;for(const e in r){var c,d;if(i=r[e].data||{},o={},Array.isArray(i))for(const e of i)o[e.address]=e;else if((null===(c=Object.keys(i)[0])||void 0===c?void 0:c.toLowerCase())!==(null===(d=i[Object.keys(i)[0]])||void 0===d||null===(d=d.address)||void 0===d?void 0:d.toLowerCase()))for(const e in i)o[i[e].address]=i[e];r[e].data=Object.keys(o).length>0?o:i}return a.tokensChainsCache=r,{...e,TokenListController:{...a}}}(t.data);return f=(0,r.default)(f),f=(0,i.default)(f),f=(0,o.default)(f),f=(0,c.default)(f),t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/077.js"}],[2680,{"@metamask/superstruct":2872,"@metamask/utils":2950,"@noble/curves/secp256k1":2991,"@noble/hashes/sha256":3e3},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.verify=f.SignatureStruct=void 0;const a=e("@metamask/superstruct"),n=e("@metamask/utils"),s=e("@noble/curves/secp256k1"),r=e("@noble/hashes/sha256");f.SignatureStruct=(0,a.object)({signature:n.StrictHexStruct,curve:(0,a.literal)("secp256k1"),format:(0,a.literal)("DER")}),f.verify=function({registry:e,signature:t,publicKey:a}){(0,n.assertStruct)(t,f.SignatureStruct,"Invalid signature object");const i=(0,n.hexToBytes)(a);return s.secp256k1.verify((0,n.remove0x)(t.signature),(0,r.sha256)((0,n.stringToBytes)(e)),i)}}}},{package:"@metamask/snaps-utils>@metamask/snaps-registry",file:"node_modules/@metamask/snaps-registry/dist/verify.js"}],[269,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if(!(0,n.hasProperty)(e,"PhishingController")||!(0,n.isObject)(e.PhishingController))return e;const{PhishingController:t}=e;return delete t.phishing,delete t.lastFetched,e}(t.data),t},f.version=void 0;var a=e("lodash"),n=e("@metamask/utils");const s=f.version=78}}},{package:"$root$",file:"app/scripts/migrations/078.ts"}],[27,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getCronjobControllerMessenger=function(e){return e.getRestricted({name:"CronjobController",allowedEvents:["SnapController:snapInstalled","SnapController:snapUpdated","SnapController:snapUninstalled","SnapController:snapEnabled","SnapController:snapDisabled"],allowedActions:["PermissionController:getPermissions","SnapController:handleRequest","SnapController:getAll"]})}}}},{package:"$root$",file:"app/scripts/controller-init/messengers/snaps/cronjob-controller-messenger.ts"}],[270,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:79,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=79;const f=function(e){var t,f;(null==e||null===(t=e.AppStateController)||void 0===t?void 0:t.collectiblesDetectionNoticeDismissed)!==undefined&&delete e.AppStateController.collectiblesDetectionNoticeDismissed;(null==e||null===(f=e.metamask)||void 0===f?void 0:f.collectiblesDropdownState)!==undefined&&delete e.metamask.collectiblesDropdownState;return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/079.js"}],[271,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var a=e("lodash");f.default={version:80,async migrate(e){const t=(0,a.cloneDeep)(e);t.meta.version=80;const f=function(e){var t;(null==e||null===(t=e.metamask)||void 0===t?void 0:t.showPortfolioTooltip)!==undefined&&delete e.metamask.showPortfolioTooltip;return e}(t.data);return t.data=f,t}}}}},{package:"$root$",file:"app/scripts/migrations/080.js"}],[272,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);t.meta.version=s;const f=function(e){if(!(0,n.hasProperty)(e,"SnapController")||!(0,n.hasProperty)(e,"PermissionController")||!(0,n.isObject)(e.PermissionController))return e;const{PermissionController:t}=e,{subjects:f}=t;if(!(0,n.isObject)(f))return e;const s="wallet_snap_";for(const[t,r]of Object.entries(f)){if(!(0,n.isObject)(r)||!(0,n.isObject)(r.permissions))return e;let f,i=1;const{permissions:o}=r,c={...o};for(const[r,d]of Object.entries(o))if(r.startsWith(s)){if(!(0,n.isObject)(d)||!(0,n.hasProperty)(d,"id")||!(0,n.hasProperty)(d,"date"))return e;if((0,n.hasProperty)(c,"wallet_snap")||(c.wallet_snap={caveats:[{type:"snapIds",value:{}}],invoker:t,parentCapability:"wallet_snap"}),!(0,n.isObject)(c.wallet_snap))return e;if(!(0,a.isArray)(c.wallet_snap.caveats))return e;const o=r.slice(s.length),l=c.wallet_snap.caveats[0];if(!(0,n.isObject)(l))return e;if(!(0,n.hasProperty)(l,"type")||"snapIds"!==l.type||!(0,n.hasProperty)(l,"value")||!(0,n.isObject)(l.value))return e;if(l.value[o]={},"number"!=typeof d.date||"string"!=typeof d.id)return e;d.date>i&&(i=d.date,f=d.id),delete c[r]}c.wallet_snap&&(c.wallet_snap.date=i,c.wallet_snap.id=f,r.permissions=c)}return e}(t.data);return t.data=f,t},f.version=void 0;var a=e("lodash"),n=e("@metamask/utils");const s=f.version=81}}},{package:"$root$",file:"app/scripts/migrations/081.ts"}],[273,{"@metamask/utils":2950,lodash:4855,loglevel:4863,uuid:5663},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=o,t.data=function(e){if(!(0,s.hasProperty)(e,"PreferencesController"))return i.default.warn("state.PreferencesController is undefined"),e;if(!(0,s.isObject)(e.PreferencesController)){var t,f;return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.PreferencesController is "+typeof e.PreferencesController)),e}if(!(0,s.hasProperty)(e,"NetworkController")||!(0,s.isObject)(e.NetworkController)){var a,n;return null===(a=global.sentry)||void 0===a||null===(n=a.captureException)||void 0===n||n.call(a,new Error("typeof state.NetworkController is "+typeof e.NetworkController)),e}if(!(0,s.hasProperty)(e.PreferencesController,"frequentRpcListDetail")||!Array.isArray(e.PreferencesController.frequentRpcListDetail)){var o,c;if(!(e.NetworkController.networkConfigurations&&e.PreferencesController.frequentRpcListDetail===undefined))null===(o=global.sentry)||void 0===o||null===(c=o.captureException)||void 0===c||c.call(o,new Error("typeof state.PreferencesController.frequentRpcListDetail is "+typeof e.PreferencesController.frequentRpcListDetail));return e}if(!e.PreferencesController.frequentRpcListDetail.every(s.isObject)){var d,l;const t=e.PreferencesController.frequentRpcListDetail.find((e=>!(0,s.isObject)(e)));return null===(d=global.sentry)||void 0===d||null===(l=d.captureException)||void 0===l||l.call(d,new Error("state.PreferencesController.frequentRpcListDetail contains an element of type "+typeof t)),e}const{PreferencesController:u,NetworkController:b}=e,{frequentRpcListDetail:h}=u;if(!Array.isArray(h))return e;const p=h.reduce(((e,{rpcUrl:t,chainId:f,ticker:a,nickname:n,rpcPrefs:s})=>({...e,[(0,r.v4)()]:{rpcUrl:t,chainId:f,ticker:a,rpcPrefs:s,nickname:n}})),{});return delete u.frequentRpcListDetail,{...e,NetworkController:{...b,networkConfigurations:p},PreferencesController:{...u}}}(t.data),t},f.version=void 0;var a,n=e("lodash"),s=e("@metamask/utils"),r=e("uuid"),i=(a=e("loglevel"))&&a.__esModule?a:{default:a};const o=f.version=82}}},{package:"$root$",file:"app/scripts/migrations/082.ts"}],[274,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if(!(0,n.isObject)(e.NetworkController)){var t,f;return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController)),e}const{NetworkController:a}=e;if(!(0,n.isObject)(a.networkConfigurations)){var s,r;return null===(s=global.sentry)||void 0===s||null===(r=s.captureException)||void 0===r||r.call(s,new Error("typeof NetworkController.networkConfigurations is "+typeof a.networkConfigurations)),e}const{networkConfigurations:i}=a,o={};for(const t of Object.keys(i)){const f=i[t];if(!(0,n.isObject)(f))return e;o[t]={...f,id:t}}return{...e,NetworkController:{...a,networkConfigurations:o}}}(t.data),t},f.version=void 0;var a=e("lodash"),n=e("@metamask/utils");const s=f.version=83}}},{package:"$root$",file:"app/scripts/migrations/083.ts"}],[275,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if(!(0,n.hasProperty)(e,"NetworkController")||!(0,n.isObject)(e.NetworkController)){var t,f;return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController)),e}if(!(0,n.hasProperty)(e.NetworkController,"network")){var a,s;if(e.NetworkController.networkId===undefined)null===(a=global.sentry)||void 0===a||null===(s=a.captureException)||void 0===s||s.call(a,new Error("typeof state.NetworkController.network is "+typeof e.NetworkController.network));return e}const r={...e.NetworkController};"loading"===r.network?(r.networkId=null,r.networkStatus="unknown"):(r.networkId=r.network,r.networkStatus="available");return delete r.network,{...e,NetworkController:r}}(t.data),t},f.version=void 0;var a=e("lodash"),n=e("@metamask/utils");const s=f.version=84}}},{package:"$root$",file:"app/scripts/migrations/084.ts"}],[276,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if(!(0,n.isObject)(e.NetworkController)){var t,f;return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController)),e}return delete e.NetworkController.previousProviderStore,e}(t.data),t},f.version=void 0;var a=e("lodash"),n=e("@metamask/utils");const s=f.version=85}}},{package:"$root$",file:"app/scripts/migrations/085.ts"}],[277,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if((0,a.hasProperty)(e,"NetworkController")&&(0,a.isObject)(e.NetworkController)&&(0,a.hasProperty)(e.NetworkController,"provider")){const t=e.NetworkController;return t.providerConfig=t.provider,delete t.provider,{...e,NetworkController:t}}var t,f;if((0,a.isObject)(e.NetworkController)){if(!(0,a.hasProperty)(e.NetworkController,"provider")){var n,s;if(e.NetworkController.providerConfig===undefined)null===(n=global.sentry)||void 0===n||null===(s=n.captureException)||void 0===s||s.call(n,new Error("typeof state.NetworkController.provider is "+typeof e.NetworkController.provider))}}else null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController));return e}(t.data),t},f.version=void 0;var a=e("@metamask/utils"),n=e("lodash");const s=f.version=86}}},{package:"$root$",file:"app/scripts/migrations/086.ts"}],[278,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if(!(0,a.isObject)(e.TokensController)){var t,f;return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.TokensController is "+typeof e.TokensController)),e}return delete e.TokensController.suggestedAssets,e}(t.data),t},f.version=void 0;var a=e("@metamask/utils"),n=e("lodash");const s=f.version=87}}},{package:"$root$",file:"app/scripts/migrations/087.ts"}],[279,{"@metamask/utils":2950,"bn.js":4026,lodash:4855,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,s.cloneDeep)(e);return t.meta.version=o,function(e){if((0,a.hasProperty)(e,"NftController")&&(0,a.isObject)(e.NftController)){const o=e.NftController;if((0,a.hasProperty)(o,"allNftContracts")&&(0,a.isObject)(o.allNftContracts)){const{allNftContracts:e}=o;Object.keys(e).every((t=>(0,a.isObject)(e[t])))&&Object.keys(e).forEach((t=>{const f=e[t];if((0,a.isObject)(f)){for(const e of Object.keys(f))"undefined"!==e&&e!==undefined&&"null"!==e||delete f[e];e[t]=(0,s.mapKeys)(f,((e,t)=>c(t)))}}))}else if((0,a.hasProperty)(o,"allNftContracts")){var t,f;null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NftController.allNftContracts is "+typeof o.allNftContracts))}else r.default.warn("typeof state.NftController.allNftContracts is "+typeof o.allNftContracts);if((0,a.hasProperty)(o,"allNfts")&&(0,a.isObject)(o.allNfts)){const{allNfts:e}=o;Object.keys(e).every((t=>(0,a.isObject)(e[t])))&&Object.keys(e).forEach((t=>{const f=e[t];if((0,a.isObject)(f)){for(const e of Object.keys(f))"undefined"!==e&&e!==undefined&&"null"!==e||delete f[e];e[t]=(0,s.mapKeys)(f,((e,t)=>c(t)))}}))}else if((0,a.hasProperty)(o,"allNfts")){var n,i;null===(n=global.sentry)||void 0===n||null===(i=n.captureException)||void 0===i||i.call(n,new Error("typeof state.NftController.allNfts is "+typeof o.allNfts))}else r.default.warn("typeof state.NftController.allNfts is "+typeof o.allNfts);e.NftController=o}else if((0,a.hasProperty)(e,"NftController")){var o,d;null===(o=global.sentry)||void 0===o||null===(d=o.captureException)||void 0===d||d.call(o,new Error("typeof state.NftController is "+typeof e.NftController))}else r.default.warn("typeof state.NftController is undefined");if((0,a.hasProperty)(e,"TokenListController")&&(0,a.isObject)(e.TokenListController)){const t=e.TokenListController;if((0,a.hasProperty)(t,"tokensChainsCache")&&(0,a.isObject)(t.tokensChainsCache)){for(const e of Object.keys(t.tokensChainsCache))"undefined"!==e&&e!==undefined&&"null"!==e||delete t.tokensChainsCache[e];t.tokensChainsCache=(0,s.mapKeys)(t.tokensChainsCache,((e,t)=>c(t)))}else if((0,a.hasProperty)(t,"tokensChainsCache")){var l,u;null===(l=global.sentry)||void 0===l||null===(u=l.captureException)||void 0===u||u.call(l,new Error("typeof state.TokenListController.tokensChainsCache is "+typeof e.TokenListController.tokensChainsCache))}else r.default.warn("typeof state.TokenListController.tokensChainsCache is undefined")}else r.default.warn("typeof state.TokenListController is "+typeof e.TokenListController);if((0,a.hasProperty)(e,"TokensController")&&(0,a.isObject)(e.TokensController)){const t=e.TokensController;if((0,a.hasProperty)(t,"allTokens")&&(0,a.isObject)(t.allTokens)){const{allTokens:e}=t;for(const t of Object.keys(e))"undefined"!==t&&t!==undefined&&"null"!==t||delete e[t];t.allTokens=(0,s.mapKeys)(e,((e,t)=>c(t)))}else if((0,a.hasProperty)(t,"allTokens")){var b,h;null===(b=global.sentry)||void 0===b||null===(h=b.captureException)||void 0===h||h.call(b,new Error("typeof state.TokensController.allTokens is "+typeof t.allTokens))}else r.default.warn("typeof state.TokensController.allTokens is "+typeof t.allTokens);if((0,a.hasProperty)(t,"allIgnoredTokens")&&(0,a.isObject)(t.allIgnoredTokens)){const{allIgnoredTokens:e}=t;for(const t of Object.keys(e))"undefined"!==t&&t!==undefined&&"null"!==t||delete e[t];t.allIgnoredTokens=(0,s.mapKeys)(e,((e,t)=>c(t)))}else if((0,a.hasProperty)(t,"allIgnoredTokens")){var p,m;null===(p=global.sentry)||void 0===p||null===(m=p.captureException)||void 0===m||m.call(p,new Error("typeof state.TokensController.allIgnoredTokens is "+typeof t.allIgnoredTokens))}else r.default.warn("typeof state.TokensController.allIgnoredTokens is "+typeof t.allIgnoredTokens);if((0,a.hasProperty)(t,"allDetectedTokens")&&(0,a.isObject)(t.allDetectedTokens)){const{allDetectedTokens:e}=t;for(const t of Object.keys(e))"undefined"!==t&&t!==undefined&&"null"!==t||delete e[t];t.allDetectedTokens=(0,s.mapKeys)(e,((e,t)=>c(t)))}else if((0,a.hasProperty)(t,"allDetectedTokens")){var g,y;null===(g=global.sentry)||void 0===g||null===(y=g.captureException)||void 0===y||y.call(g,new Error("typeof state.TokensController.allDetectedTokens is "+typeof t.allDetectedTokens))}else r.default.warn("typeof state.TokensController.allDetectedTokens is "+typeof t.allDetectedTokens);e.TokensController=t}else{var w,v;null===(w=global.sentry)||void 0===w||null===(v=w.captureException)||void 0===v||v.call(w,new Error("typeof state.TokensController is "+typeof e.TokensController))}}(t.data),t},f.version=void 0;var a=e("@metamask/utils"),n=i(e("bn.js")),s=e("lodash"),r=i(e("loglevel"));function i(e){return e&&e.__esModule?e:{default:e}}const o=f.version=88;function c(e){if("string"==typeof e&&(0,a.isStrictHexString)(e))return e;return`0x${n.default.isBN(e)?e.toString(16):new n.default(e.toString(10),10).toString(16)}`}}}},{package:"$root$",file:"app/scripts/migrations/088.ts"}],[28,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.getExecutionServiceMessenger=function(e){return e.getRestricted({name:"ExecutionService",allowedEvents:[],allowedActions:[]})}}}},{package:"$root$",file:"app/scripts/controller-init/messengers/snaps/execution-service-messenger.ts"}],[280,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if((0,a.hasProperty)(e,"NetworkController")&&(0,a.isObject)(e.NetworkController)&&(0,a.hasProperty)(e.NetworkController,"providerConfig")&&(0,a.isObject)(e.NetworkController.providerConfig)){const{networkConfigurations:t,providerConfig:f}=e.NetworkController;if(!(0,a.isObject)(t))return e;if(f.id)return e;let n;for(const s of Object.keys(t)){const r=t[s];if(!(0,a.isObject)(r))return e;if(r.rpcUrl===f.rpcUrl){n=r.id;break}}return n?(e.NetworkController.providerConfig={...f,id:n},{...e,NetworkController:e.NetworkController}):e}var t,f;if((0,a.isObject)(e.NetworkController)){if(!(0,a.isObject)(e.NetworkController.providerConfig)){var n,s;null===(n=global.sentry)||void 0===n||null===(s=n.captureException)||void 0===s||s.call(n,new Error("typeof state.NetworkController.providerConfig is "+typeof e.NetworkController.providerConfig))}}else null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController));return e}(t.data),t},f.version=void 0;var a=e("@metamask/utils"),n=e("lodash");const s=f.version=89}}},{package:"$root$",file:"app/scripts/migrations/089.ts"}],[281,{"@metamask/utils":2950,lodash:4855,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=i,t.data=function(e){if(!(0,s.hasProperty)(e,"PhishingController"))return r.default.warn("typeof state.PhishingController is undefined"),e;if(!(0,s.isObject)(e.PhishingController)){var t,f;return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.PhishingController is "+typeof e.PhishingController)),e}if(!(0,s.hasProperty)(e.PhishingController,"listState"))return r.default.warn("typeof state.PhishingController.listState is "+typeof e.PhishingController),e;return delete e.PhishingController.listState,e}(t.data),t},f.version=void 0;var a,n=e("lodash"),s=e("@metamask/utils"),r=(a=e("loglevel"))&&a.__esModule?a:{default:a};const i=f.version=90}}},{package:"$root$",file:"app/scripts/migrations/090.ts"}],[282,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if((0,a.hasProperty)(e,"NetworkController")&&(0,a.isObject)(e.NetworkController)&&(0,a.hasProperty)(e.NetworkController,"networkConfigurations")&&(0,a.isObject)(e.NetworkController.networkConfigurations)){const{networkConfigurations:t}=e.NetworkController;for(const[e,f]of Object.entries(t))(0,a.isObject)(f)&&(f.chainId||delete t[e]);return e.NetworkController={...e.NetworkController,networkConfigurations:t},{...e,NetworkController:e.NetworkController}}var t,f;if((0,a.isObject)(e.NetworkController)){if(!(0,a.isObject)(e.NetworkController.networkConfigurations)){var n,s;null===(n=global.sentry)||void 0===n||null===(s=n.captureException)||void 0===s||s.call(n,new Error("typeof state.NetworkController.networkConfigurations is "+typeof e.NetworkController.networkConfigurations))}}else null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController));return e}(t.data),t},f.version=void 0;var a=e("@metamask/utils"),n=e("lodash");const s=f.version=91}}},{package:"$root$",file:"app/scripts/migrations/091.ts"}],[283,{"@metamask/utils":2950,lodash:4855,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=i,t.data=function(e){if(!(0,s.hasProperty)(e,"TokenListController"))return r.default.warn("Skipping migration, TokenListController state is missing"),e;var t,f;if(!(0,s.isObject)(e.TokenListController))return null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.TokenListController is "+typeof e.TokenListController)),e;if(!(0,s.hasProperty)(e.TokenListController,"tokensChainsCache"))return r.default.warn("Skipping migration, TokenListController.tokensChainsCache state is missing"),e;e.TokenListController.tokensChainsCache===undefined&&delete e.TokenListController.tokensChainsCache;return e}(t.data),t},f.version=void 0;var a,n=e("lodash"),s=e("@metamask/utils"),r=(a=e("loglevel"))&&a.__esModule?a:{default:a};const i=f.version=92.1}}},{package:"$root$",file:"app/scripts/migrations/092.1.ts"}],[284,{"@metamask/utils":2950,"@sentry/browser":3084,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,s.cloneDeep)(e);return t.meta.version=r,t.data=function(e){return function(e){const t=["networkId","networkStatus","providerConfig","networkDetails","networkConfigurations"];if(!(0,a.hasProperty)(e,"NetworkController")||!(0,s.isObject)(e.NetworkController))return(0,n.captureException)(`Migration ${r}: Invalid NetworkController state: ${typeof e.NetworkController}`),e;const f=e.NetworkController,i=(0,s.pick)(f,t);return{...e,NetworkController:i}}(e)}(t.data),t},f.version=void 0;var a=e("@metamask/utils"),n=e("@sentry/browser"),s=e("lodash");const r=f.version=92.2}}},{package:"$root$",file:"app/scripts/migrations/092.2.ts"}],[285,{"@metamask/utils":2950,lodash:4855,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,s.cloneDeep)(e);return t.meta.version=i,function(e){!function(e){if((0,n.isNullOrUndefined)(e.PreferencesController))return void r.default.warn(`Migration #${i}: preferences controller null or undefined, skipping migration`);if((0,n.hasProperty)(e,"AppStateController")&&(0,n.isObject)(e.AppStateController)&&(0,n.hasProperty)(e,"PreferencesController")&&(0,n.isObject)(e.PreferencesController)){var t;const f=null===(t=e.PreferencesController)||void 0===t?void 0:t.advancedGasFee,a=(0,n.isObject)(f)&&o(f);e.AppStateController.hadAdvancedGasFeesSetPriorToMigration92_3=a,(null===e.PreferencesController.advancedGasFee||(0,n.isObject)(e.PreferencesController.advancedGasFee)&&o(e.PreferencesController.advancedGasFee))&&(e.PreferencesController.advancedGasFee={})}else if(!1===(0,n.isObject)(e.AppStateController)){var f,a;null===(f=global.sentry)||void 0===f||null===(a=f.captureException)||void 0===a||a.call(f,new Error("typeof state.AppStateController is "+typeof e.AppStateController))}else if(!1===(0,n.isObject)(e.PreferencesController)){var s,c;null===(s=global.sentry)||void 0===s||null===(c=s.captureException)||void 0===c||c.call(s,new Error("typeof state.PreferencesController is "+typeof e.PreferencesController))}}(e)}(t.data),t},f.version=void 0;var a,n=e("@metamask/utils"),s=e("lodash"),r=(a=e("loglevel"))&&a.__esModule?a:{default:a};const i=f.version=92.3;function o(e){const t=Object.keys(e);return!(!t.includes("maxBaseFee")&&!t.includes("priorityFee"))}}}},{package:"$root$",file:"app/scripts/migrations/092.3.ts"}],[286,{"@metamask/utils":2950,lodash:4855,loglevel:4863},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,n.cloneDeep)(e);return t.meta.version=i,t.data=function(e){if((0,s.hasProperty)(e,"PhishingController")&&(0,s.isObject)(e.PhishingController))delete e.PhishingController.stalelistLastFetched,delete e.PhishingController.hotlistLastFetched;else if((0,s.hasProperty)(e,"PhishingController")){var t,f;null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.PhishingController is "+typeof e.PhishingController))}else r.default.warn("typeof state.PhishingController is undefined");return e}(t.data),t},f.version=void 0;var a,n=e("lodash"),s=e("@metamask/utils"),r=(a=e("loglevel"))&&a.__esModule?a:{default:a};const i=f.version=92}}},{package:"$root$",file:"app/scripts/migrations/092.ts"}],[287,{"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);return t.meta.version=s,t.data=function(e){if((0,n.hasProperty)(e,"NetworkController")&&(0,n.isObject)(e.NetworkController)&&(0,n.hasProperty)(e.NetworkController,"providerConfig")&&(0,n.isObject)(e.NetworkController.providerConfig)){const{providerConfig:t}=e.NetworkController;return t.ticker?e:(e.NetworkController.providerConfig={ticker:"ETH",...t},{...e,NetworkController:e.NetworkController})}var t,f;if((0,n.isObject)(e.NetworkController)){if((0,n.isObject)(e.NetworkController)&&!(0,n.isObject)(e.NetworkController.providerConfig)){var a,s;null===(a=global.sentry)||void 0===a||null===(s=a.captureException)||void 0===s||s.call(a,new Error("typeof state.NetworkController.providerConfig is "+typeof e.NetworkController.providerConfig))}}else null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController));return e}(t.data),t},f.version=void 0;var a=e("lodash"),n=e("@metamask/utils");const s=f.version=93}}},{package:"$root$",file:"app/scripts/migrations/093.ts"}],[288,{"@metamask/controller-utils":1474,"@metamask/network-controller":2176,"@metamask/utils":2950,lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);return t.meta.version=i,t.data=function(e){if((0,n.hasProperty)(e,"NetworkController")&&(0,n.isObject)(e.NetworkController)&&(0,n.hasProperty)(e.NetworkController,"providerConfig")&&(0,n.isObject)(e.NetworkController.providerConfig)&&((0,n.hasProperty)(e.NetworkController.providerConfig,"id")||(0,n.hasProperty)(e.NetworkController.providerConfig,"type")&&e.NetworkController.providerConfig.type!==r.NetworkType.rpc)){const t=e.NetworkController.providerConfig.id||e.NetworkController.providerConfig.type;if(!t||"string"!=typeof t)return e;const f={[t]:{EIPS:{},status:s.NetworkStatus.Unknown}};if((0,n.hasProperty)(e.NetworkController,"networkDetails")&&(0,n.isObject)(e.NetworkController.networkDetails)){const{networkDetails:a}=e.NetworkController;a.EIPS&&(0,n.isObject)(a.EIPS)&&(f[t].EIPS={...a.EIPS}),delete e.NetworkController.networkDetails}return(0,n.hasProperty)(e.NetworkController,"networkStatus")&&"string"==typeof e.NetworkController.networkStatus&&(f[t].status=e.NetworkController.networkStatus,delete e.NetworkController.networkStatus),{...e,NetworkController:{...e.NetworkController,networksMetadata:f,selectedNetworkClientId:t}}}var t,f;if((0,n.isObject)(e.NetworkController)){if((0,n.isObject)(e.NetworkController)&&!(0,n.isObject)(e.NetworkController.providerConfig)){var a,i;null===(a=global.sentry)||void 0===a||null===(i=a.captureException)||void 0===i||i.call(a,new Error("typeof state.NetworkController.providerConfig is "+typeof e.NetworkController.providerConfig))}else if((0,n.isObject)(e.NetworkController)&&(0,n.isObject)(e.NetworkController.providerConfig)){var o,c;null===(o=global.sentry)||void 0===o||null===(c=o.captureException)||void 0===c||c.call(o,new Error(`typeof state.NetworkController.providerConfig.id is ${typeof e.NetworkController.providerConfig.id} and state.NetworkController.providerConfig.type is ${e.NetworkController.providerConfig.type}`))}}else null===(t=global.sentry)||void 0===t||null===(f=t.captureException)||void 0===f||f.call(t,new Error("typeof state.NetworkController is "+typeof e.NetworkController));return e}(t.data),t},f.version=void 0;var a=e("lodash"),n=e("@metamask/utils"),s=e("@metamask/network-controller"),r=e("@metamask/controller-utils");const i=f.version=94}}},{package:"$root$",file:"app/scripts/migrations/094.ts"}],[2883,{},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){t.exports={hstBytecode:"0x6101406040523480156200001257600080fd5b506040516200323e3803806200323e83398181016040528101906200003891906200065b565b82806040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525085848682600390816200008491906200094c565b5081600490816200009691906200094c565b5080600560006101000a81548160ff021916908360ff160217905550505050620000d5620000c9620001ce60201b60201c565b620001d660201b60201c565b60008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a081815250506200013e8184846200029c60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050806101208181525050505050505050620001c433600560009054906101000a900460ff16600a620001ab919062000bb6565b86620001b8919062000c07565b620002d860201b60201c565b5050505062000dfb565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008383834630604051602001620002b995949392919062000cc3565b6040516020818303038152906040528051906020012090509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200034a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003419062000d81565b60405180910390fd5b6200035e600083836200044560201b60201c565b806002600082825462000372919062000da3565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000425919062000dde565b60405180910390a362000441600083836200044a60201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620004788162000463565b81146200048457600080fd5b50565b60008151905062000498816200046d565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004f382620004a8565b810181811067ffffffffffffffff82111715620005155762000514620004b9565b5b80604052505050565b60006200052a6200044f565b9050620005388282620004e8565b919050565b600067ffffffffffffffff8211156200055b576200055a620004b9565b5b6200056682620004a8565b9050602081019050919050565b60005b838110156200059357808201518184015260208101905062000576565b60008484015250505050565b6000620005b6620005b0846200053d565b6200051e565b905082815260208101848484011115620005d557620005d4620004a3565b5b620005e284828562000573565b509392505050565b600082601f8301126200060257620006016200049e565b5b8151620006148482602086016200059f565b91505092915050565b600060ff82169050919050565b62000635816200061d565b81146200064157600080fd5b50565b60008151905062000655816200062a565b92915050565b6000806000806080858703121562000678576200067762000459565b5b6000620006888782880162000487565b945050602085015167ffffffffffffffff811115620006ac57620006ab6200045e565b5b620006ba87828801620005ea565b9350506040620006cd8782880162000644565b925050606085015167ffffffffffffffff811115620006f157620006f06200045e565b5b620006ff87828801620005ea565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200075e57607f821691505b60208210810362000774576200077362000716565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007de7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200079f565b620007ea86836200079f565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200082d62000827620008218462000463565b62000802565b62000463565b9050919050565b6000819050919050565b62000849836200080c565b62000861620008588262000834565b848454620007ac565b825550505050565b600090565b6200087862000869565b620008858184846200083e565b505050565b5b81811015620008ad57620008a16000826200086e565b6001810190506200088b565b5050565b601f821115620008fc57620008c6816200077a565b620008d1846200078f565b81016020851015620008e1578190505b620008f9620008f0856200078f565b8301826200088a565b50505b505050565b600082821c905092915050565b6000620009216000198460080262000901565b1980831691505092915050565b60006200093c83836200090e565b9150826002028217905092915050565b62000957826200070b565b67ffffffffffffffff811115620009735762000972620004b9565b5b6200097f825462000745565b6200098c828285620008b1565b600060209050601f831160018114620009c45760008415620009af578287015190505b620009bb85826200092e565b86555062000a2b565b601f198416620009d4866200077a565b60005b82811015620009fe57848901518255600182019150602085019450602081019050620009d7565b8683101562000a1e578489015162000a1a601f8916826200090e565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000ac15780860481111562000a995762000a9862000a33565b5b600185161562000aa95780820291505b808102905062000ab98562000a62565b945062000a79565b94509492505050565b60008262000adc576001905062000baf565b8162000aec576000905062000baf565b816001811462000b05576002811462000b105762000b46565b600191505062000baf565b60ff84111562000b255762000b2462000a33565b5b8360020a91508482111562000b3f5762000b3e62000a33565b5b5062000baf565b5060208310610133831016604e8410600b841016171562000b805782820a90508381111562000b7a5762000b7962000a33565b5b62000baf565b62000b8f848484600162000a6f565b9250905081840481111562000ba95762000ba862000a33565b5b81810290505b9392505050565b600062000bc38262000463565b915062000bd0836200061d565b925062000bff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000aca565b905092915050565b600062000c148262000463565b915062000c218362000463565b925082820262000c318162000463565b9150828204841483151762000c4b5762000c4a62000a33565b5b5092915050565b6000819050919050565b62000c678162000c52565b82525050565b62000c788162000463565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cab8262000c7e565b9050919050565b62000cbd8162000c9e565b82525050565b600060a08201905062000cda600083018862000c5c565b62000ce9602083018762000c5c565b62000cf8604083018662000c5c565b62000d07606083018562000c6d565b62000d16608083018462000cb2565b9695505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000d69601f8362000d20565b915062000d768262000d31565b602082019050919050565b6000602082019050818103600083015262000d9c8162000d5a565b9050919050565b600062000db08262000463565b915062000dbd8362000463565b925082820190508082111562000dd85762000dd762000a33565b5b92915050565b600060208201905062000df5600083018462000c6d565b92915050565b60805160a05160c05160e05161010051610120516123f362000e4b6000396000610ed901526000610f1b01526000610efa01526000610e2f01526000610e8501526000610eae01526123f36000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146102e5578063a9059cbb14610315578063d505accf14610345578063dd62ed3e14610361578063f2fde38b1461039157610116565b8063715018a61461026f5780637ecebe00146102795780638da5cb5b146102a957806395d89b41146102c757610116565b8063313ce567116100e9578063313ce567146101b75780633644e515146101d557806339509351146101f357806340c10f191461022357806370a082311461023f57610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b6101236103ad565b60405161013091906115f5565b60405180910390f35b610153600480360381019061014e91906116b0565b61043f565b604051610160919061170b565b60405180910390f35b610171610462565b60405161017e9190611735565b60405180910390f35b6101a1600480360381019061019c9190611750565b61046c565b6040516101ae919061170b565b60405180910390f35b6101bf61049b565b6040516101cc91906117bf565b60405180910390f35b6101dd6104ae565b6040516101ea91906117f3565b60405180910390f35b61020d600480360381019061020891906116b0565b6104bd565b60405161021a919061170b565b60405180910390f35b61023d600480360381019061023891906116b0565b6104f4565b005b6102596004803603810190610254919061180e565b61050a565b6040516102669190611735565b60405180910390f35b610277610552565b005b610293600480360381019061028e919061180e565b610566565b6040516102a09190611735565b60405180910390f35b6102b16105b6565b6040516102be919061184a565b60405180910390f35b6102cf6105e0565b6040516102dc91906115f5565b60405180910390f35b6102ff60048036038101906102fa91906116b0565b610672565b60405161030c919061170b565b60405180910390f35b61032f600480360381019061032a91906116b0565b6106e9565b60405161033c919061170b565b60405180910390f35b61035f600480360381019061035a91906118bd565b61070c565b005b61037b6004803603810190610376919061195f565b61084e565b6040516103889190611735565b60405180910390f35b6103ab60048036038101906103a6919061180e565b6108d5565b005b6060600380546103bc906119ce565b80601f01602080910402602001604051908101604052809291908181526020018280546103e8906119ce565b80156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b5050505050905090565b60008061044a610958565b9050610457818585610960565b600191505092915050565b6000600254905090565b600080610477610958565b9050610484858285610b29565b61048f858585610bb5565b60019150509392505050565b600560009054906101000a900460ff1681565b60006104b8610e2b565b905090565b6000806104c8610958565b90506104e98185856104da858961084e565b6104e49190611a2e565b610960565b600191505092915050565b6104fc610f45565b6105068282610fc3565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61055a610f45565b6105646000611119565b565b60006105af600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206111df565b9050919050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546105ef906119ce565b80601f016020809104026020016040519081016040528092919081815260200182805461061b906119ce565b80156106685780601f1061063d57610100808354040283529160200191610668565b820191906000526020600020905b81548152906001019060200180831161064b57829003601f168201915b5050505050905090565b60008061067d610958565b9050600061068b828661084e565b9050838110156106d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c790611ad4565b60405180910390fd5b6106dd8286868403610960565b60019250505092915050565b6000806106f4610958565b9050610701818585610bb5565b600191505092915050565b8342111561074f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074690611b40565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861077e8c6111ed565b8960405160200161079496959493929190611b60565b60405160208183030381529060405280519060200120905060006107b78261124b565b905060006107c782878787611265565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90611c0d565b60405180910390fd5b6108428a8a8a610960565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108dd610f45565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361094c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094390611c9f565b60405180910390fd5b61095581611119565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c690611d31565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3590611dc3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b1c9190611735565b60405180910390a3505050565b6000610b35848461084e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610baf5781811015610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9890611e2f565b60405180910390fd5b610bae8484848403610960565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90611ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8a90611f53565b60405180910390fd5b610c9e838383611290565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90611fe5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e129190611735565b60405180910390a3610e25848484611295565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610ea757507f000000000000000000000000000000000000000000000000000000000000000046145b15610ed4577f00000000000000000000000000000000000000000000000000000000000000009050610f42565b610f3f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061129a565b90505b90565b610f4d610958565b73ffffffffffffffffffffffffffffffffffffffff16610f6b6105b6565b73ffffffffffffffffffffffffffffffffffffffff1614610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb890612051565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611032576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611029906120bd565b60405180910390fd5b61103e60008383611290565b80600260008282546110509190611a2e565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111019190611735565b60405180910390a361111560008383611295565b5050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061123a816111df565b9150611245816112d4565b50919050565b600061125e611258610e2b565b836112ea565b9050919050565b60008060006112768787878761131d565b91509150611283816113ff565b8192505050949350505050565b505050565b505050565b600083838346306040516020016112b59594939291906120dd565b6040516020818303038152906040528051906020012090509392505050565b6001816000016000828254019250508190555050565b600082826040516020016112ff9291906121a8565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156113585760006003915091506113f6565b60006001878787876040516000815260200160405260405161137d94939291906121df565b6020604051602081039080840390855afa15801561139f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113ed576000600192509250506113f6565b80600092509250505b94509492505050565b6000600481111561141357611412612224565b5b81600481111561142657611425612224565b5b031561156257600160048111156114405761143f612224565b5b81600481111561145357611452612224565b5b03611493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148a9061229f565b60405180910390fd5b600260048111156114a7576114a6612224565b5b8160048111156114ba576114b9612224565b5b036114fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f19061230b565b60405180910390fd5b6003600481111561150e5761150d612224565b5b81600481111561152157611520612224565b5b03611561576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115589061239d565b60405180910390fd5b5b50565b600081519050919050565b600082825260208201905092915050565b60005b8381101561159f578082015181840152602081019050611584565b60008484015250505050565b6000601f19601f8301169050919050565b60006115c782611565565b6115d18185611570565b93506115e1818560208601611581565b6115ea816115ab565b840191505092915050565b6000602082019050818103600083015261160f81846115bc565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116478261161c565b9050919050565b6116578161163c565b811461166257600080fd5b50565b6000813590506116748161164e565b92915050565b6000819050919050565b61168d8161167a565b811461169857600080fd5b50565b6000813590506116aa81611684565b92915050565b600080604083850312156116c7576116c6611617565b5b60006116d585828601611665565b92505060206116e68582860161169b565b9150509250929050565b60008115159050919050565b611705816116f0565b82525050565b600060208201905061172060008301846116fc565b92915050565b61172f8161167a565b82525050565b600060208201905061174a6000830184611726565b92915050565b60008060006060848603121561176957611768611617565b5b600061177786828701611665565b935050602061178886828701611665565b92505060406117998682870161169b565b9150509250925092565b600060ff82169050919050565b6117b9816117a3565b82525050565b60006020820190506117d460008301846117b0565b92915050565b6000819050919050565b6117ed816117da565b82525050565b600060208201905061180860008301846117e4565b92915050565b60006020828403121561182457611823611617565b5b600061183284828501611665565b91505092915050565b6118448161163c565b82525050565b600060208201905061185f600083018461183b565b92915050565b61186e816117a3565b811461187957600080fd5b50565b60008135905061188b81611865565b92915050565b61189a816117da565b81146118a557600080fd5b50565b6000813590506118b781611891565b92915050565b600080600080600080600060e0888a0312156118dc576118db611617565b5b60006118ea8a828b01611665565b97505060206118fb8a828b01611665565b965050604061190c8a828b0161169b565b955050606061191d8a828b0161169b565b945050608061192e8a828b0161187c565b93505060a061193f8a828b016118a8565b92505060c06119508a828b016118a8565b91505092959891949750929550565b6000806040838503121561197657611975611617565b5b600061198485828601611665565b925050602061199585828601611665565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806119e657607f821691505b6020821081036119f9576119f861199f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611a398261167a565b9150611a448361167a565b9250828201905080821115611a5c57611a5b6119ff565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611abe602583611570565b9150611ac982611a62565b604082019050919050565b60006020820190508181036000830152611aed81611ab1565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000611b2a601d83611570565b9150611b3582611af4565b602082019050919050565b60006020820190508181036000830152611b5981611b1d565b9050919050565b600060c082019050611b7560008301896117e4565b611b82602083018861183b565b611b8f604083018761183b565b611b9c6060830186611726565b611ba96080830185611726565b611bb660a0830184611726565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000611bf7601e83611570565b9150611c0282611bc1565b602082019050919050565b60006020820190508181036000830152611c2681611bea565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611c89602683611570565b9150611c9482611c2d565b604082019050919050565b60006020820190508181036000830152611cb881611c7c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611d1b602483611570565b9150611d2682611cbf565b604082019050919050565b60006020820190508181036000830152611d4a81611d0e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611dad602283611570565b9150611db882611d51565b604082019050919050565b60006020820190508181036000830152611ddc81611da0565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611e19601d83611570565b9150611e2482611de3565b602082019050919050565b60006020820190508181036000830152611e4881611e0c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611eab602583611570565b9150611eb682611e4f565b604082019050919050565b60006020820190508181036000830152611eda81611e9e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611f3d602383611570565b9150611f4882611ee1565b604082019050919050565b60006020820190508181036000830152611f6c81611f30565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611fcf602683611570565b9150611fda82611f73565b604082019050919050565b60006020820190508181036000830152611ffe81611fc2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061203b602083611570565b915061204682612005565b602082019050919050565b6000602082019050818103600083015261206a8161202e565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006120a7601f83611570565b91506120b282612071565b602082019050919050565b600060208201905081810360008301526120d68161209a565b9050919050565b600060a0820190506120f260008301886117e4565b6120ff60208301876117e4565b61210c60408301866117e4565b6121196060830185611726565b612126608083018461183b565b9695505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000612171600283612130565b915061217c8261213b565b600282019050919050565b6000819050919050565b6121a261219d826117da565b612187565b82525050565b60006121b382612164565b91506121bf8285612191565b6020820191506121cf8284612191565b6020820191508190509392505050565b60006080820190506121f460008301876117e4565b61220160208301866117b0565b61220e60408301856117e4565b61221b60608301846117e4565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000612289601883611570565b915061229482612253565b602082019050919050565b600060208201905081810360008301526122b88161227c565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006122f5601f83611570565b9150612300826122bf565b602082019050919050565b60006020820190508181036000830152612324816122e8565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612387602283611570565b91506123928261232b565b604082019050919050565b600060208201905081810360008301526123b68161237a565b905091905056fea26469706673582212205e8d7bb733a28b307c6266e71d7fce8f78067e564cdf5e388464ca543c2ea25b64736f6c63430008120033",hstAbi:[{inputs:[{internalType:"uint256",name:"initialAmount",type:"uint256"},{internalType:"string",name:"tokenName",type:"string"},{internalType:"uint8",name:"decimalUnits",type:"uint8"},{internalType:"string",name:"tokenSymbol",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],piggybankBytecode:"0x608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808190555061023b806100686000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632e1a7d4d1461005c5780638da5cb5b1461009d578063d0e30db0146100f4575b600080fd5b34801561006857600080fd5b5061008760048036038101908080359060200190929190505050610112565b6040518082815260200191505060405180910390f35b3480156100a957600080fd5b506100b26101d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100fc6101f6565b6040518082815260200191505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561017057600080fd5b8160008082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156101c5573d6000803e3d6000fd5b506000549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003460008082825401925050819055506000549050905600a165627a7a72305820f237db3ec816a52589d82512117bc85bc08d3537683ffeff9059108caf3e5d400029",piggybankAbi:[{constant:!1,inputs:[{name:"withdrawAmount",type:"uint256"}],name:"withdraw",outputs:[{name:"remainingBal",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[{name:"",type:"uint256"}],payable:!0,stateMutability:"payable",type:"function"},{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"}],nftsAbi:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"currentTokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"numberOfTokens",type:"uint256"}],name:"mintNFTs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],nftsBytecode:"0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020017f54657374446170704e46547300000000000000000000000000000000000000008152506040518060400160405280600381526020017f54444e000000000000000000000000000000000000000000000000000000000081525081600090816200008f919062000324565b508060019081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b612be6806200041b6000396000f3fe608060405234801561001057600080fd5b50600436106100f45760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb46514610283578063b88d4fde1461029f578063c87b56dd146102bb578063e985e9c5146102eb576100f4565b806342842e0e146101e95780636352211e1461020557806370a082311461023557806395d89b4114610265576100f4565b8063081812fc116100d3578063081812fc14610165578063095ea7b31461019557806323b872dd146101b15780633b4b1381146101cd576100f4565b80629a9b7b146100f957806301ffc9a71461011757806306fdde0314610147575b600080fd5b61010161031b565b60405161010e91906119ac565b60405180910390f35b610131600480360381019061012c9190611a33565b61032c565b60405161013e9190611a7b565b60405180910390f35b61014f61040e565b60405161015c9190611b26565b60405180910390f35b61017f600480360381019061017a9190611b74565b6104a0565b60405161018c9190611be2565b60405180910390f35b6101af60048036038101906101aa9190611c29565b6104e6565b005b6101cb60048036038101906101c69190611c69565b6105fd565b005b6101e760048036038101906101e29190611b74565b61065d565b005b61020360048036038101906101fe9190611c69565b6106ac565b005b61021f600480360381019061021a9190611b74565b6106cc565b60405161022c9190611be2565b60405180910390f35b61024f600480360381019061024a9190611cbc565b610752565b60405161025c91906119ac565b60405180910390f35b61026d610809565b60405161027a9190611b26565b60405180910390f35b61029d60048036038101906102989190611d15565b61089b565b005b6102b960048036038101906102b49190611e8a565b6108b1565b005b6102d560048036038101906102d09190611b74565b610913565b6040516102e29190611b26565b60405180910390f35b61030560048036038101906103009190611f0d565b6109ac565b6040516103129190611a7b565b60405180910390f35b60006103276006610a40565b905090565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103f757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610407575061040682610a4e565b5b9050919050565b60606000805461041d90611f7c565b80601f016020809104026020016040519081016040528092919081815260200182805461044990611f7c565b80156104965780601f1061046b57610100808354040283529160200191610496565b820191906000526020600020905b81548152906001019060200180831161047957829003601f168201915b5050505050905090565b60006104ab82610ab8565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104f1826106cc565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610561576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105589061201f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610580610b03565b73ffffffffffffffffffffffffffffffffffffffff1614806105af57506105ae816105a9610b03565b6109ac565b5b6105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e5906120b1565b60405180910390fd5b6105f88383610b0b565b505050565b61060e610608610b03565b82610bc4565b61064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064490612143565b60405180910390fd5b610658838383610c59565b505050565b6000600190505b8181116106a8576106756006610f52565b60006106816006610a40565b905061069461068e610b03565b82610f68565b5080806106a090612192565b915050610664565b5050565b6106c7838383604051806020016040528060008152506108b1565b505050565b6000806106d883610f86565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074090612226565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b9906122b8565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461081890611f7c565b80601f016020809104026020016040519081016040528092919081815260200182805461084490611f7c565b80156108915780601f1061086657610100808354040283529160200191610891565b820191906000526020600020905b81548152906001019060200180831161087457829003601f168201915b5050505050905090565b6108ad6108a6610b03565b8383610fc3565b5050565b6108c26108bc610b03565b83610bc4565b610901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890612143565b60405180910390fd5b61090d8484848461112f565b50505050565b6060600060405180610160016040528061013c8152602001612a7561013c9139905060006109408461118b565b61094983611259565b6109528661118b565b604051602001610964939291906124b6565b6040516020818303038152906040529050600061098082611259565b604051602001610990919061255f565b6040516020818303038152906040529050809350505050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600081600001549050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610ac1816113d1565b610b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af790612226565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610b7e836106cc565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610bd0836106cc565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610c125750610c1181856109ac565b5b80610c5057508373ffffffffffffffffffffffffffffffffffffffff16610c38846104a0565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610c79826106cc565b73ffffffffffffffffffffffffffffffffffffffff1614610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc6906125f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3590612685565b60405180910390fd5b610d4b8383836001611412565b8273ffffffffffffffffffffffffffffffffffffffff16610d6b826106cc565b73ffffffffffffffffffffffffffffffffffffffff1614610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db8906125f3565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610f4d8383836001611418565b505050565b6001816000016000828254019250508190555050565b610f8282826040518060200160405280600081525061141e565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611031576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611028906126f1565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111229190611a7b565b60405180910390a3505050565b61113a848484610c59565b61114684848484611479565b611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90612783565b60405180910390fd5b50505050565b60606000600161119a84611600565b01905060008167ffffffffffffffff8111156111b9576111b8611d5f565b5b6040519080825280601f01601f1916602001820160405280156111eb5781602001600182028036833780820191505090505b509050600082602001820190505b60011561124e578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611242576112416127a3565b5b049450600085036111f9575b819350505050919050565b6060600082510361127b576040518060200160405280600081525090506113cc565b6000604051806060016040528060408152602001612a3560409139905060006003600285516112aa91906127d2565b6112b49190612806565b60046112c09190612837565b905060006020826112d191906127d2565b67ffffffffffffffff8111156112ea576112e9611d5f565b5b6040519080825280601f01601f19166020018201604052801561131c5781602001600182028036833780820191505090505b509050818152600183018586518101602084015b8183101561138b576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f8116850151825360018201915050611330565b6003895106600181146113a557600281146113b5576113c0565b613d3d60f01b60028303526113c0565b603d60f81b60018303525b50505050508093505050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff166113f383610f86565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b6114288383611753565b6114356000848484611479565b611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b90612783565b60405180910390fd5b505050565b600061149a8473ffffffffffffffffffffffffffffffffffffffff16611970565b156115f3578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026114c3610b03565b8786866040518563ffffffff1660e01b81526004016114e594939291906128ce565b6020604051808303816000875af192505050801561152157506040513d601f19601f8201168201806040525081019061151e919061292f565b60015b6115a3573d8060008114611551576040519150601f19603f3d011682016040523d82523d6000602084013e611556565b606091505b50600081510361159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290612783565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506115f8565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061165e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611654576116536127a3565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061169b576d04ee2d6d415b85acef81000000008381611691576116906127a3565b5b0492506020810190505b662386f26fc1000083106116ca57662386f26fc1000083816116c0576116bf6127a3565b5b0492506010810190505b6305f5e10083106116f3576305f5e10083816116e9576116e86127a3565b5b0492506008810190505b612710831061171857612710838161170e5761170d6127a3565b5b0492506004810190505b6064831061173b5760648381611731576117306127a3565b5b0492506002810190505b600a831061174a576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b9906129a8565b60405180910390fd5b6117cb816113d1565b1561180b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180290612a14565b60405180910390fd5b611819600083836001611412565b611822816113d1565b15611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185990612a14565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461196c600083836001611418565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b6119a681611993565b82525050565b60006020820190506119c1600083018461199d565b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a10816119db565b8114611a1b57600080fd5b50565b600081359050611a2d81611a07565b92915050565b600060208284031215611a4957611a486119d1565b5b6000611a5784828501611a1e565b91505092915050565b60008115159050919050565b611a7581611a60565b82525050565b6000602082019050611a906000830184611a6c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ad0578082015181840152602081019050611ab5565b60008484015250505050565b6000601f19601f8301169050919050565b6000611af882611a96565b611b028185611aa1565b9350611b12818560208601611ab2565b611b1b81611adc565b840191505092915050565b60006020820190508181036000830152611b408184611aed565b905092915050565b611b5181611993565b8114611b5c57600080fd5b50565b600081359050611b6e81611b48565b92915050565b600060208284031215611b8a57611b896119d1565b5b6000611b9884828501611b5f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611bcc82611ba1565b9050919050565b611bdc81611bc1565b82525050565b6000602082019050611bf76000830184611bd3565b92915050565b611c0681611bc1565b8114611c1157600080fd5b50565b600081359050611c2381611bfd565b92915050565b60008060408385031215611c4057611c3f6119d1565b5b6000611c4e85828601611c14565b9250506020611c5f85828601611b5f565b9150509250929050565b600080600060608486031215611c8257611c816119d1565b5b6000611c9086828701611c14565b9350506020611ca186828701611c14565b9250506040611cb286828701611b5f565b9150509250925092565b600060208284031215611cd257611cd16119d1565b5b6000611ce084828501611c14565b91505092915050565b611cf281611a60565b8114611cfd57600080fd5b50565b600081359050611d0f81611ce9565b92915050565b60008060408385031215611d2c57611d2b6119d1565b5b6000611d3a85828601611c14565b9250506020611d4b85828601611d00565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d9782611adc565b810181811067ffffffffffffffff82111715611db657611db5611d5f565b5b80604052505050565b6000611dc96119c7565b9050611dd58282611d8e565b919050565b600067ffffffffffffffff821115611df557611df4611d5f565b5b611dfe82611adc565b9050602081019050919050565b82818337600083830152505050565b6000611e2d611e2884611dda565b611dbf565b905082815260208101848484011115611e4957611e48611d5a565b5b611e54848285611e0b565b509392505050565b600082601f830112611e7157611e70611d55565b5b8135611e81848260208601611e1a565b91505092915050565b60008060008060808587031215611ea457611ea36119d1565b5b6000611eb287828801611c14565b9450506020611ec387828801611c14565b9350506040611ed487828801611b5f565b925050606085013567ffffffffffffffff811115611ef557611ef46119d6565b5b611f0187828801611e5c565b91505092959194509250565b60008060408385031215611f2457611f236119d1565b5b6000611f3285828601611c14565b9250506020611f4385828601611c14565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611f9457607f821691505b602082108103611fa757611fa6611f4d565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612009602183611aa1565b915061201482611fad565b604082019050919050565b6000602082019050818103600083015261203881611ffc565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061209b603d83611aa1565b91506120a68261203f565b604082019050919050565b600060208201905081810360008301526120ca8161208e565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b600061212d602d83611aa1565b9150612138826120d1565b604082019050919050565b6000602082019050818103600083015261215c81612120565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061219d82611993565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121cf576121ce612163565b5b600182019050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612210601883611aa1565b915061221b826121da565b602082019050919050565b6000602082019050818103600083015261223f81612203565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006122a2602983611aa1565b91506122ad82612246565b604082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b600081905092915050565b7f7b226e616d65223a2022546573742044617070204e4654732023000000000000600082015250565b6000612319601a836122d8565b9150612324826122e3565b601a82019050919050565b600061233a82611a96565b61234481856122d8565b9350612354818560208601611ab2565b80840191505092915050565b7f222c20226465736372697074696f6e223a2022546573742044617070204e465460008201527f7320666f722074657374696e672e222c2022696d616765223a2022646174613a60208201527f696d6167652f7376672b786d6c3b6261736536342c0000000000000000000000604082015250565b60006123e26055836122d8565b91506123ed82612360565b605582019050919050565b7f222c202261747472696275746573223a205b7b2274726169745f74797065223a60008201527f2022546f6b656e204964222c202276616c7565223a2022000000000000000000602082015250565b60006124546037836122d8565b915061245f826123f8565b603782019050919050565b7f227d5d7d00000000000000000000000000000000000000000000000000000000600082015250565b60006124a06004836122d8565b91506124ab8261246a565b600482019050919050565b60006124c18261230c565b91506124cd828661232f565b91506124d8826123d5565b91506124e4828561232f565b91506124ef82612447565b91506124fb828461232f565b915061250682612493565b9150819050949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000612549601d836122d8565b915061255482612513565b601d82019050919050565b600061256a8261253c565b9150612576828461232f565b915081905092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006125dd602583611aa1565b91506125e882612581565b604082019050919050565b6000602082019050818103600083015261260c816125d0565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061266f602483611aa1565b915061267a82612613565b604082019050919050565b6000602082019050818103600083015261269e81612662565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006126db601983611aa1565b91506126e6826126a5565b602082019050919050565b6000602082019050818103600083015261270a816126ce565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061276d603283611aa1565b915061277882612711565b604082019050919050565b6000602082019050818103600083015261279c81612760565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127dd82611993565b91506127e883611993565b9250828201905080821115612800576127ff612163565b5b92915050565b600061281182611993565b915061281c83611993565b92508261282c5761282b6127a3565b5b828204905092915050565b600061284282611993565b915061284d83611993565b925082820261285b81611993565b9150828204841483151761287257612871612163565b5b5092915050565b600081519050919050565b600082825260208201905092915050565b60006128a082612879565b6128aa8185612884565b93506128ba818560208601611ab2565b6128c381611adc565b840191505092915050565b60006080820190506128e36000830187611bd3565b6128f06020830186611bd3565b6128fd604083018561199d565b818103606083015261290f8184612895565b905095945050505050565b60008151905061292981611a07565b92915050565b600060208284031215612945576129446119d1565b5b60006129538482850161291a565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000612992602083611aa1565b915061299d8261295c565b602082019050919050565b600060208201905081810360008301526129c181612985565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006129fe601c83611aa1565b9150612a09826129c8565b602082019050919050565b60006020820190508181036000830152612a2d816129f1565b905091905056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c737667206865696768743d22333530222077696474683d22333530222076696577426f783d2230203020313030203130302220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f737667223e3c646566733e3c706174682069643d224d7950617468222066696c6c3d226e6f6e6522207374726f6b653d227265642220643d224d31302c3930205139302c39302039302c3435205139302c31302035302c3130205131302c31302031302c3430205131302c37302034352c3730205137302c37302037352c353022202f3e3c2f646566733e3c746578743e3c746578745061746820687265663d22234d7950617468223e517569636b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920646f672e3c2f74657874506174683e3c2f746578743e3c2f7376673ea2646970667358221220922487cf7bfec55ad9cf0c646397333bb79204b1a8ef63134f78b23d697570ef64736f6c63430008120033",failingContractAbi:[{payable:!0,stateMutability:"payable",type:"fallback"}],failingContractBytecode:"0x6080604052348015600f57600080fd5b50608b8061001e6000396000f3fe6080604052610fff3411600e57fe5b3373ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156053573d6000803e3d6000fd5b5000fea265627a7a72315820631b0dbb6b871cdbfdec2773af15ebfb8e52c794cf836fe27ec21f1aed17180f64736f6c634300050c0032",multisigBytecode:"0x60806040523480156200001157600080fd5b50600060405180606001604052807307be9763a718c0539017e2ab6fc42853b4aeeb6b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731c53dc20d1e36ed8359250de626acae36bd28a2973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733ebf9d63c3ae5d70b252a885d65168960102e7f873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250905060006001905060005b6003811015620002f65760008382600381106200011c576200011b62000306565b5b60200201519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000195576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200018c9062000396565b60405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161562000225576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200021c9062000408565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508080620002ed9062000463565b915050620000fa565b50806002819055505050620004b0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f696e76616c6964206f776e657200000000000000000000000000000000000000600082015250565b60006200037e600d8362000335565b91506200038b8262000346565b602082019050919050565b60006020820190508181036000830152620003b1816200036f565b9050919050565b7f6f776e6572206e6f7420756e6971756500000000000000000000000000000000600082015250565b6000620003f060108362000335565b9150620003fd82620003b8565b602082019050919050565b600060208201905081810360008301526200042381620003e1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000620004708262000459565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620004a557620004a46200042a565b5b600182019050919050565b611e6b80620004c06000396000f3fe6080604052600436106100ab5760003560e01c80639ace38c2116100645780639ace38c214610253578063a0e67e2b14610294578063c01a8c84146102bf578063c6427474146102e8578063d0549b8514610311578063ee22610b1461033c57610102565b8063025e7c271461010757806320ea8d86146101445780632e7700f01461016d5780632f54bf6e1461019857806333ea3dc8146101d557806380f59a651461021657610102565b36610102573373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1534476040516100f892919061116d565b60405180910390a2005b600080fd5b34801561011357600080fd5b5061012e600480360381019061012991906111d6565b610365565b60405161013b9190611244565b60405180910390f35b34801561015057600080fd5b5061016b600480360381019061016691906111d6565b6103a4565b005b34801561017957600080fd5b5061018261067e565b60405161018f919061125f565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba91906112a6565b61068b565b6040516101cc91906112ee565b60405180910390f35b3480156101e157600080fd5b506101fc60048036038101906101f791906111d6565b6106ab565b60405161020d959493929190611399565b60405180910390f35b34801561022257600080fd5b5061023d600480360381019061023891906113f3565b6107be565b60405161024a91906112ee565b60405180910390f35b34801561025f57600080fd5b5061027a600480360381019061027591906111d6565b6107ed565b60405161028b959493929190611399565b60405180910390f35b3480156102a057600080fd5b506102a96108e8565b6040516102b691906114f1565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e191906111d6565b610976565b005b3480156102f457600080fd5b5061030f600480360381019061030a9190611648565b610c53565b005b34801561031d57600080fd5b50610326610e56565b604051610333919061125f565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e91906111d6565b610e5c565b005b6000818154811061037557600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042790611714565b60405180910390fd5b806004805490508110610478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046f90611780565b60405180910390fd5b816004818154811061048d5761048c6117a0565b5b906000526020600020906005020160030160009054906101000a900460ff16156104ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e39061181b565b60405180910390fd5b600060048481548110610502576105016117a0565b5b906000526020600020906005020190506003600085815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166105af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a690611887565b60405180910390fd5b60018160040160008282546105c491906118d6565b9250508190555060006003600086815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550833373ffffffffffffffffffffffffffffffffffffffff167ff0dca620e2e81f7841d07bcc105e1704fb01475b278a9d4c236e1c62945edd5560405160405180910390a350505050565b6000600480549050905090565b60016020528060005260406000206000915054906101000a900460ff1681565b60008060606000806000600487815481106106c9576106c86117a0565b5b906000526020600020906005020190508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010154826002018360030160009054906101000a900460ff16846004015482805461072a90611939565b80601f016020809104026020016040519081016040528092919081815260200182805461075690611939565b80156107a35780601f10610778576101008083540402835291602001916107a3565b820191906000526020600020905b81548152906001019060200180831161078657829003601f168201915b50505050509250955095509550955095505091939590929450565b60036020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600481815481106107fd57600080fd5b90600052602060002090600502016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201805461084c90611939565b80601f016020809104026020016040519081016040528092919081815260200182805461087890611939565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060030160009054906101000a900460ff16908060040154905085565b6060600080548060200260200160405190810160405280929190818152602001828054801561096c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610922575b5050505050905090565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611714565b60405180910390fd5b806004805490508110610a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4190611780565b60405180910390fd5b8160048181548110610a5f57610a5e6117a0565b5b906000526020600020906005020160030160009054906101000a900460ff1615610abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab59061181b565b60405180910390fd5b826003600082815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b54906119b6565b60405180910390fd5b600060048581548110610b7357610b726117a0565b5b906000526020600020906005020190506001816004016000828254610b9891906119d6565b9250508190555060016003600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f5cbe105e36805f7820e291f799d5794ff948af2a5f664e580382defb6339004160405160405180910390a35050505050565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd690611714565b60405180910390fd5b6000600480549050905060046040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581526020016000815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019081610dbb9190611bb6565b5060608201518160030160006101000a81548160ff0219169083151502179055506080820151816004015550508373ffffffffffffffffffffffffffffffffffffffff16813373ffffffffffffffffffffffffffffffffffffffff167fd5a05bf70715ad82a09a756320284a1b54c9ff74cd0f8cce6219e79b563fe59d8686604051610e48929190611c88565b60405180910390a450505050565b60025481565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edf90611714565b60405180910390fd5b806004805490508110610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2790611780565b60405180910390fd5b8160048181548110610f4557610f446117a0565b5b906000526020600020906005020160030160009054906101000a900460ff1615610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b9061181b565b60405180910390fd5b600060048481548110610fba57610fb96117a0565b5b9060005260206000209060050201905060025481600401541015611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a90611d04565b60405180910390fd5b60018160030160006101000a81548160ff02191690831515021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260010154836002016040516110839190611db2565b60006040518083038185875af1925050503d80600081146110c0576040519150601f19603f3d011682016040523d82523d6000602084013e6110c5565b606091505b5050905080611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090611e15565b60405180910390fd5b843373ffffffffffffffffffffffffffffffffffffffff167f5445f318f4f5fcfb66592e68e0cc5822aa15664039bd5f0ffde24c5a8142b1ac60405160405180910390a35050505050565b6000819050919050565b61116781611154565b82525050565b6000604082019050611182600083018561115e565b61118f602083018461115e565b9392505050565b6000604051905090565b600080fd5b600080fd5b6111b381611154565b81146111be57600080fd5b50565b6000813590506111d0816111aa565b92915050565b6000602082840312156111ec576111eb6111a0565b5b60006111fa848285016111c1565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061122e82611203565b9050919050565b61123e81611223565b82525050565b60006020820190506112596000830184611235565b92915050565b6000602082019050611274600083018461115e565b92915050565b61128381611223565b811461128e57600080fd5b50565b6000813590506112a08161127a565b92915050565b6000602082840312156112bc576112bb6111a0565b5b60006112ca84828501611291565b91505092915050565b60008115159050919050565b6112e8816112d3565b82525050565b600060208201905061130360008301846112df565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611343578082015181840152602081019050611328565b60008484015250505050565b6000601f19601f8301169050919050565b600061136b82611309565b6113758185611314565b9350611385818560208601611325565b61138e8161134f565b840191505092915050565b600060a0820190506113ae6000830188611235565b6113bb602083018761115e565b81810360408301526113cd8186611360565b90506113dc60608301856112df565b6113e9608083018461115e565b9695505050505050565b6000806040838503121561140a576114096111a0565b5b6000611418858286016111c1565b925050602061142985828601611291565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61146881611223565b82525050565b600061147a838361145f565b60208301905092915050565b6000602082019050919050565b600061149e82611433565b6114a8818561143e565b93506114b38361144f565b8060005b838110156114e45781516114cb888261146e565b97506114d683611486565b9250506001810190506114b7565b5085935050505092915050565b6000602082019050818103600083015261150b8184611493565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115558261134f565b810181811067ffffffffffffffff821117156115745761157361151d565b5b80604052505050565b6000611587611196565b9050611593828261154c565b919050565b600067ffffffffffffffff8211156115b3576115b261151d565b5b6115bc8261134f565b9050602081019050919050565b82818337600083830152505050565b60006115eb6115e684611598565b61157d565b90508281526020810184848401111561160757611606611518565b5b6116128482856115c9565b509392505050565b600082601f83011261162f5761162e611513565b5b813561163f8482602086016115d8565b91505092915050565b600080600060608486031215611661576116606111a0565b5b600061166f86828701611291565b9350506020611680868287016111c1565b925050604084013567ffffffffffffffff8111156116a1576116a06111a5565b5b6116ad8682870161161a565b9150509250925092565b600082825260208201905092915050565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b60006116fe6009836116b7565b9150611709826116c8565b602082019050919050565b6000602082019050818103600083015261172d816116f1565b9050919050565b7f747820646f6573206e6f74206578697374000000000000000000000000000000600082015250565b600061176a6011836116b7565b915061177582611734565b602082019050919050565b600060208201905081810360008301526117998161175d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f747820616c726561647920657865637574656400000000000000000000000000600082015250565b60006118056013836116b7565b9150611810826117cf565b602082019050919050565b60006020820190508181036000830152611834816117f8565b9050919050565b7f7478206e6f7420636f6e6669726d656400000000000000000000000000000000600082015250565b60006118716010836116b7565b915061187c8261183b565b602082019050919050565b600060208201905081810360008301526118a081611864565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118e182611154565b91506118ec83611154565b9250828203905081811115611904576119036118a7565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061195157607f821691505b6020821081036119645761196361190a565b5b50919050565b7f747820616c726561647920636f6e6669726d6564000000000000000000000000600082015250565b60006119a06014836116b7565b91506119ab8261196a565b602082019050919050565b600060208201905081810360008301526119cf81611993565b9050919050565b60006119e182611154565b91506119ec83611154565b9250828201905080821115611a0457611a036118a7565b5b92915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611a6c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611a2f565b611a768683611a2f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611ab3611aae611aa984611154565b611a8e565b611154565b9050919050565b6000819050919050565b611acd83611a98565b611ae1611ad982611aba565b848454611a3c565b825550505050565b600090565b611af6611ae9565b611b01818484611ac4565b505050565b5b81811015611b2557611b1a600082611aee565b600181019050611b07565b5050565b601f821115611b6a57611b3b81611a0a565b611b4484611a1f565b81016020851015611b53578190505b611b67611b5f85611a1f565b830182611b06565b50505b505050565b600082821c905092915050565b6000611b8d60001984600802611b6f565b1980831691505092915050565b6000611ba68383611b7c565b9150826002028217905092915050565b611bbf82611309565b67ffffffffffffffff811115611bd857611bd761151d565b5b611be28254611939565b611bed828285611b29565b600060209050601f831160018114611c205760008415611c0e578287015190505b611c188582611b9a565b865550611c80565b601f198416611c2e86611a0a565b60005b82811015611c5657848901518255600182019150602085019450602081019050611c31565b86831015611c735784890151611c6f601f891682611b7c565b8355505b6001600288020188555050505b505050505050565b6000604082019050611c9d600083018561115e565b8181036020830152611caf8184611360565b90509392505050565b7f63616e6e6f742065786563757465207478000000000000000000000000000000600082015250565b6000611cee6011836116b7565b9150611cf982611cb8565b602082019050919050565b60006020820190508181036000830152611d1d81611ce1565b9050919050565b600081905092915050565b60008154611d3c81611939565b611d468186611d24565b94506001821660008114611d615760018114611d7657611da9565b60ff1983168652811515820286019350611da9565b611d7f85611a0a565b60005b83811015611da157815481890152600182019150602081019050611d82565b838801955050505b50505092915050565b6000611dbe8284611d2f565b915081905092915050565b7f7478206661696c65640000000000000000000000000000000000000000000000600082015250565b6000611dff6009836116b7565b9150611e0a82611dc9565b602082019050919050565b60006020820190508181036000830152611e2e81611df2565b905091905056fea2646970667358221220e80b06134352e414f93f26d7441824c8082a405d8e55c88888f0cb1868b6c4bf64736f6c63430008110033",multisigAbi:[{inputs:[{internalType:"uint256",name:"_txIndex",type:"uint256"}],name:"confirmTransaction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"uint256",name:"txIndex",type:"uint256"}],name:"ConfirmTransaction",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"balance",type:"uint256"}],name:"Deposit",type:"event"},{inputs:[{internalType:"uint256",name:"_txIndex",type:"uint256"}],name:"executeTransaction",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"uint256",name:"txIndex",type:"uint256"}],name:"ExecuteTransaction",type:"event"},{inputs:[{internalType:"uint256",name:"_txIndex",type:"uint256"}],name:"revokeConfirmation",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"uint256",name:"txIndex",type:"uint256"}],name:"RevokeConfirmation",type:"event"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_value",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"submitTransaction",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"uint256",name:"txIndex",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"SubmitTransaction",type:"event"},{stateMutability:"payable",type:"receive"},{inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_txIndex",type:"uint256"}],name:"getTransaction",outputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bool",name:"executed",type:"bool"},{internalType:"uint256",name:"numConfirmations",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTransactionCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"address",name:"",type:"address"}],name:"isConfirmed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"numConfirmationsRequired",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"owners",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"transactions",outputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bool",name:"executed",type:"bool"},{internalType:"uint256",name:"numConfirmations",type:"uint256"}],stateMutability:"view",type:"function"}],erc1155Abi:[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"data",type:"bytes"}],name:"mintBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeBatchTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newuri",type:"string"}],name:"setURI",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"values",type:"uint256[]"}],name:"TransferBatch",type:"event"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"id",type:"uint256"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"TransferSingle",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"value",type:"string"},{indexed:!0,internalType:"uint256",name:"id",type:"uint256"}],name:"URI",type:"event"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts",type:"address[]"},{internalType:"uint256[]",name:"ids",type:"uint256[]"}],name:"balanceOfBatch",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenid",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],erc1155Bytecode:"0x60806040523480156200001157600080fd5b5060405180608001604052806043815260200162003893604391396200003d816200006460201b60201c565b506200005e620000526200007960201b60201c565b6200008160201b60201c565b620004a8565b8060029081620000759190620003c1565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001c957607f821691505b602082108103620001df57620001de62000181565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200020a565b6200025586836200020a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620002a26200029c62000296846200026d565b62000277565b6200026d565b9050919050565b6000819050919050565b620002be8362000281565b620002d6620002cd82620002a9565b84845462000217565b825550505050565b600090565b620002ed620002de565b620002fa818484620002b3565b505050565b5b81811015620003225762000316600082620002e3565b60018101905062000300565b5050565b601f82111562000371576200033b81620001e5565b6200034684620001fa565b8101602085101562000356578190505b6200036e6200036585620001fa565b830182620002ff565b50505b505050565b600082821c905092915050565b6000620003966000198460080262000376565b1980831691505092915050565b6000620003b1838362000383565b9150826002028217905092915050565b620003cc8262000147565b67ffffffffffffffff811115620003e857620003e762000152565b5b620003f48254620001b0565b6200040182828562000326565b600060209050601f83116001811462000439576000841562000424578287015190505b620004308582620003a3565b865550620004a0565b601f1984166200044986620001e5565b60005b8281101562000473578489015182556001820191506020850194506020810190506200044c565b868310156200049357848901516200048f601f89168262000383565b8355505b6001600288020188555050505b505050505050565b6133db80620004b86000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c80634e1273f41161008c578063a22cb46511610066578063a22cb46514610248578063e985e9c514610264578063f242432a14610294578063f2fde38b146102b0576100e9565b80634e1273f4146101f0578063715018a6146102205780638da5cb5b1461022a576100e9565b806306fdde03116100c857806306fdde031461016a5780630e89341c146101885780631f7fdffa146101b85780632eb2c2d6146101d4576100e9565b8062fdd58e146100ee57806301ffc9a71461011e57806302fe53051461014e575b600080fd5b61010860048036038101906101039190611bb3565b6102cc565b6040516101159190611c02565b60405180910390f35b61013860048036038101906101339190611c75565b610394565b6040516101459190611cbd565b60405180910390f35b61016860048036038101906101639190611e1e565b610476565b005b61017261048a565b60405161017f9190611ee6565b60405180910390f35b6101a2600480360381019061019d9190611f08565b6104c3565b6040516101af9190611ee6565b60405180910390f35b6101d260048036038101906101cd919061209e565b6104fe565b005b6101ee60048036038101906101e99190612159565b610518565b005b61020a600480360381019061020591906122eb565b6105b9565b6040516102179190612421565b60405180910390f35b6102286106d2565b005b6102326106e6565b60405161023f9190612452565b60405180910390f35b610262600480360381019061025d9190612499565b610710565b005b61027e600480360381019061027991906124d9565b610726565b60405161028b9190611cbd565b60405180910390f35b6102ae60048036038101906102a99190612519565b6107ba565b005b6102ca60048036038101906102c591906125b0565b61085b565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361033c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103339061264f565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061045f57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061046f575061046e826108de565b5b9050919050565b61047e610948565b610487816109c6565b50565b6040518060400160405280600781526020017f455243313135350000000000000000000000000000000000000000000000000081525081565b60606104ce826109d9565b6104d783610a6d565b6040516020016104e89291906126f7565b6040516020818303038152906040529050919050565b610506610948565b61051284848484610b3b565b50505050565b610520610d67565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610566575061056585610560610d67565b610726565b5b6105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90612798565b60405180910390fd5b6105b28585858585610d6f565b5050505050565b606081518351146105ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f69061282a565b60405180910390fd5b6000835167ffffffffffffffff81111561061c5761061b611cf3565b5b60405190808252806020026020018201604052801561064a5781602001602082028036833780820191505090505b50905060005b84518110156106c75761069785828151811061066f5761066e61284a565b5b602002602001015185838151811061068a5761068961284a565b5b60200260200101516102cc565b8282815181106106aa576106a961284a565b5b602002602001018181525050806106c0906128a8565b9050610650565b508091505092915050565b6106da610948565b6106e46000611090565b565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61072261071b610d67565b8383611156565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6107c2610d67565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610808575061080785610802610d67565b610726565b5b610847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083e90612798565b60405180910390fd5b61085485858585856112c2565b5050505050565b610863610948565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c990612962565b60405180910390fd5b6108db81611090565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610950610d67565b73ffffffffffffffffffffffffffffffffffffffff1661096e6106e6565b73ffffffffffffffffffffffffffffffffffffffff16146109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb906129ce565b60405180910390fd5b565b80600290816109d59190612bfa565b5050565b6060600280546109e890612a1d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1490612a1d565b8015610a615780601f10610a3657610100808354040283529160200191610a61565b820191906000526020600020905b815481529060010190602001808311610a4457829003601f168201915b50505050509050919050565b606060006001610a7c8461155d565b01905060008167ffffffffffffffff811115610a9b57610a9a611cf3565b5b6040519080825280601f01601f191660200182016040528015610acd5781602001600182028036833780820191505090505b509050600082602001820190505b600115610b30578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610b2457610b23612ccc565b5b04945060008503610adb575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba190612d6d565b60405180910390fd5b8151835114610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be590612dff565b60405180910390fd5b6000610bf8610d67565b9050610c09816000878787876116b0565b60005b8451811015610cc257838181518110610c2857610c2761284a565b5b6020026020010151600080878481518110610c4657610c4561284a565b5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ca89190612e1f565b925050819055508080610cba906128a8565b915050610c0c565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610d3a929190612e53565b60405180910390a4610d51816000878787876116b8565b610d60816000878787876116c0565b5050505050565b600033905090565b8151835114610db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daa90612dff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1990612efc565b60405180910390fd5b6000610e2c610d67565b9050610e3c8187878787876116b0565b60005b8451811015610fed576000858281518110610e5d57610e5c61284a565b5b602002602001015190506000858381518110610e7c57610e7b61284a565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1490612f8e565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fd29190612e1f565b9250508190555050505080610fe6906128a8565b9050610e3f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611064929190612e53565b60405180910390a461107a8187878787876116b8565b6110888187878787876116c0565b505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bb90613020565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112b59190611cbd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132890612efc565b60405180910390fd5b600061133b610d67565b9050600061134885611897565b9050600061135585611897565b90506113658389898585896116b0565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050858110156113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f390612f8e565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114b19190612e1f565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a60405161152e929190613040565b60405180910390a4611544848a8a86868a6116b8565b611552848a8a8a8a8a611911565b505050505050505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106115bb577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816115b1576115b0612ccc565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106115f8576d04ee2d6d415b85acef810000000083816115ee576115ed612ccc565b5b0492506020810190505b662386f26fc10000831061162757662386f26fc10000838161161d5761161c612ccc565b5b0492506010810190505b6305f5e1008310611650576305f5e100838161164657611645612ccc565b5b0492506008810190505b612710831061167557612710838161166b5761166a612ccc565b5b0492506004810190505b60648310611698576064838161168e5761168d612ccc565b5b0492506002810190505b600a83106116a7576001810190505b80915050919050565b505050505050565b505050505050565b6116df8473ffffffffffffffffffffffffffffffffffffffff16611ae8565b1561188f578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016117259594939291906130be565b6020604051808303816000875af192505050801561176157506040513d601f19601f8201168201806040525081019061175e919061313b565b60015b6118065761176d613175565b806308c379a0036117c95750611781613197565b8061178c57506117cb565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c09190611ee6565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fd90613299565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461188d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118849061332b565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff8111156118b6576118b5611cf3565b5b6040519080825280602002602001820160405280156118e45781602001602082028036833780820191505090505b50905082816000815181106118fc576118fb61284a565b5b60200260200101818152505080915050919050565b6119308473ffffffffffffffffffffffffffffffffffffffff16611ae8565b15611ae0578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161197695949392919061334b565b6020604051808303816000875af19250505080156119b257506040513d601f19601f820116820180604052508101906119af919061313b565b60015b611a57576119be613175565b806308c379a003611a1a57506119d2613197565b806119dd5750611a1c565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a119190611ee6565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4e90613299565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad59061332b565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b4a82611b1f565b9050919050565b611b5a81611b3f565b8114611b6557600080fd5b50565b600081359050611b7781611b51565b92915050565b6000819050919050565b611b9081611b7d565b8114611b9b57600080fd5b50565b600081359050611bad81611b87565b92915050565b60008060408385031215611bca57611bc9611b15565b5b6000611bd885828601611b68565b9250506020611be985828601611b9e565b9150509250929050565b611bfc81611b7d565b82525050565b6000602082019050611c176000830184611bf3565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611c5281611c1d565b8114611c5d57600080fd5b50565b600081359050611c6f81611c49565b92915050565b600060208284031215611c8b57611c8a611b15565b5b6000611c9984828501611c60565b91505092915050565b60008115159050919050565b611cb781611ca2565b82525050565b6000602082019050611cd26000830184611cae565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611d2b82611ce2565b810181811067ffffffffffffffff82111715611d4a57611d49611cf3565b5b80604052505050565b6000611d5d611b0b565b9050611d698282611d22565b919050565b600067ffffffffffffffff821115611d8957611d88611cf3565b5b611d9282611ce2565b9050602081019050919050565b82818337600083830152505050565b6000611dc1611dbc84611d6e565b611d53565b905082815260208101848484011115611ddd57611ddc611cdd565b5b611de8848285611d9f565b509392505050565b600082601f830112611e0557611e04611cd8565b5b8135611e15848260208601611dae565b91505092915050565b600060208284031215611e3457611e33611b15565b5b600082013567ffffffffffffffff811115611e5257611e51611b1a565b5b611e5e84828501611df0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ea1578082015181840152602081019050611e86565b60008484015250505050565b6000611eb882611e67565b611ec28185611e72565b9350611ed2818560208601611e83565b611edb81611ce2565b840191505092915050565b60006020820190508181036000830152611f008184611ead565b905092915050565b600060208284031215611f1e57611f1d611b15565b5b6000611f2c84828501611b9e565b91505092915050565b600067ffffffffffffffff821115611f5057611f4f611cf3565b5b602082029050602081019050919050565b600080fd5b6000611f79611f7484611f35565b611d53565b90508083825260208201905060208402830185811115611f9c57611f9b611f61565b5b835b81811015611fc55780611fb18882611b9e565b845260208401935050602081019050611f9e565b5050509392505050565b600082601f830112611fe457611fe3611cd8565b5b8135611ff4848260208601611f66565b91505092915050565b600067ffffffffffffffff82111561201857612017611cf3565b5b61202182611ce2565b9050602081019050919050565b600061204161203c84611ffd565b611d53565b90508281526020810184848401111561205d5761205c611cdd565b5b612068848285611d9f565b509392505050565b600082601f83011261208557612084611cd8565b5b813561209584826020860161202e565b91505092915050565b600080600080608085870312156120b8576120b7611b15565b5b60006120c687828801611b68565b945050602085013567ffffffffffffffff8111156120e7576120e6611b1a565b5b6120f387828801611fcf565b935050604085013567ffffffffffffffff81111561211457612113611b1a565b5b61212087828801611fcf565b925050606085013567ffffffffffffffff81111561214157612140611b1a565b5b61214d87828801612070565b91505092959194509250565b600080600080600060a0868803121561217557612174611b15565b5b600061218388828901611b68565b955050602061219488828901611b68565b945050604086013567ffffffffffffffff8111156121b5576121b4611b1a565b5b6121c188828901611fcf565b935050606086013567ffffffffffffffff8111156121e2576121e1611b1a565b5b6121ee88828901611fcf565b925050608086013567ffffffffffffffff81111561220f5761220e611b1a565b5b61221b88828901612070565b9150509295509295909350565b600067ffffffffffffffff82111561224357612242611cf3565b5b602082029050602081019050919050565b600061226761226284612228565b611d53565b9050808382526020820190506020840283018581111561228a57612289611f61565b5b835b818110156122b3578061229f8882611b68565b84526020840193505060208101905061228c565b5050509392505050565b600082601f8301126122d2576122d1611cd8565b5b81356122e2848260208601612254565b91505092915050565b6000806040838503121561230257612301611b15565b5b600083013567ffffffffffffffff8111156123205761231f611b1a565b5b61232c858286016122bd565b925050602083013567ffffffffffffffff81111561234d5761234c611b1a565b5b61235985828601611fcf565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61239881611b7d565b82525050565b60006123aa838361238f565b60208301905092915050565b6000602082019050919050565b60006123ce82612363565b6123d8818561236e565b93506123e38361237f565b8060005b838110156124145781516123fb888261239e565b9750612406836123b6565b9250506001810190506123e7565b5085935050505092915050565b6000602082019050818103600083015261243b81846123c3565b905092915050565b61244c81611b3f565b82525050565b60006020820190506124676000830184612443565b92915050565b61247681611ca2565b811461248157600080fd5b50565b6000813590506124938161246d565b92915050565b600080604083850312156124b0576124af611b15565b5b60006124be85828601611b68565b92505060206124cf85828601612484565b9150509250929050565b600080604083850312156124f0576124ef611b15565b5b60006124fe85828601611b68565b925050602061250f85828601611b68565b9150509250929050565b600080600080600060a0868803121561253557612534611b15565b5b600061254388828901611b68565b955050602061255488828901611b68565b945050604061256588828901611b9e565b935050606061257688828901611b9e565b925050608086013567ffffffffffffffff81111561259757612596611b1a565b5b6125a388828901612070565b9150509295509295909350565b6000602082840312156125c6576125c5611b15565b5b60006125d484828501611b68565b91505092915050565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b6000612639602a83611e72565b9150612644826125dd565b604082019050919050565b600060208201905081810360008301526126688161262c565b9050919050565b600081905092915050565b600061268582611e67565b61268f818561266f565b935061269f818560208601611e83565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b60006126e160058361266f565b91506126ec826126ab565b600582019050919050565b6000612703828561267a565b915061270f828461267a565b915061271a826126d4565b91508190509392505050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b6000612782602e83611e72565b915061278d82612726565b604082019050919050565b600060208201905081810360008301526127b181612775565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000612814602983611e72565b915061281f826127b8565b604082019050919050565b6000602082019050818103600083015261284381612807565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128b382611b7d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128e5576128e4612879565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061294c602683611e72565b9150612957826128f0565b604082019050919050565b6000602082019050818103600083015261297b8161293f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129b8602083611e72565b91506129c382612982565b602082019050919050565b600060208201905081810360008301526129e7816129ab565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a3557607f821691505b602082108103612a4857612a476129ee565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612ab07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612a73565b612aba8683612a73565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612af7612af2612aed84611b7d565b612ad2565b611b7d565b9050919050565b6000819050919050565b612b1183612adc565b612b25612b1d82612afe565b848454612a80565b825550505050565b600090565b612b3a612b2d565b612b45818484612b08565b505050565b5b81811015612b6957612b5e600082612b32565b600181019050612b4b565b5050565b601f821115612bae57612b7f81612a4e565b612b8884612a63565b81016020851015612b97578190505b612bab612ba385612a63565b830182612b4a565b50505b505050565b600082821c905092915050565b6000612bd160001984600802612bb3565b1980831691505092915050565b6000612bea8383612bc0565b9150826002028217905092915050565b612c0382611e67565b67ffffffffffffffff811115612c1c57612c1b611cf3565b5b612c268254612a1d565b612c31828285612b6d565b600060209050601f831160018114612c645760008415612c52578287015190505b612c5c8582612bde565b865550612cc4565b601f198416612c7286612a4e565b60005b82811015612c9a57848901518255600182019150602085019450602081019050612c75565b86831015612cb75784890151612cb3601f891682612bc0565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d57602183611e72565b9150612d6282612cfb565b604082019050919050565b60006020820190508181036000830152612d8681612d4a565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000612de9602883611e72565b9150612df482612d8d565b604082019050919050565b60006020820190508181036000830152612e1881612ddc565b9050919050565b6000612e2a82611b7d565b9150612e3583611b7d565b9250828201905080821115612e4d57612e4c612879565b5b92915050565b60006040820190508181036000830152612e6d81856123c3565b90508181036020830152612e8181846123c3565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612ee6602583611e72565b9150612ef182612e8a565b604082019050919050565b60006020820190508181036000830152612f1581612ed9565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000612f78602a83611e72565b9150612f8382612f1c565b604082019050919050565b60006020820190508181036000830152612fa781612f6b565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b600061300a602983611e72565b915061301582612fae565b604082019050919050565b6000602082019050818103600083015261303981612ffd565b9050919050565b60006040820190506130556000830185611bf3565b6130626020830184611bf3565b9392505050565b600081519050919050565b600082825260208201905092915050565b600061309082613069565b61309a8185613074565b93506130aa818560208601611e83565b6130b381611ce2565b840191505092915050565b600060a0820190506130d36000830188612443565b6130e06020830187612443565b81810360408301526130f281866123c3565b9050818103606083015261310681856123c3565b9050818103608083015261311a8184613085565b90509695505050505050565b60008151905061313581611c49565b92915050565b60006020828403121561315157613150611b15565b5b600061315f84828501613126565b91505092915050565b60008160e01c9050919050565b600060033d11156131945760046000803e613191600051613168565b90505b90565b600060443d10613224576131a9611b0b565b60043d036004823e80513d602482011167ffffffffffffffff821117156131d1575050613224565b808201805167ffffffffffffffff8111156131ef5750505050613224565b80602083010160043d03850181111561320c575050505050613224565b61321b82602001850186611d22565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b6000613283603483611e72565b915061328e82613227565b604082019050919050565b600060208201905081810360008301526132b281613276565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b6000613315602883611e72565b9150613320826132b9565b604082019050919050565b6000602082019050818103600083015261334481613308565b9050919050565b600060a0820190506133606000830188612443565b61336d6020830187612443565b61337a6040830186611bf3565b6133876060830185611bf3565b81810360808301526133998184613085565b9050969550505050505056fea2646970667358221220de231ea0ba52331673a6ab1f561443459e5e047d956a2026f062e8977c23fe6d64736f6c63430008110033697066733a2f2f626166796265696478666d777963677a6370347632746f67666c70716832676e69627565786a79346d347171777870376e68336a78357a6c6834792f",heavyCallData:"0xc73a2d6000000000000000000000000029e39327b5b1e500b87fc0fcae3856cd8f96ed2a0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000bc0000000000000000000000000000000000000000000000000000000000000005dc000000000000000000000000d5b2bceeaaaccb2bf152207f7e8c4abcaa7d58810000000000000000000000008604cc05defadf687b317133ac92ab95e484cf8f00000000000000000000000045b52e84203075293a1ae315eed77973f36a02a800000000000000000000000066c5e9b0f33d5327ccfc1217983edeeffda3f476000000000000000000000000ec8ebe87cd2e87a3cb5e11a2bf0b3c690d3284fd00000000000000000000000060e8516995a547e29f40b6ccb1188b12abd64054000000000000000000000000e6cb08c29cb266203b5dbb6e61798adddb6662d60000000000000000000000008a6843bffac8ce7b9c8fbac14b67cf27c096c3c3000000000000000000000000d54ac9bd5b62b2c2354b08b07847ac6cd198d1d4000000000000000000000000791be5f2ea14535c2dbedea81e5d159a5538978c00000000000000000000000036fc8c8e7af892b65c1523c055bca0c4840f813900000000000000000000000004f402c356fd2cf32413855274f0d1765293f1cd00000000000000000000000030225593f28afbf18ed60bb8a9f5c67ebb894de8000000000000000000000000bd8d7f6f6df33da424311859df8077f0b6554d0e000000000000000000000000d30136c39fcc9644aa94ed614a6f5150529af0c90000000000000000000000005c7f4363f01fbc22865913ff83d3bb385853900f0000000000000000000000005b46037a21c6e4a48b27dcf969d5ee7afdbc4395000000000000000000000000d20ff4505da9db0fdd613c378aea1b83635c6001000000000000000000000000e67999986bbf88960f711fa96715f2f4764c9d6f000000000000000000000000cee374e86350ad40514519b0afbe9b89be3d817d000000000000000000000000c3967b776605474329fc46c3fab995cd73d62010000000000000000000000000f6b56cac3304967a7fe43dcae4274af3952f79210000000000000000000000005e62c72544891ed9f8cdb51781fe7b7d23ef0a88000000000000000000000000faa9a410f7253afb90abf30a695eb0dda60c413200000000000000000000000030c842b5091bca284e6ce48f3a07d6957f17b2250000000000000000000000001a0ea668ab7e1a70d8e3bdb92b68128f95a6619e000000000000000000000000b50b840b62008e017b056d170899cdefcafe6eb50000000000000000000000007cc2a45f59e49a32e400cd69cc9791088dd5d9e90000000000000000000000007089850e5e121aaa283305d0eaaaf0e5d047733c000000000000000000000000e2554fad8029084ad076bdd48a058c5035254ae900000000000000000000000014e294a0fe3cfc9a359af4e2f62e5dc37504bf2a0000000000000000000000002ed70f82f54a2a7af08017e37e99b513b4d34bf0000000000000000000000000a51b9db75c5eb702e0a465961f1b0d39f8406a9000000000000000000000000018a45c4d2ff2bcb1f1b3ebf39459b4543854b22d000000000000000000000000ff47917ebf51f3f8af4ce96bbff772831ef3dda3000000000000000000000000ae5fc3963c7f2219f2b025e6da20e08dd81b1b73000000000000000000000000008c0ae37a27f324ab993d6ad703c7cc0590a96100000000000000000000000043d2782ad3a14a6217aaa8df86302b97dab6a17200000000000000000000000092ce7b68f1557ce2b3349e96037edb3544a4534c0000000000000000000000005823327ae76c52bf1cdccb5df83d84f8dac7ba070000000000000000000000004268ad59931a985cdf9e71a535aae3380e20da390000000000000000000000005e76efe7855c491bbc2a292251e856d0e343105900000000000000000000000013072f58bd08b36c7c07101d2b685a7676f8a712000000000000000000000000af3f7896de336665a1189bae09d352558da94b1400000000000000000000000051678842a6b5da52ea6f6408a2e020230e0bd1a70000000000000000000000008cc4624656cff26d9c1b14fa16d64abea798ee17000000000000000000000000ed86800f8db12808b9a60d207a28758cd9cd316e000000000000000000000000bc56a6cf5e4c2d8cf80ed4bd13aabfd2e22855af0000000000000000000000003af792366d1229b6c5636d31a2de370aff1db97c0000000000000000000000000270947611dd30283d5cbcdb21df449a0853b163000000000000000000000000fd7b829029403b6cdd531170128e2fe88192fc51000000000000000000000000371ae267b89849342035174e5df7a01fe931715f000000000000000000000000025126a5dd13108d1103b4c2c09cb4d63bc6b8b8000000000000000000000000000000000000e59fc57340cd50d1b12221601b87000000000000000000000000b4be85887d68a3dfdd5e9826a5b7744379fd34e400000000000000000000000000fc74e65b721798d0ff2317c4a6f22497a6cd3c000000000000000000000000ab8e38785eddfa9ee423d41a2eb726abf296e8b6000000000000000000000000196d4992c2cda716dc2318685ca84d0f55b9ce95000000000000000000000000b1ca90153b878ce58865b88c6dc4b5bb34ca0bf3000000000000000000000000c158a986f6c52b047596ad79bbe992066cec4e5e000000000000000000000000992aeed82a4b881aca33fa3a3e193f18e73bb62100000000000000000000000094dfa939389376d7b2a7e6d04971ed5de6b102ec000000000000000000000000c8eb3f9e5164a8fe2381c007cecb3e55b15f2bf100000000000000000000000010783fc60fcf8329f3720a46dc3f2fca299d2e3d000000000000000000000000360bfcbf398d46130c6b0141fe577946173d01220000000000000000000000009f952bcf19997129fe00e8e89201d9f8a74a69c5000000000000000000000000abfe18c5489dee761f498de533797521a618644600000000000000000000000009fd21ac7d34b00a761a343e881ad14965f9ebf4000000000000000000000000d78a5400c158a9ed30d7690ef3d83c481b34ea810000000000000000000000000df4bc0917290cc3d44825e1733dab1298a5a9700000000000000000000000007b9c87cd45e5511bc3068246a8e3c8a6dd1391160000000000000000000000009c436aeeaccfab49cc3490637d7222c4a91216e7000000000000000000000000c95541e72f68cb0e79c3499b63289d2058592cfe000000000000000000000000b4970e83254782faff75dce14576e08aa82a0d1e000000000000000000000000a4be070487fa0246e0b4643d8c3dcd343e5d09dc00000000000000000000000087d96f0a2ebcdb963647d91ffa8cbd6119f97333000000000000000000000000d26797821a6e3c284adf6e1d30af2ba8759afe92000000000000000000000000ff9e392bb799ef5ea531910936b202e144e4fdc9000000000000000000000000ea080eaa293fbc68f1d3987f5b635a42c19e061d0000000000000000000000009d5ae7c585bb8f7a1253730627a112b6962616ae000000000000000000000000867155c409b67c68268cc63d94664d582117f6fe000000000000000000000000f256a3322c74dc142a2c97b80f5dc77fc78e562800000000000000000000000073298bae560be65f87f188b9ec442b1347ed332b0000000000000000000000008ef48458420aab48e113e695d26861355b7bb1c0000000000000000000000000ab95146bbba85da74d14284fb9bb28d3d39d32630000000000000000000000009aa30100c3a15ed1666de178b6364a6dc6f5a36a00000000000000000000000070e3c4344899bb38c562dff11df40b8ce08bc3b00000000000000000000000003c5ea9a2fc1f22b27a6105389b8b17e71983567b00000000000000000000000085c4df6129108855971a1610c4942617a1a82a0800000000000000000000000062948d76f274442b62b645e62cb7cb6d7ee754b7000000000000000000000000543266537a73700d740520893b5b1932a952fdab000000000000000000000000d1c8a54652b3dbc488360698d654ce4afcc3a0af000000000000000000000000fb1c57e378e2ee9c6e02f2ba7c25ff1a13236b8c0000000000000000000000008f381722d639763f8fe8a75e738e038bd6a0a5060000000000000000000000005a2f798b968fbda78f8e65eaa4e560a7d56ea625000000000000000000000000309c347c6dd47eb2017438fb34005b2ee5343460000000000000000000000000c0d98ee52d4bf463ebde675e773e355d0e062aa600000000000000000000000064ba61444e72d013c1ffb3c370e4b57c481d7bd40000000000000000000000007d51e15a97ac5cdfc70eec053da8cf4fb9766c84000000000000000000000000fd891b556e648140b1b737a5b8c5a008ac7d347f000000000000000000000000a52ab65c10a50a888c0aeb0887c6176c0f5155770000000000000000000000002cd2dd17d0411926a862e546af9f16c9f0a762b80000000000000000000000000494003b66d871a74b8ec1acc3b0e074040dc7e2000000000000000000000000f86ef7e28a737a9d5c4715024d3e168e814847b5000000000000000000000000659db7f3ea1801dde55259fccbb1e8608f8ebdef00000000000000000000000061e2267817bb80f0869824d48aff8bcaaa49b1a6000000000000000000000000a9b9c4c4d44d60bb01835039fcf20eb75a5eaec10000000000000000000000008e4e3b2da5f7c55bad2e15e1895435129b6f26e7000000000000000000000000f6e72ec98b0772a6be2670e652b5c00c769226da0000000000000000000000002d543bae3e38748d8f6d7000a8970911398c038c00000000000000000000000002b2b1e1b67bd42c837c817dedbdd7e48c9f0821000000000000000000000000148ea5bf39cac195f3d304a53bc574747f53a32f00000000000000000000000029380ecb5b10088b4b68ce8df9c189d197ad72bf0000000000000000000000009ea3c5e5f1b8da034e43b6f97497bfd1306fc32800000000000000000000000082acc7e3da35bcddf4866611cdfbf5918369013a000000000000000000000000af541244d3e53969cef6c05518b175e61cfbbf4d000000000000000000000000bac8ab92ecfbb5d35a941a357fdc2266902ab25b00000000000000000000000021b72b3fe1a4976438bbf2a0ff51a269a6b47d510000000000000000000000007912c4fd2ae6d1a4c457f0baa003d23a17816fc00000000000000000000000000eef84e76d6e45a7cca9ce7999df9b139351bf89000000000000000000000000e63eb1081754e4d7c5c77f09ebcd6327b023f053000000000000000000000000188697f39e2ec9e6e3c5fd5cbb36b8c01c81a53f000000000000000000000000659082a1b071fe769fd4fc8acc3c056986375081000000000000000000000000094928eded5986caff51617138fe574cf646ec81000000000000000000000000d9a5a7822ea8a01cec1e4e90fbea8b653ed8ff83000000000000000000000000174fea849a354b53e98fde9e782fc54195ecae46000000000000000000000000ff5cb36995b8d37c701ebb7e0643eafbb860da63000000000000000000000000f7afe9fd8ba4829fbaa06f7b30303bf3b53d6647000000000000000000000000aa89fc4148e51875fbc6f3804c812bc9e9658b0a00000000000000000000000049bfb97814d11a011a6ea5ff62f6277cac36f1ff00000000000000000000000014d5bc9e6699c20e60e739b1e1c54e2c22d7491d0000000000000000000000000dad61fa03b78b035452b366f743671d6acea4ab0000000000000000000000006161c8fa4d840628174d4f2fb35c31f4d2cbc8d10000000000000000000000004fa03c9726b2813ef857392da80517935bebb5bc000000000000000000000000ecd9fff42f8f3495b50c2839166fce93135c96f50000000000000000000000009258d132956012b6b09110838654d31f3ca849d60000000000000000000000003d6af85fa5b7b57a001d2d8301c6bfffc3f04529000000000000000000000000139a2a403f4f1818835c42695b5a1863aa82715400000000000000000000000049a22f70d8b8118c6ce7cf0b61fe8b6d5cc3f0b2000000000000000000000000424022c1ba008d117a8d6da2889b75ac9e6cc9430000000000000000000000009d585c991c3e5696d44ce45e3fe9333e40f4b11e000000000000000000000000412cfe1eb5d03e37cad6cfaa8cc90545a0d16508000000000000000000000000e53d6dcc93a6e9abda9cf8cce93c52b1003a29fa0000000000000000000000008ea6b66e0cc397e645e44378dc6595c73326fcf5000000000000000000000000fa791fc87b712deb2ff515d3720287767f3c20ba0000000000000000000000008458d8789487d47c255f08d409bded5fe83c58bb000000000000000000000000aa168c45db4bd18a29deb0d1fab18c6da6c112f3000000000000000000000000bc3304a1196a5434123495a459c184f548b68d5a00000000000000000000000099423a7d7fd197ce197a58c389e6dd39d9717580000000000000000000000000a6c26951acf00f0d7466c328ea25a059bc05f1db000000000000000000000000dad26d70b90be3ea4fadd705bc440657b87d52f9000000000000000000000000d29e71cae19862f40840b9306bbac5266056753400000000000000000000000062bc6128db0996a0158cc0e6fdfb843d90f9ed3d000000000000000000000000d30c4dd08d93d21d7b030127e95aba7672aacb08000000000000000000000000f5b1ae5b41bec4ac1b6485df24f972db899f600b00000000000000000000000054fa906787b3311e7235c6b9dcec090e734874f5000000000000000000000000a204bca124c1074678f44379a2bdaf0547e3e2e000000000000000000000000065a8489e88888e74f5ba9616070fd7d15aa505140000000000000000000000003df548eeed197cdf495e670163d223af3f0eae690000000000000000000000008f5fa47921f80109450d070810901120779510500000000000000000000000004bef12b203cb1cac617e538c4f77014050121a290000000000000000000000006b1d2a999bacda8dd72481b192a83f2cc3ef65d30000000000000000000000008cacee3d04c0e2bbf9354f11bbbe158e010cc4d50000000000000000000000007296625bb042ddf0ae124ccda8e32f5fa0ac680b000000000000000000000000a4ea6a3d5e72d1d04437cc085758c4d08aad0a4000000000000000000000000015ac0865e11dd3a4941f2e9794fbbd71d12690f4000000000000000000000000a8a06c5f0b8f8136534a16b32fd4af53546e15d8000000000000000000000000c8d1a1bbb931826662aaabd67aef863454f14957000000000000000000000000aa79b91d3fd0ef0d86705be3ed5951be23a6174200000000000000000000000025815a1a4805bc795a796dde9f02acf9a31874fa000000000000000000000000c5008caf7f7ee6880cfcfbbfb6457dc97f38eaad00000000000000000000000026bf1ecfe1953be4edc210d8048acd863bf6cd03000000000000000000000000d886727d8c3c94f65d111e0e11e97bfb886e950f000000000000000000000000537b53b82dbe822e58bbe9fedcfb784214c2cbab000000000000000000000000ef53545c33b6eb9ef612db5e2e1c93c4dd4b1c310000000000000000000000008f5970eb1e23bd672a468391584ac1a1e587c7fc0000000000000000000000003bb018bf2cce6b18e4f16213714497f4796c6bd1000000000000000000000000dd95e694d2429b17e7a1e8e373b038f811a1b803000000000000000000000000ab34046ac556d7e8c321640079d3f02bdb840e5f000000000000000000000000a4ef36e51dd45415905a732b28b62f70bb44a68200000000000000000000000084bbb658b34622b35fc021388697bf7ed8c1f7f0000000000000000000000000245b9fc5d1446d133757323e9184237043a512aa00000000000000000000000074bb4735ee10770168a16aba2952eb6442b3f975000000000000000000000000032a6baa92574b361111ab223edf19dc782be597000000000000000000000000e0c6460bb5b29fdf6a0c2d2997d5e2d7745c42b1000000000000000000000000477ceb2c5999cf8016d6d91ba981fa736aeb532500000000000000000000000027aaba0db8f8d7524575df598f79070475f1a1f10000000000000000000000004447775a958a0264c45d9ade1ce0ef71b40313cf00000000000000000000000005b9342315be6d007da15813f07d9475727536470000000000000000000000006e4e77238f6232ae48133c94cd46b07165862ac000000000000000000000000042be9b4b12a8021529a1440158c84f624c316d10000000000000000000000000f1b88e3575fc5fcd7e8c7733230dba237ab4eaac0000000000000000000000001ffe25d40e27b50eb61167a4e65e7f3211da14b000000000000000000000000032d0ab3ee2bb27b48edaa7c3c5c6ee026e4faf0a000000000000000000000000b6d34715f0bdb1dacd7497ffd0d5098d455a7d95000000000000000000000000cc1d0f888ffd519b23ea6d0396568eb2bb9ee371000000000000000000000000fe554654d36e12b02bcc398b8a5fbe812a8eb83300000000000000000000000041649414d94ab18bb7253e8fa8c89466230cdc320000000000000000000000000e4d2c272f192bcc5ef7bb3d8a09bda087652162000000000000000000000000cff37308a09a9c4400d62c413d393ff4e55084cf0000000000000000000000007f94e30381aa6657c45833ec7fce2e493c1888ef00000000000000000000000054b74b0fc13f384b8c0de82235e742b59e018af10000000000000000000000005495c350222ad0cc58325329c037cc7cb77dad6e000000000000000000000000d58d5006d9af7fe1502d7421a89c7c4315da0509000000000000000000000000803f16a5036047fbd661c6dbd0cb9e778cdb74ae0000000000000000000000000e2aeeaa52752e111ffa3609409bc6bb55a87ce7000000000000000000000000386579df93cdfa1b9d2d1d5444b77fbb9dc3b63c000000000000000000000000d246ad6fa23950168b71bbd744c5194cd4b7135c0000000000000000000000002b72f9e46d21a2eed78bdb8570a25c9290b30583000000000000000000000000e7e51a81d958d47d8b4f304595b8c75d535d168e000000000000000000000000a5e6cb5915a768aa26a1e5d0ab04141c86babd7800000000000000000000000071e3d70629b8333a7aa721e13707d5d40a964f07000000000000000000000000c413a8b5d166c955d431a4ae83ff47d34725d23b0000000000000000000000004ffd0a59a26cb2aa76d403215e4cc2845c053994000000000000000000000000079c9bc694c6c5ff912e96d7b25e0ebb9f09b4f5000000000000000000000000c32d0c87949e5810cfe4c53494b23ceb36a691ea0000000000000000000000001f224091c492115a5bcb5abac1666d65dbde36af000000000000000000000000fdafb2fbb76ddcc3b442a2888968635a9efa84c5000000000000000000000000e0bd3f264a27d024dcc727b0a7a3720fbef4e03c0000000000000000000000005670417dc755c8b933c217c73a32b86774f3bf62000000000000000000000000c10002ac4f1f4c239d49ba4b8316cf88809d61f00000000000000000000000004416764f7ce645376cbb2b06d3978a60ed0e0c750000000000000000000000008fdb8d400a3dfafc9a892cd8a131f89c6a503155000000000000000000000000e00cf18cbca9ec92307930e6bb2bc7d3dad922e1000000000000000000000000e356c63e98c3a50de0060ba9545b83ac968602e90000000000000000000000008aab260f0ac15d1f340a07425f2da6b7c26b63d800000000000000000000000056f5beb8bdff775a63c51b4ee995dcf0e5087187000000000000000000000000909e50ef37415d5f41db550fc5eeb0a465015988000000000000000000000000cdd603d3c8e21b49c1c30fe6370c02491b51c5a400000000000000000000000021b2671e160ac5d05a035de0a858f87ab304dce60000000000000000000000007eff3da556834fd1b3413a6b8c8b76b56965f279000000000000000000000000f3792d9808c19638155a1cc6072cdaa8ee25f0ac00000000000000000000000000fc78a3b9fee98c00277bafc3411a6342e375b100000000000000000000000052b2b8645b7b4c73a8fc672d726ba6e4453e83cb00000000000000000000000010e6ffbac013b40ed9625f4aaf2b37a38d817d7d000000000000000000000000fb6fc8c34d32eedc472730c5db9f585160963f4f000000000000000000000000fc696e938656445a4025648715bc8c394a4da25800000000000000000000000003a6b8965c3e11ae46236b500c20e7a5300488300000000000000000000000001b9fc028057b39eee8116926517ef62b34813dc7000000000000000000000000fbc0793d9edbe4af428a73bd80e7fb9a14b0c972000000000000000000000000ce19208a425f5420b80630098cffe210a9ecef9a000000000000000000000000ad80769bfa6c474764dc4944f3ab1cd6250a42a7000000000000000000000000b7cc1ffeb87b4076cfdf9e77a4f18bf1d5eace9e000000000000000000000000e308a1ce5985f7a2f27198e56856fec5cffe93bd000000000000000000000000d5b32e77edb007a8ac34f60ce5ed690b82ec45af000000000000000000000000d05cd7e6a0f6fb1cbe59a57ccbb0781dd6ef9127000000000000000000000000bde099d173791374b29638a2469ebd2efa47116f0000000000000000000000004a47a4519ef3a2f080ceba2f844ba6d318ed84e700000000000000000000000085b21c29afb3fbde4015ac8b6b50bc654abd3f3d000000000000000000000000f664c88016233a9780445877763ff63719aec5230000000000000000000000009c09d9481f69ee5276ad9bbf61e583897df5b718000000000000000000000000214f5d5bde137daa38f98099151e0f31865977f8000000000000000000000000e8edb42f7a0c3e4e9744f68ec19cca27320509bf0000000000000000000000005ab3f0d7a78ceffa4318ea9980722ff537bb3c400000000000000000000000002e660eb2e338e690140759666c6ae673664a31270000000000000000000000009cff30ff287931c256dcbfe1e689851e4aed1dfc000000000000000000000000cc5ab443e573215536e179b53ac640a6adbc684100000000000000000000000027f6a60d6ab6a2bf84995b0afe73e2c488efe2ed0000000000000000000000001a38e5e0e75765f11ae2e98ee324f765ba5a5cb2000000000000000000000000c14b0e634be9a7f861ef502fcdd4587facc4251800000000000000000000000044250e31407e99e635ce7e93682def938428dbc3000000000000000000000000c624135d4b79c1d695e33104e74b898c8f04d5cc0000000000000000000000000a894e1fa08506fd882ee073df3adf3226093a7a000000000000000000000000d6f6846493d3abfa0651b323a3dfddc1dd7015d40000000000000000000000003ce81ab1112c2e90eca7a94a6a3ce6990391e55a0000000000000000000000000ddeb1b901cb671266050945aa9d67d684dd9b50000000000000000000000000b550b1273ba26f20be571d9bdeab1f19f8fa45a2000000000000000000000000df5cf14b948eb1683acc72ed8a567ed4b2658c0e0000000000000000000000009c9da8263e86e668ffcdaf93dd4f2f5f96ea3425000000000000000000000000c59d479c3f2ecdb5236129ab6ef2d0a7a362e891000000000000000000000000cb8a7edd8eabf5e0265bcdcef9eefed70912509b000000000000000000000000bc3f4514c0b904b0c1df04f12cc916d223e1dbc7000000000000000000000000a7b499eeb624d79102c8825edd963aac6d85b8a30000000000000000000000002d300100e8f8d22d472665650070229f7b5b833e000000000000000000000000008c3e1a887b51c6c05dc605d7123e967784db0a00000000000000000000000048da1c51f5e5385e315a29684d3abe5c5a4dd843000000000000000000000000d2f2edb2bd794772532440cafc7a9726880eb5090000000000000000000000005e897303d13a43e1f672a7ead19d085af2a25e500000000000000000000000004b8eb61e987be1247599e8280a4f65f753eacbd70000000000000000000000001797e49aad3c36885c36ebf01d61434ab3cd8055000000000000000000000000469ed508517464c00f25b17c747dbb01d4d8b39f0000000000000000000000004ecbd087f72cb572b35c2e555b35fe196b2faa380000000000000000000000009ef2b0444063b1aa229f88f20194f0e41fb69f1b000000000000000000000000461485c9b6ac44694ccc09056e0039a49fdf966a0000000000000000000000009e8058fd6009bfbb26a77569d811eb40cb4ad38c000000000000000000000000a0dedc54331ba87cce9d379e17d7dc6b9fc73a66000000000000000000000000f611144cd3db0bb10a8a69a2d2ba772b57b56007000000000000000000000000c36494a4a9fcc064d54eb384ce30fd87150790aa0000000000000000000000003251113fc564094d881fe39a9fb4c612e436209b000000000000000000000000c9037febb8d9344878ec5cc460578fafa11e2bc300000000000000000000000023306110c75e59977d21453de15ec41004ae7fb6000000000000000000000000c5bf2ab6ba025f634b8dcd2ac14bd2eb1c1dbbdc00000000000000000000000020b38d59bec9601f8235a16ce5c66e6cc3191348000000000000000000000000e9d70f70a7904c17c43a7122f3c838ff96307519000000000000000000000000917e5db2aa752b973751d48032de900788894917000000000000000000000000cec87c07a6946ec56e4efcc22adc040b4c4c4fbc000000000000000000000000cfc585731bf0b927a22594770c746eac1116c065000000000000000000000000838a76a4d98c305f8f6c53c916ace02e972785e40000000000000000000000008d43245f7aa693e3213d76deaae87ba6188c12450000000000000000000000009a3415e9ef21af8935c1c29bfa4acebcc32b7ca3000000000000000000000000ebcb2a1eec49edafca24801a84fc9fcd5ecab5130000000000000000000000003083c46eb15cc0c087a03f60269edf1de8186f380000000000000000000000007f6b33db8912d521debcd1e92d1aa48c19aa5fbd00000000000000000000000041ffbfce05a68d043711a850b5be0fafc73c307f000000000000000000000000cbac76f751b4da4f20c4b0446c41fe40c3e6518a0000000000000000000000007e67bd29fb8c654e0918f7a231744a1f41068aed0000000000000000000000004c1debef73595d4e89efc0cb649f52673286505c000000000000000000000000133f1ea64aefb18ef6cbf86ebc8995e5212543930000000000000000000000002271d2ee41a103f858acbde735e58cfa3eccfaad000000000000000000000000c922ed9e05b48c2b655db1dd1ef2e368b02e56800000000000000000000000000e75eabd04986a8fb0b8cb30d6dd069c86e5e14200000000000000000000000039715a9f5032bfa66f34a1ab3f385230a0dde0f00000000000000000000000003ca91f9ff1ad69e88956ad30ee71de7052b979ce000000000000000000000000645a91780558c473ab7bfee81f15802e22fff21a0000000000000000000000001dd5b4f216d4cfb5ee63122238e0fad6cf8e9a6d00000000000000000000000089f5721b5fe6017ebec30059b20be93a404a2bd80000000000000000000000004a92092a80ca1798ffc0e0cdf227926187f2562d00000000000000000000000026312c714bfa3ac08b5300900b9e81a05d329aaf0000000000000000000000006521f65649268d864313ce52f17b8633039e71ab0000000000000000000000008bd851d688aa99cdf0c85783e397e4614bef7957000000000000000000000000abdce81965c5428953dc976c1a52b2d7b9eda808000000000000000000000000868b4ad9e9257c9c3b6e2dc3e16164fbc4fba08e0000000000000000000000004814ea6590ddd4e46ebe658049ed7810cf66d41c000000000000000000000000bd54bb829eda85bf1cb52e7fb98d9fe32dee92d1000000000000000000000000dac1ed8a27e8a5d8eefb548e21784a9609126ad100000000000000000000000091a041e1fae3452dc33ba267a7e42a4d27ef078100000000000000000000000001142d441ec29f6ae4b18ac067a3df3706ff009400000000000000000000000081f95ce7176b733eff726b0ba1e71b3c485a5e12000000000000000000000000d333828ca6903fb51d57e32b3a6e85f347f662900000000000000000000000004f546dfa1bfe96929d0982bd6aec5d4a41583425000000000000000000000000cc747a877b2968b093ce233a16be6ccf44bd4fc6000000000000000000000000094faa7ae4569585ce3a62233eb4a7c0b4413f1f000000000000000000000000ab88e5fd49e88919ad9112ff8ed1bc4dc0dc198f00000000000000000000000006857767f6d2ddb54b808c2677b940153e084b14000000000000000000000000835612c3065c8ddb0acb72dd53f2ba3245f10180000000000000000000000000e742c794bfe6393b9cb5643058d9810ef488e1ac000000000000000000000000ad31f9ea0cc78a56754ed344c3bb774c01363d7600000000000000000000000056ea1f7b4d77559dad82ade32c503699c41fe47200000000000000000000000029c9f5189be1ca21b48b38fa41d1c3fbbb6bf8870000000000000000000000000fd987fa28a517d89a955cc7793653f96869c131000000000000000000000000258b5e9167af21ddb8881bd1da7f54e80ab6b842000000000000000000000000bb7d0b9f00b0a46bf8391c8413415310a375eb21000000000000000000000000b72265a023a13c715ae9694e4ede2d1c6de18966000000000000000000000000327053a90ded7e9698707f04757d24e564daeacd00000000000000000000000009bab7d98090d44383b4d30e50896e3e6029175c0000000000000000000000007eaa9bec47c94d5cc8b474639a91dd81cb3a4ea900000000000000000000000048cbf984e6f9153bc365a91fdd90c8af0a220ee6000000000000000000000000b36a4db681c25b0e3c6e21c6a3887d06e3db52cd000000000000000000000000c665d671e0c8fc7084e5f72ea46c25c3d0b51dfa00000000000000000000000028e12f2762e8e8ce61c5cabaab663241624e72e90000000000000000000000009077e6519b983d8d9710cd04a8b25ad7217179d6000000000000000000000000c2eb680d21fcbf3721cadb0df78815545e51ccd10000000000000000000000002c4a92cf4fad7eb444a7078f76adbd7f32686b0a000000000000000000000000695b8737cb7b1edf502cccca0b79ed869e59328e000000000000000000000000d353e76ac892d5d0d931ca5f40dae5800b7139a3000000000000000000000000b1bb721cbf9372551b278f10dc54868ff0a37f4e000000000000000000000000f7820e372787fe9b82f6a847686b8cbec995c816000000000000000000000000befaf1c1c28c821114434d689d9004e8a3279022000000000000000000000000565b15221ff10041e0e520720869bef8499b7c5b0000000000000000000000008c717ac9b751ee2d4f0fab977e9ebb1b6851e49900000000000000000000000075d8e93997420bf2ba58261fa33100217fef8c79000000000000000000000000241690119e74a7110863d521be2da335ad53809e0000000000000000000000002b258a28bf2d990b23571cdce909b2756dd15d2a00000000000000000000000027231d823a20dc3aa236539d85f3b76f393b57ef000000000000000000000000b3386e770a94461d906c78a964759513469646b4000000000000000000000000ad7c446646b456d08c80c9bd16cacf4969d460200000000000000000000000002a5439809888cf9eed0e826bdc0ff786da91d7810000000000000000000000004fa419790eca14ad0206cabafc99141c8f524a31000000000000000000000000c57576ebb34ee74a7fdbca77870d1ed5faa5d68500000000000000000000000036021494ea600a40fe1bf979c2018ab195018b43000000000000000000000000e307c873344b6148d3343530820eb9e741247ec10000000000000000000000006087cec6493d8011e7d8ca65295ac90bad77e044000000000000000000000000d52227ea777c1bdca06134c8684c35802808456100000000000000000000000091c7e0783e8d0cf2e89568841b87252d2c4b560b000000000000000000000000322b40ec5986412bdf83819d031bf474715255cb000000000000000000000000bfa95956621c42233e68faa656006e084fb5bf96000000000000000000000000e9a07563bf8791f3a2f662e485f8d13cb7ffc7d700000000000000000000000063d7e2ab0ccb37b3a3c21a0af172f959c68eb710000000000000000000000000385fdbf59b42d64684d18d5736182c7f333e93720000000000000000000000003dd2f54e4b52b18c065b4bba446573144e6fc864000000000000000000000000a616d2a8f9850796942c879b28fab13ef33f5192000000000000000000000000a77b8028850e0eed3d4d6c9004c82952c95af43d000000000000000000000000daa342cda190492c4f8c691a2cde66ee7ba0350e000000000000000000000000eb8fe4df46cf9628b73a567c78df5029ca6ef02400000000000000000000000062b3699b9c21316bc40864e8a7a252d135622ae6000000000000000000000000395348ce540dd74b4f25ba7f63b3a10b58bc13a5000000000000000000000000452008779b6bd5b2bcdd113d1e3f10c5e27b5cf8000000000000000000000000573d90a5d015d4488493b515aabf2f23bb0aac500000000000000000000000004c3b3ac18c668e946cbd6b9bc27fc6edda22daaf000000000000000000000000c9583125f22baf9384427a90f7e66c3e775d2910000000000000000000000000e16bf22ae0db1de8fae99b5c45c6057b1daa37be0000000000000000000000002087c20efc0f71951006825575a0e01573078376000000000000000000000000d3c2bc74c75f195172f54ec3711006262ba89b4d000000000000000000000000cae1256724534d14a8abe25e31dd3cd7f63075c5000000000000000000000000247a7742d7174fe852c4783014819b9751347f05000000000000000000000000074ac2f9b4cc6eca9293fe474337a2361759cc5200000000000000000000000003e7ab483ea1d177e4be2472bf16ca17b8cf280d000000000000000000000000e7a60bbb3f90319bf4c3eaa5cc379674e8efd37f00000000000000000000000063c48f596a8ad105759b91d3dda07d6ffd2e5b7f000000000000000000000000aeb1c8afd914113c8dc3178a4dda6150ad8dbf7f00000000000000000000000077d733b7eb4c99f4f392644d2af12af19ce4c59f000000000000000000000000e0541ebaf5341be25245f70c48d99d014541ec41000000000000000000000000d333714f50a0c51c0c69fb4b310a299169e560230000000000000000000000003a1db9cf6c894b826c94b1548dbc69499613d41c000000000000000000000000bc5244d2c4a313a10247c926f7de379d20c1d7e3000000000000000000000000923e254a296d2fef2523899e431f222dcfe2dadc000000000000000000000000e22984a5d866bab5eca3ec88a3ef6183f618d545000000000000000000000000ed7bd8e03b782a27eb7e75b242160b79718cea33000000000000000000000000ff14187e55986891e7690b8e62c43a14494ad62f00000000000000000000000078eefd588cf13adaca171c3ecb87112c0162010f000000000000000000000000d60bcd0f3b4f6e361e7a83a84d1405d27b45824900000000000000000000000067eb77d75f5ef2b469c8f85049049c4c4d6ca9200000000000000000000000005e10b51622b0d37bc97b8b7d1dc1f92bb385a9f70000000000000000000000007e27882710b211b119b6ca9b5a1c436972d6ae8800000000000000000000000007103ff9543353808918f30aad597830d5a28f0f0000000000000000000000007d1b71a98d689ad670a2966837f83740cf5b4d60000000000000000000000000a3167de8fb19349a584ed42dc46042881f194dda000000000000000000000000cda52a2808ada7cdd58759b8a8c14c498d857a5a000000000000000000000000ac8b721a9ebf49a9eebc3c6a7f4946515e75131a00000000000000000000000037f4c1f8fd22ed8c4c4c24ebca3318487073ea990000000000000000000000001af95833d6525503ce0bafeeafc0826d02d1647f00000000000000000000000007239cca2e85ef0dad7238e787548d897c8dc3520000000000000000000000006493acb422f21a1ea4a51a53a350d02ad80a8957000000000000000000000000ee498e495f3c71ce09029aea0176cf4789ba28f0000000000000000000000000830d69a5eebdaaae16c72f37f89060c3529791b60000000000000000000000008fbefa27af0669412c216abeba2cff002f2eabf300000000000000000000000010e210ccf768bb5c3060762fa54aae52df06057e000000000000000000000000be1a71564339010ec9cb8de18a3bb2394f6329b3000000000000000000000000c9f79973d7e6b59cef4f5101df93455220bd32b90000000000000000000000005081f3ce11c267508456813cf0513bdf9a0fc2640000000000000000000000003685756dd15312090964329c821170902aedfb2f0000000000000000000000005841355c7c61baeb66a81c301816d6c8059cc54d000000000000000000000000ea0f656eaae34dcaf45a55c2e55ef6a6ae46c7e90000000000000000000000002683a0bece4173bf51b171afbe99c9143866e98c0000000000000000000000003d4ed4950a6279d105e7d159ea575b2950da1bdd0000000000000000000000002d7d38d2d366817aa52a5d96a5decbed7e44bca2000000000000000000000000bfe30abdec1c649ac8b7fc4b79d7c844722430d80000000000000000000000006cdc49f833de078537443303ed01e911c69bede40000000000000000000000004b47052498d469ac9521606a67d6f02afeb0985a000000000000000000000000a695482722c05d8424e7f34bc49ab9ac32fd156a000000000000000000000000045c81f38f553b360b31b27414b4a18d67ecceb1000000000000000000000000ac7748d9446e3adb17fa9c48feea0c842c7ece0700000000000000000000000079d563613453f2b40960d88967d76f339c8fa4a40000000000000000000000002ebbac8fe5047f1b856a525b223c79cb1904b7e700000000000000000000000080f81da33842f36d07b438b070e0568e57c6564d000000000000000000000000ca5fec448e36ade77f135fa2d9c19f06d1c4a998000000000000000000000000e0427d2e89446b6fda7e80e5851f927897c2651d000000000000000000000000aa93142a47f28a5bcfea59939d9d804bc39b4a08000000000000000000000000d7467784791ebae72180623a438f5a8c93602a50000000000000000000000000c42bdcc85264f114c3dfcac2c9207b89ef6a9232000000000000000000000000464f8b2631129c90e0161f605010ba8bf8d8ca34000000000000000000000000c6a036e204699c4dc3e04808f63528b259fe5cf40000000000000000000000001de459384f35da4209ea75b23fc2b9dbb4e5cdf3000000000000000000000000ebb7b8c14930f1702292826ec9ce9a7701838264000000000000000000000000ace3371545521ba5bb1bd1555d360c680e835eb0000000000000000000000000e182b2f7598ca7891848883fff0f0cf28d9bc00d000000000000000000000000079e22556777613b8e2c0db06aa07bbe01f14125000000000000000000000000b0545999f70ef4d5038b8b41a94ae56a7aaab1e0000000000000000000000000da5b90b4f175c6af7a7def1236f77acaf4ed4e8300000000000000000000000022a8490d883ca52e22d916f7f6e4a33374ad356d00000000000000000000000079e8b5350975d4ba973906bae7ec1148dcb14dbf0000000000000000000000008eb7cc0f95a016f7e07794fc0f1798e6c5218e45000000000000000000000000b1bceb19451d8f80ef73b4e90b11ed8c72814696000000000000000000000000e744907d3c1c754f3bac044a17b89dcf157973e4000000000000000000000000fdcc0d9b5a2c995ca3be7632e16133f0d24d3d9800000000000000000000000069a0411e7fb4e4b0d2091bf99f69d7aaaa8510c8000000000000000000000000334f97881a501757bb6f8902de1bbba28a5b97e30000000000000000000000001d6c0cf97dc1f32af088c5434fc4fdaa305b500900000000000000000000000099272f8d48a482057ca876254fd2f4c5c1655074000000000000000000000000ebacd448a23f63a156841d440778be89613be97b000000000000000000000000e332f3d7676d0638fd010ffe6deeb256deeefc65000000000000000000000000a3507ff85d22ecec2cf72b92f26d8dad0249ff72000000000000000000000000e6a415fa6078cd240eb4b9d010d0c3f5546bada400000000000000000000000047d7781ee178d0f231e982dff86112047f48a91a00000000000000000000000052bd492c97a80f6160d0311c3b05a91546e547430000000000000000000000000b8b86d95fe1b36a15e36caa35a6ca3a74261c0d00000000000000000000000002ba8fb70f4f60b111889f1da2cef29ffd7367c8000000000000000000000000ef96ded9f4b2187aaf76f2cc67b2d225fd3190170000000000000000000000006145186d5afe79a30b09f181be7f1ea4abaaf83a000000000000000000000000dfd39a4585342d172636a24a88cbd729c267d25300000000000000000000000071d50beb6d246a489048ec3da237c3ca44eff610000000000000000000000000626337298570eafde40464bdae441a53273f6a2800000000000000000000000050a59fb0c284a99dd9c7f182cfb9c4acebcd5a480000000000000000000000004d3875545893e21bae6f1e0ab137cc2d9451bfcc0000000000000000000000008c5ef3a6236088d285ffc8001276a119cd4d5d7b0000000000000000000000009bc03bc9b1c0ce17049cb45a4326a724956af45900000000000000000000000097a6269fb7ed12a879ac373b3aa42862b8bc78530000000000000000000000001397c79e8f1d0d591b614817680ca15cb1f3855400000000000000000000000095ecba579c0835323c39b94a4b1f98c86cac68b20000000000000000000000009711b60da2bfeadce1eb4bbee1b08aa60f267b00000000000000000000000000259fa9ebcd6ab0ba2f5440a212741803fbadc178000000000000000000000000f5aef882a95c9fa5cf0f493c32b7cf3ea99ac9de0000000000000000000000002e1ca5ddcdf6d9329dc176bdd5be1a77269f2e8c000000000000000000000000dcc2a0d748d35c3fbd175b20b471a8f243bfecac00000000000000000000000055215eee3bd6b429dea5bbb60272c80842f13cdc0000000000000000000000008a086ad1e53c0493111fca21986c4848dccd6cba000000000000000000000000ed5f9b83855c29c3360e4cdff9f25d298868a17a000000000000000000000000811b42a7fe9fce7edd6c83fce60fc194f889c94f0000000000000000000000005c09fa5a199e0ae1b659c82987bd5c24deab57be0000000000000000000000002d54248256479a321d71583a30fac6364dea77dd000000000000000000000000ae14afad8c8e81f291895dace49ace8277f0cc7f000000000000000000000000e60ff6e3f268b51e402349ab283e00f885117fce000000000000000000000000e0b1f74d17c27b887699ac6a38433e9ecad4ecb400000000000000000000000009ccbaffa4b0b4370d12f7497ffe3a399e70d50b000000000000000000000000bda80edcdfe2860fe033cccc91b0c09b847c7399000000000000000000000000b451f7f66d3870128a06740fd1b4e1e6c342a5ab000000000000000000000000b2cd6beb632df28acdf8ee7fd1afe3a7ebf4801300000000000000000000000029aeb8a940cdc55beaf8c7e46b88a3158e7c2a30000000000000000000000000ad7255a0890020ca534eb8b033ccdfbe023b7559000000000000000000000000dfaef79df67c30bbb68791b938542fcbb2d4d605000000000000000000000000554ee323622b9eaccc38e885780f1643d567b1940000000000000000000000004d90cd83c0aac70628607a3b808ac452a06c155c000000000000000000000000153831cbcf6b04462ead4b9e6b235692210781c5000000000000000000000000509585532b696839103105c3a271e2e3148e037a000000000000000000000000065ef5a5e1035d1f45eb376029de5e01549579b4000000000000000000000000900537623941fbae7c252d34463d290d93e59ef1000000000000000000000000fcdcbf6d3242b4ed79d20725d534e1877bd949b80000000000000000000000008a622db949db8a19eb24bbbb9a15b4d80b8e995f000000000000000000000000d63bd4bb4f8d4e701e3f94ebb8f6d017a57ca44300000000000000000000000052e43010a396d79460e19b51f0fcef3ecdc2047c00000000000000000000000076260476c32e62bf829e79c6268771e9d9c2c490000000000000000000000000b9a910f432444831752d86fbd41600e511135063000000000000000000000000e74412e6a676f1fbe6557a4099aff62befc33f93000000000000000000000000b38760f15d0dfe3c82c026cf9abeb0d4d19b7708000000000000000000000000080cbf6a5485b7f0214d8bc7d108e85cdb92e01200000000000000000000000040e7cf2a6227f061eb320d03b25cb4e813b06f13000000000000000000000000c1a87e0063b2301b6c41e472ffd2008d346c45b4000000000000000000000000ff79125440d6dc838ae23c8d07e8af9bc8a99ed20000000000000000000000000a9a0894e2bcb6c376945f44e2bef2c1177aab640000000000000000000000004bb2e3a92fc77ab86595ce49071d5846ddb24210000000000000000000000000fba03010b419678582701d3260da6d94b050bba0000000000000000000000000881360c3dedf21ff7c73842c990443363110603c00000000000000000000000024394b2ec2b65ec7b749a84e9ef3df84775ea9ee00000000000000000000000086a851c344c76f39a5258d9fe431b2660fae8479000000000000000000000000282c134d3e30de85d18fe326a7cc5b915e366e1300000000000000000000000031923e1811cb6d5c26870439d457705505dcf4020000000000000000000000006947ec0057330e87c767f4fd046dca0221cfe935000000000000000000000000bf2ba54b232bbc8c99293d0a6c604ddad8579788000000000000000000000000133d65546c8d8f6d15eaccf30018d08907d91de5000000000000000000000000942e2816d9ce0d72292c6553061fb0b9647a1979000000000000000000000000e7ee2983d7c9b2fa7cd723cba478fb30ef3db6a8000000000000000000000000f20d916a979fd3bc702bc1f9956986066c8fe6180000000000000000000000000d2c183882e67c1e2cc0a74ba9d4b63582e1ff930000000000000000000000003d7fa056685d3c5f12f96fe51d65ca28cf695d58000000000000000000000000be40dce09b34e7eea9c45d3bf75c62f63225de14000000000000000000000000dd8b6adb81d8d82e0345f23c9161836c3ee9c99e0000000000000000000000008d7a429b0b6284806bcd50809c52ba60e849a0f400000000000000000000000035259374d389c4b05e693191c82cf6df1a53d9bf0000000000000000000000004335335c596ac1fb3872a4f3b02ddc5418f8e33d000000000000000000000000930387df77c0d9ad248de6ad90dc0dba1a923e2f0000000000000000000000004de57a1fd9ef62530347e6a7071bfc0ff3858b79000000000000000000000000afc307c70ee6e9215af5156dab0705fc468fe97800000000000000000000000003da327ddd35ff1c65e921cd70654540e94fb549000000000000000000000000c5c65adfb86d6f7504c0b0965101c6373eb1cb7d000000000000000000000000ab1770bd54544e877fb30420cb895a9db9f79a24000000000000000000000000ecda563991035af334ddba25bd41b82aa81bbdb70000000000000000000000004901912738c5b5c9fbf6c9007cc9c83da46a70280000000000000000000000009604e0d3eb9e326ac72b64ea05fe7092798ecbfd000000000000000000000000b4807865a786e9e9e26e6a9610f2078e7fc507fb000000000000000000000000328378b3a987dada0d4931fe12dd7a728c55ee7a0000000000000000000000001d226a8aa192b8b7ff64fe18a8f0e42acaa9e20a0000000000000000000000002848912a441b2e9b37746463ff24d49fd1271699000000000000000000000000124c098efef3ad4e1b6dbc1c9117f83138ccd57800000000000000000000000030ffe33b3ef0df80ba7ba302ccdafde6db8c4fc60000000000000000000000002a407ddaf58e38225e7e3df8f67a6880ef0e380a000000000000000000000000862597d51bc2f83e7013fff18b4cba6c6cece67200000000000000000000000053739a2adfb3e5ace1ed588ce01a5c1160069e21000000000000000000000000daffbb57fd438b362f6a25e66d900e8ee484e4910000000000000000000000008534e505d1221707d878c4a54b2a591d1430d043000000000000000000000000e5206a185df7639808ddf311cea2aa719447b6120000000000000000000000001d8dce33fa34901385aac2097bf8eedb99724dd400000000000000000000000098e997a08a568ff27b98857e854bd6ce275f64e20000000000000000000000004fbf9e07284544a0517683851028ad948b89737d0000000000000000000000002862eebcd5002ce53b320fadb48c9aba1246f602000000000000000000000000d6582b29ec5bd190070def91986befe53d32325e000000000000000000000000fcf0e4a2f84422b1eca6f5967045022213632bc60000000000000000000000004e2a38140276b3e03eddf692c6a106289e5809f70000000000000000000000005011550b4be96c4fe335d8c268bcfbfb488495af000000000000000000000000354dcb5f999b84d64918d6d4faa884acfa881224000000000000000000000000c12e8cbd46a7641f76ac966fe48b7fb0adb7999a0000000000000000000000008359725745f297ff73dbf649ed11579fbb25f0f00000000000000000000000000e034e7e7287491f408a6e619aa6be9c0139f8eb0000000000000000000000008d470921050899284b451d6a65f4204eee4aaf8f0000000000000000000000006f19c31d30f230a5d30c419d422b0f3bddd0cad30000000000000000000000002931d50c0adc64d975688cab6f2f8b4b736ec17e00000000000000000000000074dbc9dca031c891dd44253eedb79135dfbe92bd000000000000000000000000cdb1360fc9b47479e240783aa9949149fb362901000000000000000000000000b0088f87f70e37a4e812e8d328b3a09ab92099880000000000000000000000004e00af16642c6c4734d0c5abc6a3a9a300fd25e90000000000000000000000008a9bf2e6dda2117e3fac7f2ea858730f1fac34b800000000000000000000000091e87facc142bdec03538a285aebf6cc82848b440000000000000000000000008ca55b7384faf856b3d31d3c672ab42c4abadf8b000000000000000000000000edc7abd7d94e35d3a4fd96fea0c5ff08c1ddb01e000000000000000000000000bc8b718bfb350629ebbdbffc97e58cd156c6308d000000000000000000000000cecb8569542c204e69b78fb58a0b85dc479ddd7900000000000000000000000074147c53def7b21f33d98fb397e9d7446e1eed6d000000000000000000000000e7a84907ab3c709ba6a51d438368a93b4c6d876b0000000000000000000000007520f2d285f190aae4d3f3682a10119732596f9400000000000000000000000016a1ac4aa017a756aaa26b3bdb4adf3fc91c8e1f00000000000000000000000021d492ac9170e2c6ea1fb8b920c6db4e589ba4cf000000000000000000000000dd020557598322364f8e7968b6cced1237db477a000000000000000000000000ab06ef1d486721a83c94b30b58ab9e28c5a1049d0000000000000000000000009859f916c7b46aeae52bee615f93f2f4641bbe6e00000000000000000000000037b4bda59ae81c7d1b9044ee068cf02d201fb98d0000000000000000000000006a1c370071c500e4ccefce0c4df1057a404b1282000000000000000000000000bde046fac58ea77375a3f5c881159fa924fb53070000000000000000000000002b62f1c725adc85479f0a2b383f42be09b23686f000000000000000000000000453653f39d593aee3711d6a7585f37a4014b0e2a000000000000000000000000bae3991f8bbd92deab2031ea3cf46804b61c4586000000000000000000000000fd6a9c5aaf13c8da0ac785f7d3c48f557f328ab2000000000000000000000000d9bba38aa48772f78ea7e58fd5297bf1bdf74d740000000000000000000000001c7411ce07ee24cca0fab2401d66ef72b81f83d0000000000000000000000000bc129cc918d399d49b12423f2181e9db16545bc3000000000000000000000000458bf75cd1e902430bd48c82b598d659829b0a4f0000000000000000000000001fa104a5d400b3ee258228d60171ea5a0ee4a5a50000000000000000000000002375369d950d49897193ebcad32d99206c37d10a000000000000000000000000cda28d21ef23cd4191b1ecb2bea81a0b364865bf0000000000000000000000007ff67ad49af14f8da288128c1acb5c62d7ec04620000000000000000000000001feee7725378994fd5f743765759ba388d4bf97c000000000000000000000000e9080f406657c7926795a25ffdee9a0f40558529000000000000000000000000d6ba25d4a09af00027fe14fc4a4638b3350514fb00000000000000000000000063b1a49ae9c6565866d0234519b8199adc732bfe0000000000000000000000007e5fb4b5f68a651efb482daf3ec67455082a8bf60000000000000000000000004a370aaec96c9f9a2b35703511bf056816481bde0000000000000000000000002bd2c68427a41402a63159cce60730b6f7d90a4a0000000000000000000000009abced7d542657d164c20df2342e27d444f523a3000000000000000000000000517a88a5dbb82711de86b38e065c8720317599f600000000000000000000000003a189d2152d7f6b3c2d9e5b8d97e59d8e4c3a80000000000000000000000000739aae502ae48909018ddcdc47c3f40a03bd0b7300000000000000000000000061d0c70f4759be5d91f89b6d98a6e730723442fe0000000000000000000000008847610937bc3ec70b6ff34883c7d685276216750000000000000000000000005771571f448c1bc263a806acfada504d0cf3c2a9000000000000000000000000675b4072d0662d841b3066f6ecaddef6aad13bdc000000000000000000000000044eb5581e45aa390428b406b53f1054b255fd7b000000000000000000000000ac166bca1d6fc0c4792eed26ab7683cbf4bdfc2d000000000000000000000000e317be6b5b46d9e922a271eebf1708ebf46ab031000000000000000000000000695607da9c3c12b2bfc34fac98ee533cd0a12ca30000000000000000000000009ef037c4045c2ff3311b9f4cd6365dc1875ef857000000000000000000000000fc7b3d3acb29ac35fd0e4e035f6b654fa3b85a3f00000000000000000000000099026dd44d1486e52c4727cb911edc20d6d8939e0000000000000000000000001550a947ce49b1976154339565e598a604470245000000000000000000000000deabaff52ddb2195c08d9858420775e17e9cfe960000000000000000000000002801597fde43b1dd6d03d20670a2f71235450eb60000000000000000000000004304ecb5504e1790c8f4d5ab2a03b85c466824b50000000000000000000000002ae982827977d5dbb9dfefd1e201fecb395f480d0000000000000000000000003cb4ebaf657cc0a8cf7733e9ccafb0bd28a561fc0000000000000000000000003ddd130cf4ccb30bc778faeb757efdb8ed364b65000000000000000000000000abb1674e79d8e360a24a8328a223011e881c67aa00000000000000000000000063dc003b6581e1ef0b562b65ec9130acdadb9d85000000000000000000000000ea87f33f90c0da853dc5007bb39fa37ff2047527000000000000000000000000b9d73301efb1c45cf26f65cdcb57c74bb442ee190000000000000000000000005ebc7a6f0ecbc069065fce49b0ed28b5e6dbdaf8000000000000000000000000248afd6f369bc0e6e8984e5dea06adf4da23fb260000000000000000000000002a230f6e28ac76747d6b91a361968ff777f5747b000000000000000000000000a81d6cd05acd9dcbc30160219a03dbb5dfa0b0120000000000000000000000004706cf76b3860c706ec00db15b076e4d213669e7000000000000000000000000e31b9b3e5b631a55521b3706a7a8b67dc8c91f790000000000000000000000003e1e164fc45a96e0bd2653f1986eaed4caec80170000000000000000000000001be1b46206cb1e59ef3447f6badef8bf2af960aa0000000000000000000000005685d07153e3f446d267bf7bcb9e0c64a98c3567000000000000000000000000988f8331e7274c8e212161d6cb4571c9865a18af000000000000000000000000f8f01dfcb7c02d915b9e6ce25efb2ee5fda4cecc000000000000000000000000624733e4831e9e2eca4fa86eb65107e5cc65f2f20000000000000000000000009dbab61676e52c3df50eeb680a41e7e6647a17b20000000000000000000000001aa8673b965b7dc8d1536ef476ed2b10866781bc000000000000000000000000799666c1bcad7809033fb4b8978f5e06b138a328000000000000000000000000496ce14f05eeb085206744a342da6c7a5c5406950000000000000000000000008b05164d782b83f533dbd1ceb77e1812c2eb4956000000000000000000000000ba548b8bfd1170b46fd3fd6f4ab9d36f12c49a1d0000000000000000000000006f838d8c8cafa0c8542d8a514cdc6b3d59fba1bf000000000000000000000000f0dddfdbb6c1595aa846b32616afdc5679c74c85000000000000000000000000f2dec1bb9942549fb8263b6c4b04c0eadeaec72900000000000000000000000001149dedd07c2f0a3374a69e82deb6a0fe1f1604000000000000000000000000f3c6ca7417227eee66b1a2111763ead4df03b4a8000000000000000000000000bad430afd9c7389bd780db322680e6444fdf3e02000000000000000000000000acd8ba436150366e0661572cbaa1ec948315fbe40000000000000000000000003d6be6886fdff734e077e98fdda1ef2117deb748000000000000000000000000c6fee0d295fdc41534644cfb916a8f9f803a0793000000000000000000000000a4404fb67dc517fdda7bb2a28a5a6f6021ea44460000000000000000000000006866d5862794b63c6a3d26ebaf6229563e38c55b0000000000000000000000005a9e3772b5d9cffef8052b80b27aff4120d7917e0000000000000000000000004cc249e3cf0deebb7c0cdcda3d1fb06f0fc9ff6d0000000000000000000000000a03b1d8e9b24f214eedb2961648c23e0857059e000000000000000000000000c6d100c15675ce0ae42dd2eee8427ba89c78c678000000000000000000000000038f1a897d6f29cff77a872c9ef1266143427df0000000000000000000000000bdb2ffb226dc7eeda9a0bdefc701fd46bd1b2b6f0000000000000000000000001728603ec857977265c701200a095ca3defae6e2000000000000000000000000ec0b5ba6357e17215aee0d11e8dfe32481aabf6f00000000000000000000000077eae549171212c5cd00216a9aa80080dd17bca100000000000000000000000001ebfb0d35f54ae82cb76f43a2748f43687c848d000000000000000000000000992c3adcd40951d2c994e23602e4a359f10fa47f000000000000000000000000575b302abbb2fc589e50d8c02eb0e9d5ff92098f000000000000000000000000be7026680e04905a784ad8fa3492bbbd42fd676b000000000000000000000000c4256f97f3b817a909b770bbd3b4b4014203067d0000000000000000000000006a51cdb0aa8e3dbda911be9499bc8cb98e249c8d000000000000000000000000aa11c0e6592a8d36e0c9fc80fc255703afc28c8e000000000000000000000000c38a9ba36fb646ae269bff7233ab6a2ebf2bdda8000000000000000000000000894e0e39ae292b05c9eef15a20d5ba72a95bb44e00000000000000000000000028ed083115ed98f935cbd0e6349c3f6255b0c1ac00000000000000000000000095428fc85b2d764ad142172d83f6ee9ae07613dc000000000000000000000000c82374b316791d047107529d00e4705685716d7f000000000000000000000000d7ba85c737fa0e9173983d91da5406361dad7b0a000000000000000000000000443f5c8976a96296e07a61ccde81d1c614c0d11a00000000000000000000000036f12b51f8e595377bd47b3e73ddc2002569bed8000000000000000000000000cb5d531b8d568582893057e1c0d0cc5ad3af653300000000000000000000000037deadf4c978cb6f8ba495ffc2ed5a1d6af82ff60000000000000000000000004a51f8cb54edc4f3bd201607f5d7c91bd3986593000000000000000000000000719324b03b02bc6aa0c9d20df5cf3fc8522f5d6b00000000000000000000000033f1bfe93b9914c79ac208f62aa1c652751d27610000000000000000000000000ccf5abe78cddf513b78e96d4468c6865b2fb58b000000000000000000000000cb8a4dbdac2f3d976d79a1da2c7ac3f55ad389510000000000000000000000004cb780fd3286f2d10199b61423d1c804bd2a5d2b0000000000000000000000006e9a1e60c4386770f2c9197add572e09fba5c1b4000000000000000000000000fd4fa566faa6bd85ff31bd152e92bc0e7fee85b20000000000000000000000004e5a6500f048d89fc210be6a2e77f90f6abb1cdc00000000000000000000000059306410eef7a1f9a73406da77a8b4f2fa8aa5fa0000000000000000000000004b1df378cd5648db50e8f3a0dede73913bac080c0000000000000000000000005948ee330df6bc0d507eb7d3de4aab03f350d657000000000000000000000000a394ac5fab69542a9f2c8e291c4770078aa12d0a000000000000000000000000f0ffababe82dd698ae14a2045e8c2fff678bad2100000000000000000000000035b3e2b7e5b8d435648a25ed5cd1f7c4b6a50f350000000000000000000000002baa5b7fa176bd541c6f3636a72f2d8e2fbaa7e4000000000000000000000000d8a086cb7ccb1680243bb12198742b24a406b526000000000000000000000000c86a92f1c9fc2b73dd65ea489d6b790c9f29923c000000000000000000000000a55295a4a5e0c5e417aaa85bd3bb746fae3b56b3000000000000000000000000efe522cf3487f5951ee4ea52c9af4dffcd9348a70000000000000000000000006c2f0b8b3c4415c123d1fd62abf560630aeb8355000000000000000000000000ba83167ad5e670d66d18d790ab9fe812a9f248f40000000000000000000000002a2e3102e8e29f6836f1ce4ac3a7ed7eb67ae9b800000000000000000000000011ecb40bc4b42642e99c60960fd472687156740c000000000000000000000000cc58f1bfb20554fa8af89c71d69c7011671c9b93000000000000000000000000f5251a3e994b076dc403ed57e4498cb48d436bd30000000000000000000000009255766422eef0df9ad3b6b9a80dfb6fd88de98c0000000000000000000000001aebb617c9cede74327dc9b7837c650441ee7802000000000000000000000000f690dc6e603c865f416913ba4fb6437c94ba30410000000000000000000000008999ad933f1a529ab8f0afa9821243b046143060000000000000000000000000fe1133495757d2d7021bbf1f0bb621dcb0aa70fb0000000000000000000000005eda4bdc70237e396232a91a3135ae9c2278ba210000000000000000000000005fab7cfbed6aab512de64ee23bcd19f3ecb78db8000000000000000000000000db9ad42b6268a367a3b7bbcd2389ac75b30d1bc4000000000000000000000000dbf507476f25bb5adcbb53a836b26200a42b641e000000000000000000000000ebe25fa8daec9cbeaefe2c543588fccda866cedb00000000000000000000000028ad1b4fbacf113dc410473d7e5978f4a9455fa3000000000000000000000000fd4e107e7124eb51e5926d50d661cdf1ca48b9d5000000000000000000000000101fb72ca5782e61b11ecf6d525ac18f69497b3500000000000000000000000028c933cdb4f1388b66db285029010fd3f643cbdd0000000000000000000000005a996f2516deed54f4dccb7f211e8e551e20263800000000000000000000000030e36263ec884255c087d00db38d609da7b66bee0000000000000000000000000191b411b34e9f43a6f5f6fcc41f0a6aaa30e7440000000000000000000000000d9abf2b5254b04a0db2cfae61510d5d4983a621000000000000000000000000328c3bde2137e3bf6a4df752f26491fa8f479da5000000000000000000000000362a270129396e7fe3cfc7af3dfd88d1683552a1000000000000000000000000d8734ed66772bad2e608db38d9f167bd1b49ad73000000000000000000000000e9c59798e49a039823d731ee64cbde71512714820000000000000000000000004e69c56263b21aa440d73a297c63cc5fbd1d68bb000000000000000000000000c3e3176360633abe2ad5c6ae66275599390de1590000000000000000000000009248fd5b45d9c6286c139173c4971b4cd358597800000000000000000000000034274ed5c887cb1e9f4cf408c4b2705c98394aff0000000000000000000000003949ba04c05349a7974f820ffd0f80f22b393626000000000000000000000000f8d0a47f588bf007d9538533c244b8d6f8a958770000000000000000000000005cd43cff8b02802e2f24532eeba495946573a349000000000000000000000000d0a2569a53e4d07505d19c72386c140df06857120000000000000000000000009c29067cfe92cbb1f7c190e995f782177c1c47570000000000000000000000005553f975bf79041cc1b85db8845e5f9ad6d971540000000000000000000000008fe684aa685eafeae901672ae314bb11deb8096e000000000000000000000000272781144d28498c20ba567b3de6eb5367b8a024000000000000000000000000710b4a7868cfa17e73ebfeb14216c3f7daa96eb9000000000000000000000000d1834d8a773be485cac87429f7fab2008cf79a1b000000000000000000000000b0cc4ed0cc3c2231581eaf6fea6f422928a23f4f000000000000000000000000ae08fb209963ae114a3360cf4d903e2de0098969000000000000000000000000dd887a406b2f75537487e40b219d6fc5301d269900000000000000000000000058145b77d03c8c96e0b798077450e7bb6688b3230000000000000000000000001c6e91da67fcc61b43ec3051b1cbbc913b832b75000000000000000000000000ea1df1c65d6a45285693e630f335b420ba0e0aeb000000000000000000000000bc6e020f23ca25829c56b18956f89ba5dded9de1000000000000000000000000ba231b02c128f7a55c6a1e2ecf7e6035bc4f9027000000000000000000000000b83766dc78447e0a0f610b4597d46659acec9b01000000000000000000000000180446883fc57c891505717a095a49a9b7fa528600000000000000000000000092235ffbc005aa78bcd74d5e7f784c701bc3f702000000000000000000000000dbc83d56a310250852f63b715361ac2dc28cea640000000000000000000000004c8e399fb9731cd75b5ee53dd83a203db0f543b5000000000000000000000000fc6ece3aefff65a7f75ab22da3fec92a2d087ea70000000000000000000000007cf49dc2b97dfa48f60913fa2dea6e8dda6e7c7c00000000000000000000000016af5148b30b0f21ec044f7397ee434951429fae000000000000000000000000267385efdf48ec1e90ac6f3063dd198309647877000000000000000000000000ee2b31fcf6c51ed01ae06cce05293c30afa5eb870000000000000000000000006ff097bd87ce51c0fd15db018673bb67cc0991ca000000000000000000000000a78c0c839ecd0d34263dd87035d6b74762feffd3000000000000000000000000d4676d016af03d7ceaf5281fad2cc606f241a32e0000000000000000000000007c1bd68dc078b2113ce867ac07ed898d044787d10000000000000000000000001628562483c93462d2a22d615d4d83a1dfbb1426000000000000000000000000c47b3e00dc0b94789372673cc9bf65ad1ceed3ab000000000000000000000000964ed78baaa44e4db3b2ce291b2deac5cc4b18210000000000000000000000005b9253041c53c494c888cc6bfd5f77ffb96c91400000000000000000000000001f9b9b580315c8790c9ad60b43c8c410a8aba3c9000000000000000000000000351c9297a85b3537e358a17d682008e6e78af9b9000000000000000000000000399cf1ca9b8dcc369ee3bb2a6516144de43e506d000000000000000000000000ed2b5b2aa27fd631f435286a01b5cf6aa94520600000000000000000000000008d5ccb11e92b08f163b8e8641c8242ed436bdcc80000000000000000000000003f48bc1debe6925f3d14eefb4af237e4a7a1ceee0000000000000000000000001e44bb849975f5b3d4dc9204ca8c5bbfee5915fd0000000000000000000000000143cbc9206e6a32dc06e526792a49b4b92ead030000000000000000000000000ec061d7eed1022bc12a2daacfd6f766654bede90000000000000000000000002befa876d327a00e04cce02a41505a88e1aa9d4e00000000000000000000000026e548ef3b5fa252fab382dc0bec33637be6f0d80000000000000000000000004e9b47c6d3d79eddb681a2bfd71fb05d796498a90000000000000000000000001e89a49487a5728f6c5255a9722d4aac498606dc00000000000000000000000090f9e7ce9e4771fc901481c37a286e2543907d4f000000000000000000000000f3bc4f290fb281caa77399ef708efe82746a8e9c00000000000000000000000069a058aa57781fb832951206804a41b23a20492c000000000000000000000000525950301f8222189b47000012eb6f74a17370740000000000000000000000004bcbebcd29a8f73ee7b2be81ce926f33e30d511700000000000000000000000033b2e84157a2d087b582efbd91fc9dbb5d97022e000000000000000000000000d8fcaae329180b8a49ccc0b91e8100ba6011142000000000000000000000000018ab0086b373b066dc0d211dfa565ac43bb9e5780000000000000000000000007c185f7ea1dfd3297d95a87aee247a248ebdedfa000000000000000000000000d152926beefd40caef59040a2144980e481a59e30000000000000000000000004ec793ca699c4913e12c89c538ee7915b8afebfa000000000000000000000000d31572bb08146d593d09af0a46dd6621dd2903ea000000000000000000000000d93e2a5f280ff03e6029f2524b81488350aad5ee000000000000000000000000092e6a22f0083cb40e08107fa28291b655eb934200000000000000000000000074ba88baee2e66b8f7c9308eaba8858552bd1ce5000000000000000000000000a7f39ab40c2cb2e7fab679d81aa9f2ca6b7ebdf10000000000000000000000006fb1e33bb029f74fb47b8df20fd5c805e0a37d05000000000000000000000000ab79ae5388f0f31721c4beed8b4b36c5a581eb480000000000000000000000009deff269b22849889cae9a965769f576a1e72d2700000000000000000000000017597b968f8a8c792ba92f92f71be686785ce0180000000000000000000000006015befd85b0412c703e2b6b29b02da9a2c1b30e0000000000000000000000004ec7dc978149d6bdec97fd202d2e7d0fba895544000000000000000000000000bd8570663f58fbd51ce6f98b21594efddc2bf9ae00000000000000000000000035b33f520c7ebdc26c5f33af6c6cb3dce58aa3fa0000000000000000000000000a14ad941ecd8042a8f2661fc1d929cc0be7a3950000000000000000000000004d4e60a66195197e0e45a77b03fa7ac3bae68832000000000000000000000000ee1a89411b6588c415402cedf988c7171695db77000000000000000000000000972add6aaf83dbbad455278de2507280ab6322600000000000000000000000009a9d98f94748fe0b709a3b78823858e763f1722d000000000000000000000000bcc6d5ba28b7632b7827704448fea9143c41d9600000000000000000000000006d5d8ea644f879411df87e23fe078f6461673a2c000000000000000000000000d9a0a16e5a634bf5a02962b667f17c65bae14086000000000000000000000000eb515bb2aedf8323111bd2c3b6d88142e7103c8e000000000000000000000000908135a9d1a7aa1e6e5a844110ff20f2f13e6839000000000000000000000000a7bf2712349bd3dcbc0cebbf49fdd2449077d744000000000000000000000000c83f292f12cf02a29d7d8154ba24a96307350dc9000000000000000000000000fb92b5ebfc1d08ecf5dc285e63ae6e54208ebe1700000000000000000000000000967eee711ec809300d864aa8f2d37472d53c50000000000000000000000000aae4ff8f49e1509ccb6959cd464477231e1c9ffb000000000000000000000000fcc6b1fa966290836ae98667f86c1fd49e5c1706000000000000000000000000a200369d36d9a1040bddddf7f83995220e87211c000000000000000000000000f6d25cc2b033b70f5749039fc99a1eb6b58cd52d00000000000000000000000087fe0390205aef00cf88d8db9f811768887bba4e00000000000000000000000045e9105e61a2455af444f503aa416c11d34567960000000000000000000000008b154dfcad9268c4ce0249cd8d5bb1f5e619e35d0000000000000000000000008d6627e0cf014d2db67471979a18b812c1e1517e00000000000000000000000038fe505c4f58b4649e18adab6e5f9d83fcfd943d000000000000000000000000734da2175ba348e531f9947f0fa18c7feb34f8890000000000000000000000003cb39da1b50fa8573c9557496968c52a87e4eccf0000000000000000000000006f7cab2f48ecf2d537f118ebe9530a4d68596201000000000000000000000000b373eba1752d83c428590abd73302a9f84aac055000000000000000000000000a675dbdf8e0a06c4346d5adbb33d3d53a18f9b600000000000000000000000000f12519997020842b86aa351fc9a82ece62b12be000000000000000000000000f064fe3437346b288f518cccf9b95d760046aeba0000000000000000000000002fdfc5409e99a911a6466f361f71a56d74bef27a00000000000000000000000009598bad0bdac58f98c2c17efa6f5d0100e5846200000000000000000000000094352d84298ed59d8c19edc7f8f513dd8b2ae0380000000000000000000000008e44c406c5bb7e78f2965d99f275fc02a39591d400000000000000000000000017f3187bfe1000476b9c3497c0b6b9e089361d1d00000000000000000000000040590179e5e8293f03ca04f93ed85e51d518f057000000000000000000000000ccde0e7bfd320a9469c0d6d38723bd14a90a15b70000000000000000000000002261eb0f2667dd2cbc892c467334b9e7f2ba98a40000000000000000000000002d6beea57ddecd4c21c99ab5bfa7b0bcba5aaa8f0000000000000000000000003125bbe44d15f2ebf4f5e52d7d7445652c01d28a000000000000000000000000b5992660d27dadcc144314cf2bf0e1ae97f6f965000000000000000000000000f256665490a66fd7074916acf98eaca4fc2cdee00000000000000000000000004fec0c2786d6cc87aeeac487c6706cd31b73c4a1000000000000000000000000ebcff99858a44049f4cd92dee10986c56b8c28dc000000000000000000000000dbd672ecf4d0224ebf221885572fe1711d97939c0000000000000000000000006face1420a8683be8341a2f43e29469199e54bee000000000000000000000000ab1524c9d4b257f961f42ab1cd07971c161693a60000000000000000000000009d4ba3bdd88de29f0ccb159b0b35fef0f38950e7000000000000000000000000ced7b72c9d1a326889e7395fb2cb2d4a325a722d000000000000000000000000bc1003870a1e87a4e7396ff1a49b5e9ab3fe7b0e000000000000000000000000caa2ffc857e4376f5aab145666ae259b0be0f879000000000000000000000000491ead6f489d20ae69f8df70a4a8d0c73975ee4d000000000000000000000000470b13f1fab3f111ad4113be197a354c862843d2000000000000000000000000a7a6ff102ebc2475289e693610892691cc3313d100000000000000000000000098f0a66f12f43c20c54f38a66fa1963d6455baa2000000000000000000000000d56a29dd749b1c1b8bc16cb5b0ced51090d468c9000000000000000000000000175dc92d3bb4c2ccae82004096efaf0c090be7d0000000000000000000000000c38346e133959e513745a501c12a7898d68ef6a800000000000000000000000066d8180c6a35b0f68c2c9941714ed590746df6e40000000000000000000000008ee0d8db6388b33a9288cc43c9bc9ebf7737a1ae000000000000000000000000d6207496afcd05c2ac48bb7bb1bc3b71037c5756000000000000000000000000ad1beedfa832593e42c0222173423d774912f7e600000000000000000000000039c262809397aa397dd355ecf90242c6c9cfa9930000000000000000000000002da2b1567ccdf89fa2bbdf18a9d8479400e86e2d000000000000000000000000aa070096a3ab0115eb454ee4f17298a393d0c1e90000000000000000000000000222ff554db6c5b978d5acacbc849f5afc036085000000000000000000000000aafe96d382ed5821644e309b2caf49fb0754f1990000000000000000000000008dca893df421e7a9559c9de3a2487b0e07da5ec8000000000000000000000000ae788e48ab19b3340c6bc8af4e29595f3cae8c8a00000000000000000000000080e34c5dffc9c96cd90a04b8d0d021c9f13323df000000000000000000000000b95947a053fec30af9e7dfddb2a437ec272e110c0000000000000000000000004fc429d5b7538a5f093d699f8c3af294a5bb03b1000000000000000000000000df530b3b421d3a2d828ad6851bae963ee63c148c000000000000000000000000d7af5ea14fad145b2d9fd57e321d7bf8301980b50000000000000000000000009eadefd54836a6b25c838d32d6d7cb9dab85f01a00000000000000000000000080b8fd7a9db81a99e73cca1128bb79745c214af80000000000000000000000000c8cf45f4dd7dbb70cd7ea4c0779292ce17e1f820000000000000000000000000f6929e178471f7f03f3051a7ec6e4aae2c5bd92000000000000000000000000e14f5db0abd01e1682e6df5e65f50083fa3cb538000000000000000000000000df5d9e73614a14423030c53984c0e405ca505794000000000000000000000000d396e6bb568ac710d233edb13aacce5cdbf457d100000000000000000000000005f558e1a876fc4a26c637dd57b53d2a7b7dd2a4000000000000000000000000a47e175eb6269fbff4b2ea17ac0db229235d54e5000000000000000000000000323bad741208e02e09afb713ce323c7be45248ba000000000000000000000000562dbe00e61e5d947a2bc2ef3d420c7631ed64bf000000000000000000000000bc699cbc71fca5f9744a23ba9abc3012a5d5f0ff000000000000000000000000b77eb7b5703bb25f08f2f25ab59662ee6cfcd276000000000000000000000000f4813754ae0d94bdc5c530a82785881e7d6d5ba2000000000000000000000000440007add1f7d9a965b4aa940752ea59d145bbdf000000000000000000000000ab69ba8247be4fab97de4d25b3f8b96c2170cf0a0000000000000000000000003c7682ab15d957532b2545a6671daec62320f58d000000000000000000000000425c819b99deea7f05fee03f470889f2b77aea390000000000000000000000009ceb9fb5a67a2294319001dfd8ffa805fa8dd9df000000000000000000000000c21ecd29a0d4699c729552702ab8bd9cf562829f000000000000000000000000f33797902a452d02f06d6eef1adf7fce8963067800000000000000000000000062db4a484339b6e36b05837e6dba37ccaca657610000000000000000000000009c9c28ccc2dec1d7f0c3f772edf7eaaa62d753be000000000000000000000000973d32eb15d492cb560127370c58ad8272516cd600000000000000000000000092f9629f7de897defc811c797101ac7b76a09bf7000000000000000000000000f894b9ee58654b206296f5897132b2ca01c3ea6100000000000000000000000035ef738c1e10d55cf4cce953a273f1afd81740990000000000000000000000001c745e1aa92cf2df858ed48c13098a6c9bd4e7f4000000000000000000000000dd47e92829c6879e3985502ce7d879a370c22cb10000000000000000000000009e3b0419c02799b9c448802c093a85870a54bb6a000000000000000000000000f8074a01acfe268d1e2794a81c9fd499116f5d5000000000000000000000000064073b1ff142a711e726fd8d50af95573e27b11900000000000000000000000083004857ee927864a72de1695253be177b2cc5f1000000000000000000000000a8e5ed7f8c0d7e37b5ceab6fcbe2d1e5a4e997b20000000000000000000000009551f723aa830f0baf8e043349661241885c5230000000000000000000000000061a501f2f742e5d33ff5a3d5e04d1541be051ee000000000000000000000000d1c413ffc53dacaa9f6ca341cba6bdc1df3272ea0000000000000000000000002086c74f696aeb8f736493501bb2ac2343346519000000000000000000000000eeb93c705c52f2b6595706b5bba0ad6fc5f19fe10000000000000000000000007d0fbe2cf94cbf2598b550636b40313fe098792f000000000000000000000000de1d55448e4ae6468c1f9395ebe98442b0f39a67000000000000000000000000e03c202d4a3686739653adb2c8a7207f8693187400000000000000000000000065066df6a7c0b0332b570ee5c1959d608fd53466000000000000000000000000687a78291e1d4c07003f3daaf3475441a994e28800000000000000000000000052b875659b28885c05762097201cf8b20092d17500000000000000000000000032d897232c74a68fb781d181de9bd6529554449f000000000000000000000000bdabea0c1fad23526d9bea31d97624b893feba6f0000000000000000000000007af06015c50daec67fcc9f9d4da836b0f2c033460000000000000000000000007817e0f3877b86371f80746fe2ef186df1807e4c00000000000000000000000025e886ffa79e1e054a80851b81fec680c4b918a0000000000000000000000000cc0f40373dcf44d429b14891d9594ca8190298c2000000000000000000000000a03f7b8e6adf87502080aeb662192d5815feecd9000000000000000000000000770113c6b64fcc68bee5418232e4b61b784933280000000000000000000000009da7933e5edb826bbcee04920a6946c6362442aa000000000000000000000000b591f6dd55e67e2fb424376651ff237eb79206b7000000000000000000000000bee163867a45a85885bbfeff222d1b3d67441f650000000000000000000000007eb90c251fc75be71fc8183a5f680b05b14aa6bc00000000000000000000000007fb2b104759bd8e17deef07213aa9056f282786000000000000000000000000f1860d19f4b14504b03dc50f060f99370400a99c000000000000000000000000e18155c63a2f6a8b765a6c78e3862889f5cc93c80000000000000000000000002cb50433fa3bf17f566920b1ed841c935e288a0f0000000000000000000000004bd0e685140583750794cacb4b8f8ebc5a862b1c000000000000000000000000991fccda7e3b454213f0c5efb86f335777c4ab850000000000000000000000009b97fbb99f7efb3f3098eed5dfea04eca6efcb180000000000000000000000005e4cc975e6f5b288c285844078723ad8e0a2017800000000000000000000000048f7bc37d162c426c41d3ee7ac0f00b4047ede6a0000000000000000000000004e709b1c6261cb94e881f80949b6e73632004069000000000000000000000000ad7143f4e9c06924c2c9a507b1e1421fdaa9622300000000000000000000000070e839d353d7a63b8d8fe31fe15ed9bad2d06268000000000000000000000000a39f4d0b7330937ff7af41ebf0f601eae7e15a94000000000000000000000000891c646e6241a643447736142715dd26cea98df600000000000000000000000066d107a1030aae792845a3d06303446ecdd9188300000000000000000000000005cc45df3ff22e486a3ecffd7c3ef8fdb087e4fe000000000000000000000000c945795c0eaab92fd63ce49d70b61d77b84f52ca000000000000000000000000a725696b13e93f39ee452241465e4a1251799c490000000000000000000000001eb43ec6de654f2b528dcb661376fd1fc2260e10000000000000000000000000ecad4d1a58a666989062530398e82f3bd38b687b000000000000000000000000e6719ea90e688de2559a1702fc945803892d7266000000000000000000000000c0007d6dcd1e5d8517409a4c61f278c6798807c80000000000000000000000003884968ca02eb4aed7ca9276af3f54c4e7a8c98b000000000000000000000000f1a500ca1982c2291f4a3bff2f65a11529a31331000000000000000000000000e6a37c6afb7a6e19a46908acf98b71c83783d6670000000000000000000000003e861e1ed53e329a8594dd14647679ccd80d99bd000000000000000000000000d9744cd4aa86dd1b338f02e00ae02c3ddfa39d1800000000000000000000000037786115a2cb70f7ccdbeba2a9decefafdeb4a43000000000000000000000000349eb68d9435b1c40a159943fed079a9ec3077c0000000000000000000000000dbf5c6c55ea1b408b57d00e0f8b3bffda08e1e330000000000000000000000008188af55a4c4e8b28678f61ff14c34f649ac084d00000000000000000000000087a34874fa707f2fb9385603d21ca6daa8337be7000000000000000000000000a79562bc38b775aabddb83c58a49c1383f542fc8000000000000000000000000450c4e566871a7ee86e35306a1adb131111869d00000000000000000000000000bd954cd2108f667d3c3b2e3b23a8b1e70a6af360000000000000000000000005a43991d77333af2e87dc23bd9105c2ba8737b4e000000000000000000000000a2645ef7c9a0dd305b25bc3549be80c717b3d514000000000000000000000000ab533b5ac3011679c11203d5acccd24fef7d612300000000000000000000000047a8ba3abdbdd2ffe9368bad55939270279ba5ec000000000000000000000000400ea6522867456e988235675b9cb5b1cf5b79c8000000000000000000000000f2ff9961c6cf369fb796b4086e53ed04d0d654430000000000000000000000004860acbc0df7569f3a15cb35431c7816c8187fad0000000000000000000000006a66c9d7016e148772e854b7f16a97f00306b6ab000000000000000000000000c272b081843ffccd02b9a20c7c921ecfe8c5c46e00000000000000000000000016669272466e69ad95e5cbe8dc0867fe6dccdd0c0000000000000000000000007f6cd5785ce45995abe2cb5681f274952b097feb0000000000000000000000000a43e5cd991852e539dacd2996ead14cb9ff490900000000000000000000000086e641ee8371ae4d499ba6cee9d855d5f401dec70000000000000000000000004acc1e0ba16f0ffa7dd369fb56d8d79063e05a0b0000000000000000000000001c4f216efa7f7702e12e5133c2001d1a82c82d0e0000000000000000000000005a078e88896710367d7a4c6f1eeb0e9af2bfe7d30000000000000000000000000c4ee08401116e07b2cf124c08c6fb360a39b9f8000000000000000000000000087d6b0d57dc130d7f2ea5ab8d3ebeb0a5c82be00000000000000000000000008e083ec6bc0ffe81a1c4d9d80b20272ca8aa8fae0000000000000000000000004594a3d3b1408001010eb76c898353d03b6ae438000000000000000000000000114126d6a665a36afbc1401f0476cb1630184ad3000000000000000000000000906213ab8781e5339d18ea071d16c13bf3e5b4f1000000000000000000000000ac2bd235baa2d8356e6bce7d173a3e5c2b9702a0000000000000000000000000f72b9a27045b0889bc685d014dd89aedc47ee805000000000000000000000000556d35e94b09c6d88511ff4aac3a2feeb78ab0c4000000000000000000000000b5b7472fe40818f8589ed85469629d84ee7a42c20000000000000000000000003cb6a397b9ecaa8d60d5b480248bbc3ab22a997500000000000000000000000055c4aaabbf82e6ad9132733abf50f9b10c9fa9d3000000000000000000000000fb7c27cf8b2718fe2b8b212e86b9a9a6a7c5e2be0000000000000000000000008029906fd001e4e8816531958fbff060ff918dc7000000000000000000000000a9762e8071ff7228257f3580ba72a0983ed46f3f00000000000000000000000021c234154ce5bb4e1edeb834e2e43d2a41920be3000000000000000000000000961b6c741631ba87ce2d51d6f0ddb7c633209a000000000000000000000000004a4efa60fdc2454f329f196691ceeb6e60f038e1000000000000000000000000b050ecb43eca8026cc91c7fbf43eae6dd1d7c763000000000000000000000000139fa9389c71f521e9e8062dd036a70645e60e5d000000000000000000000000273e2da523ad68b8913e6029fa3a492c35c067c20000000000000000000000006f4706f06cc79728ce0c82f72ed520c53473c951000000000000000000000000b22266495962759957565a2db3d28ee1fb610dab000000000000000000000000e371248984e0ba16e1aa234531f9c40ece534f71000000000000000000000000678ffc1f45a6819feb41d9406d514904b8c3829e000000000000000000000000dfc047532b45072d651f03424c4fd1b9218616f30000000000000000000000009cc4b9f1bec518858863024b637eec962bec0f4b0000000000000000000000005fad995a349278c6399e44e2d5ea491c9ac92bd80000000000000000000000005428e37f2c95c7b49a0876786a2a782d98977dcf0000000000000000000000007dbe0789cd6aa189ba8dffdc9eba7fc9d3b4ffc80000000000000000000000004f914a90a2d62f80d64a694b4068dc0ba02292a700000000000000000000000027d2b9db3c40b66524c5618377e089a1a1d255ea000000000000000000000000595aa7a3fba245d0f5b2d522aa60df781ce565fb000000000000000000000000b33e34059048dd366e3e12f924b7ca0fd95488db000000000000000000000000a4d08258e3bf3fe45b444be085c6f0a4b8f9f40f000000000000000000000000a193af2ae191c446e52a6ff49aa17368be04278f0000000000000000000000002f365aa21f1e67be790c102902abd5f1e6ef7683000000000000000000000000294ed8d68804a98e814356741d886b29db7e41cf000000000000000000000000a64e6d26f344b45ad211a3d33a150e2edc8d42d7000000000000000000000000dd8449f0660d702da0a7d5fd807b53a8c6d454c00000000000000000000000006314436e9118d315ed665127e199c68bb04bb7e4000000000000000000000000b66cb21e265f94fb11b9975f537eed33c0e818c100000000000000000000000054dd4fc8fa9e85904dd62e2daf023c213452a2a1000000000000000000000000db093e39fffe5e9599d8ec95979b63f63c52ed7a000000000000000000000000102253fd1c46775fccd4fac65beca04b06157c980000000000000000000000004562f3fa4c9bb02148181a28b04b1a7f5df476e6000000000000000000000000fdc4d20d8dad52b2613d4badc6fd4e64592642a300000000000000000000000070ec37d94367ce892347e2972697a72aef59f1b0000000000000000000000000f7ebfe9c6cf4eab3e518e6042c7a1802b600d8b9000000000000000000000000c50b8553f15a08f262204513e738821b885654d8000000000000000000000000c0dbc44db7d9f07b919932fb9415d110306409310000000000000000000000007389ac4efd828062e0c4a1ad453072d4f59313c200000000000000000000000007951bcf8912450486501795a98c2a2d594fc2230000000000000000000000008a723408d92e41e86e379d6b8f6a4dce0185642a0000000000000000000000003bff4b16e2c71215e83df554117d40a5f5bc2d09000000000000000000000000719ee15e09a7ef088314710269f00277104b4ff0000000000000000000000000b52e0ecebdfd4f847dc019ba70fd0cc92ab59fc60000000000000000000000004944bd8c5e463e9d5ca38bc44242e216dfe80dc50000000000000000000000003a84102f0952c08df4ed58bb011c23d2eee9a9300000000000000000000000005789584469dbea9b1e6484eb5abe7f36d20ae54a00000000000000000000000098149d0424200a79ee0f18d2d72c4332c0dee318000000000000000000000000262bde3a026da75eab79996b99a412895c4d1904000000000000000000000000d37e42ef234c05c09965ba9e1e3f3ac61a7f03260000000000000000000000008ee53a7b24d6ea1012a9c04aaa1b1b2792bc3fa6000000000000000000000000d758075781cba9da9f999f10680f8f67a5613c4f000000000000000000000000acbd60094da973b6e795ca7c440f61ef9b01a0c60000000000000000000000004eb859fc83977267fbb6ae1066a51fb4c9086c28000000000000000000000000fceca98413f1b67910bbb0bea7c17d4b7c6efe8e000000000000000000000000d12d07b32caae5973d52ffed143dc7607bc8ac120000000000000000000000009f981188b0b4cbdb62a6a62d9bf04171a932851e0000000000000000000000000f2ace8fc2580d637c15728c7690f6ef666b16f300000000000000000000000055ae0cce1b10627ffcfaed1ca9084ee837159cd500000000000000000000000099030fc55e2b5e02eed5935592d4f262fb1f758e0000000000000000000000003e596ae1b88981e994a95069ed451bc78c02acfc000000000000000000000000221b3096a034fbdab87c8a957d056eee1ccec6df0000000000000000000000000a9073e4310d6299ab0561794ddefcfb41bb0cf3000000000000000000000000ec0c2767113d568c44283de04c0739356ee528080000000000000000000000008bd7b1f756747b2bf4ee1048b64b49f4256ec687000000000000000000000000578264fcb5fde0c62a716471f626c93677acad180000000000000000000000006f02309b819652f16af214670abc26b3902dfe4c00000000000000000000000088a218bdd10af88c0675169fb37afce526f3f7b80000000000000000000000002509b27d9a0a1cafd7af4bda0b21eb7ffa5278b60000000000000000000000001168f8464556e36ec9ba9baf6578cdb42e2067020000000000000000000000002feeb9b05c27c6547037fe83a32a7d683a57cc8e000000000000000000000000b5cb21dfe9f63843f0daaaab27aa5153dfebf22f000000000000000000000000a1372c03f10cabeaa3df38c6dfa3c3a61d240ffe00000000000000000000000038a1b57797b9d7e790ba7504660d79e604a30de9000000000000000000000000e90494334da06c35300a346255c5133536584c970000000000000000000000009fb76fd33e685b77b0f99e69749b1529a5da74a50000000000000000000000001ded7d0dc647c186d99bf3de6cabc6cf0f012315000000000000000000000000cc3dce1228acc2fc9a7c5b711634f91f1ef0c53e000000000000000000000000916f05d61f8b7b976e024410cf046734764a33c5000000000000000000000000713e42bb87939e709c2df47b6b7bace4e07f90cb00000000000000000000000007e275dac2ea86a5201f1d9a245cbf9988bc9976000000000000000000000000a31f9730149e37535f65d4a77e2743160ef9ea27000000000000000000000000329934040d2396f0a2d57676340e6f21583b1d2e00000000000000000000000024b7b2bb5c860e82c64894abf61d02d3a930466e00000000000000000000000090e4aef56826e14c39fe5baf5ec7c70dd41408c800000000000000000000000096f4b7bf2d584a7d53d31199dff8f8f3ad2043b5000000000000000000000000d8b276df19c69c05c3b7e742e1e8831c297c4c97000000000000000000000000ebc065e199b9f1dfcb253e3a542df30d4d58d328000000000000000000000000f04b86c1ab6e8d2b8023638cf4d8dded0cbc51ae000000000000000000000000919c659b4c78cdfd0ef467207f8aa315c427e34c000000000000000000000000d6529d312e6aecf87e8976865a30f031f7758e25000000000000000000000000239ff9c1483910de885ecf6f077e11edc255d31a000000000000000000000000ce4f53f02e3255533ad8f6b1dca489c06cf67ea10000000000000000000000002858c497e203bf2d519e7954a2a9fbb569f6a17e000000000000000000000000880ba33cc89bd5071a7f7ab07c28f51bc65f4aca0000000000000000000000002150443ab0bf8cb2c10a5783a32e6d630ee41ce50000000000000000000000007e1d2b944c96d47571df8bda10c6281fda1326ff000000000000000000000000172ee77b829c6dd399192cf342cea9ccfce6bfcc00000000000000000000000048724c96e994e9e8c68c80035f294ac38cf45e39000000000000000000000000c0376ae87672dd9cfab983e59cf7a098739ed6c3000000000000000000000000d6aac01503f0d12431a2c418048dfd09b57377b2000000000000000000000000643fe667b63cba773eaf5c5f335a52633f6429ff0000000000000000000000004d452a32e50d39814dfd9d1f2157a86d8d99e654000000000000000000000000640e856761365eadf6a1289c6ef5f4868db76abe0000000000000000000000007dc978363a925a0a01dcc020a332796618f9ed9800000000000000000000000025564861cf29f1673a9fc972bae11efdc386a02100000000000000000000000033c1f661993696fdc5a5621016f5360e282ba519000000000000000000000000da9331bcb0625d2a2c254280ff42418316c758f7000000000000000000000000431e875654d4787dc1188b544dea602bfe5e26360000000000000000000000000f49466ec8b578c6ee173f547178eefec784b218000000000000000000000000cd186522a1624e16e2bc2b4378cd99192f3185d800000000000000000000000005c12b24cc41aaa3f984e8967e7dc76e025b251a000000000000000000000000dfffaeeaabf1140d1ddf98a7138b96cf1e63a08b0000000000000000000000004d7aea98e0e51c852e5bda40eda72de911e3f4640000000000000000000000000ab1716b61dd2860fbdd5027c0ce52a49eb74aaf000000000000000000000000b87cbc66f4e2caa4a583113c39aa436905a34d7900000000000000000000000022823d8d25ef69ecd09051ad197003ffb81cb90d0000000000000000000000006c88b047764b552b6f9819572d7ef65951186d24000000000000000000000000da52002ddb5ad541d1559466fd7505c562480dd8000000000000000000000000c2dcf1c47f4fa0209ca1684a4f303ed3d9d5156d000000000000000000000000f79bde72b8cac1affcf760bb597b2bb48c705dc1000000000000000000000000da75b6a037144fa5aa4c3e89174da87a4cee33e200000000000000000000000094b0f482eccfbd7b8544c4b6030332acdfa1b9b600000000000000000000000058e698c822ea745e022752357b4b74919a7f63bb0000000000000000000000006672232ef30188b2d42ba940df86a3466bcf87100000000000000000000000000661a112029ad286555d557580135c082ce18b400000000000000000000000002ee0174d5560be42ee4f2f16006d2a3c3c98c9180000000000000000000000007bf3a0e1456b5d01ef1e92392b883896fa87d7fa0000000000000000000000009895e2025bcc648c00d77b99d4f49752d47c48d8000000000000000000000000541f7cb56317d60a4a541d86d918cf54e2d98c52000000000000000000000000ac1f4db92311837bcbb9f291150151d69377d563000000000000000000000000ebee0a735d84c0e4450ae89d7c9ae77431897e7600000000000000000000000068a7498a3b4d3411a2b6dd2151c3d6c8cf8f4620000000000000000000000000ce6e05033f0d3efaa5a33c715acf9438d1004865000000000000000000000000509a99981b712cddb497439a6e4f3c85832e3367000000000000000000000000457302bffa721a2f7f2610937a7024ebb3f15f85000000000000000000000000d3cc17eb62697f648ed42fb75cfce0d35a7715de000000000000000000000000115b1802f63501855838913a38662fe1f1251bf70000000000000000000000009a13b0ac9a02afcb40c88b973c0a5ae0aad071c800000000000000000000000021245c5e0e7f12c61eb71e907305f47096d3242f00000000000000000000000015f700b0f42a10a69ac81a5cb85c2f9eda3e083c000000000000000000000000e1414813ba858c1874866c5a617bd39aac0541100000000000000000000000003bb90a5c2022385f9f34e39bfd18d0217421e419000000000000000000000000c7ba33bf5f72016b081b33dbcb12865efa3d7b4d000000000000000000000000e3723ed2a414fb1fd29f1a96de06fb59d8b10687000000000000000000000000ee07d70648fde964ecea34d1dceedec7503d7f28000000000000000000000000f5002a6847d434aa8e9b73d9339fd3de1456af540000000000000000000000006cc4bcca5c136a8e9d2880c55d3c13b715ba75c30000000000000000000000003d58c0a21e7e12ec4aacdceb423f2970088928b0000000000000000000000000117115561576a3641338c33c0164fe545927e425000000000000000000000000292477d467c9e26ed443c3b7491074de0428dd3300000000000000000000000098e657790dd0e4a0817936d9060cba60355a112f000000000000000000000000837eedfb3127ae0cdf3167f58850fb08aa32c8da0000000000000000000000009e86aee9504ee524f8fb7b7217682888f660ed1f000000000000000000000000eda7f4ac44602c093a34e4db81cd0daf8125f816000000000000000000000000d1ee97f39a0150ed893e1a352b3e5e9a3c61e06c0000000000000000000000000b413d400a0f0dfa355abbd4c5ada46a012375200000000000000000000000000c2ba7d2f29b191b76314bd23dc40acedae339af0000000000000000000000003dba1b337fd8bb70961088574208ce4dda0d286f00000000000000000000000060627ec96ecdb80cffac9c45093dfc26e221a40a0000000000000000000000002258ed0d58be79d995bc42f48e6ac68695cd0f9700000000000000000000000068f8ef1792689006d7c1495ffa0c6e05f8fdf1eb000000000000000000000000a18054bcf91e39add7826fc03de1669dd9f6a2aa000000000000000000000000854458aa178223c2fe2e8201e479296cacedbd8000000000000000000000000036def8f0ac235fd911a720e779e51dff85a0a4fc000000000000000000000000c82312874814994e21779a6900ea4f2602a6fe34000000000000000000000000a965a9709fbbf1ede317cf23b407648af9596316000000000000000000000000f509728cce4d6b9f222125e5d3563b0d23fe62ba000000000000000000000000f1458cd0973528b4b4d7331c163fb52cdb11028c00000000000000000000000064c22eb4ed453d96462602b4c499b1c6c02baf24000000000000000000000000c83f5ac04da5f9b79ee71ebefb100d14bc2c5b760000000000000000000000005e13e899332445051444d85ff7a74e23f524ee80000000000000000000000000197f025e23d0e61fb8351dd0e3802d64ca8effc50000000000000000000000002315149fd1b9bd3f25d03c6416b2e9777787d10c000000000000000000000000da38c543596b7e1b79ad0ac2c7797adb914ea3c50000000000000000000000002a2580f391088b45dea8bf1511d3e9ab33bce3ba0000000000000000000000009b92ad474a91006569c30d682ac33d63033a28e400000000000000000000000048f3dcdeee76f5922c4add6fcb99cde2c3dfc8d300000000000000000000000020ee7da46251bfda05432191ca1024315e79ffbb0000000000000000000000002aeef1082e4456cd146799c026b2e673813639dd000000000000000000000000708e50da4d4d9ff67bf815aa37a8f8b8da9233aa000000000000000000000000cb5bfd704af45400337d5bb3437aa52ff9dfb53f00000000000000000000000057156fcd264e79718f92fbc2a9177742f73e87b1000000000000000000000000bb65b81b91026e7040a4114a57fc52c9ca58a5e00000000000000000000000002c5b3eefdbc52871028ccb36a6b0af35664a0ded00000000000000000000000078fa029f04251cc810dff72ccc7b4764dbc16899000000000000000000000000205882d8f8c220a166894196dcdf52221d371e79000000000000000000000000df749c7b1d75eb198ae8720b67bc0e29b238c57c00000000000000000000000089d3e1a21888d918a085f18d15765cac73d3491c000000000000000000000000687f0edbe84d21171cc210fd192c347adb5d522f000000000000000000000000e69d34cb7aa746005aced88f580aa663ad13cc2c000000000000000000000000624260517cd02339cc41525f05fb7520ab11fc2a000000000000000000000000e07dccad61212aa022811e7f191b1807303068ed000000000000000000000000206b44cb741271bf515356babd729e3bd8b457a2000000000000000000000000da264514ac9b13a5c6d547e8803f97d8cda61596000000000000000000000000fbfd253608f1c96f65969d1d68597453e08c6230000000000000000000000000a24e06f53baae8e0af768d7061db17430e62ce80000000000000000000000000206c44a4da3cfde2f65c5a68bb07ba68539ae7be0000000000000000000000008468e574fb5db6e27950c8c810120d4142235983000000000000000000000000d0b80ce58f314bb0282bbeacc4bc0be5265e98c0000000000000000000000000b6e5ef80f496732d6a2bf9db4b0f35d6c97012ff0000000000000000000000006ba6acb7ee108c68f6dd36235b1e78c6cf4a0c2e0000000000000000000000008b00638dc0bfcdf4ee1cee7759124a9bac88552a00000000000000000000000069c5b8837f37ae3cd4bded366e274921f03c5368000000000000000000000000a1736401b2f2f44f53192f0bec17a06992fa0a5500000000000000000000000001416328522cb218bd1bae8da6927c65a958098d0000000000000000000000005f2f23f750eec2eedf55f3a22afe3db1c52cde1a000000000000000000000000f6358fb3bc61f70d56a47e176b6accea2035992a000000000000000000000000114e6758ac4d2e2b24b215db058237287a5100950000000000000000000000004bcf5834e5855b9a5994304d61620531fd0da08a00000000000000000000000076515acb5b7f4cfa9b9ccd85b64677beced3c4d70000000000000000000000009c7eb293a5d282419960b9d24ca41c91875386e80000000000000000000000008f38268190dbb6b9e940c1cd56f458adbbd44a55000000000000000000000000ff9d38ad51dae408da8e6d29cd3c5fbb3a6ece3a000000000000000000000000681e50893310ceee725c578be3d77481899185c2000000000000000000000000795dea9077e8b8fd9a95d982147404a1452bbb9d000000000000000000000000617f9f68b96f0457248ea49ec942249861753f5e000000000000000000000000ff5aa4babf6d0e24d5d96fabe742d15b574a78e80000000000000000000000009543510d5cf81d9866316ec1222fda3086fa7db60000000000000000000000001924c794d6b6cab91a962690289afe85d0459716000000000000000000000000ce06107e6da013bc582a7d59edb510d2330b8d8e000000000000000000000000153a180d4b192012f7be569c1069a8f7ce6592ac0000000000000000000000009ca613fd1ebbe22189d530f979d0ab089ea1d2c5000000000000000000000000b7bc693f9dd288279063d9a26fa89eb192a5f0d200000000000000000000000095235fccf388ff4f643cde984f416f36ac695b1d000000000000000000000000c17ae17b5101966f5f2ddc93bff749da1e3409ce00000000000000000000000021c56dcb0243d43d28273e543d5928d2faa35c5c000000000000000000000000eb1e5374f77e431395e28f26a3fe80a55fd0d6bb0000000000000000000000001465d4b92d9eb822a2369f991b3584d0eb948785000000000000000000000000daa4d46dd8dc873e34cad34ae37625f16380cd69000000000000000000000000c3f0326736f43d3953a4f56a33be21007a950ad30000000000000000000000009816f25e95b250345f6eae2122cc94f9a23b89530000000000000000000000007c9cc94756ef50e502e0e85b2bdc6800dff41812000000000000000000000000dfec4867013d35005e59203d655dacf5cfdc1dcd00000000000000000000000070f0e321e774a8b2d1f5deed9e986a43f74cf688000000000000000000000000ba1b8eb871f2f76782dd81b907c64bab7b3681890000000000000000000000005ed72f027a169ed44438d607dff4c7025782b645000000000000000000000000f28cd679465996efe64777d2e0fe62c3f8c609450000000000000000000000002fdb53b0ba4c7fee798d629481007427b46e267d000000000000000000000000eb921c064ff52ac5cd31d96c5ef7fca16bbaf927000000000000000000000000d88fd8f87ba2f0bafd0c6f152a5bac8ebc8db8d1000000000000000000000000e8e3ffe2bf03dd28a3aff3a683b1dd27ced8605b00000000000000000000000059db03e27e40ea4f669b3bd5fbb73ed61c75aff8000000000000000000000000be1569949e37bdeece55ec58d03d66caff2bc4de00000000000000000000000053b7b89b5be9643fbcdd0d793a50e76772cfe0ca000000000000000000000000098d8aba812a86724b4e07a31718a6756d563de600000000000000000000000086d2e23e4cd6bba15b715030942b2e7de11c43da000000000000000000000000087dc380d1da603a9ea42221ad925c00246433db000000000000000000000000bad03efa26529e6fedc649f9ba2ae225a571177c000000000000000000000000296b49bc84c64946efa728976998bb59866478390000000000000000000000007fbb8a44e616eb3cdfc5acd682ef203f2ed19eb0000000000000000000000000794573e061e6ec91fdab00115f6feace061c64b8000000000000000000000000e029a052281920451f4dc3c3a892809ffbc843340000000000000000000000005e8a3017f8cf22c7d42b960ac635292c7d0f559e000000000000000000000000c74e232392cc8662ed0f949aac158cf4e5f34d780000000000000000000000009dbe9921207d2b5e1ecda9c7a78f38a4dc63d97c000000000000000000000000d35893adbaab104ecdcf055985c5c9ad29264657000000000000000000000000dcc66a8c37eeb7bea445f309c18cdf46f6c5d653000000000000000000000000bb21f1e2ce6f728e109222cd483adb671f994228000000000000000000000000c83c8916a1b9414de7f42deef4eb01917ec744510000000000000000000000002ba719cc38ced934f2e906f591909ced348a89cd000000000000000000000000089b06271f3ae08aa0c7b701b13d29f920697077000000000000000000000000c8d359cec0965edf37b5c7db0413d9631fbd8db50000000000000000000000007ec7823546cc74edfddd650bbbfb28eddde18ea00000000000000000000000003c1885378c8cc14c13d976390a9ab5f274c1a2640000000000000000000000008fe0c1eaba4515717526c474998a4ef048de60ee000000000000000000000000b92d273980ba118f81f037f8dea66ddf6e60d2980000000000000000000000008eee4596c913946bd43606a8d4fec39fc7e8e058000000000000000000000000358b937bc97bb0756f06c61b325e9ba2d8699fbe000000000000000000000000c706e0b13f2934dda029ce9e0e848360815c8741000000000000000000000000330544b31aa7b083175a3dcb4c491b8bb535257d0000000000000000000000008a58c882191a6950d427e857e5b9759535faaca2000000000000000000000000b2dd021fae8ec93029c809adc9f00b69758de64a00000000000000000000000045d7aba28ad24e63d7cc8a2820bd5f9e43d1da120000000000000000000000005283824dc1da992ab050f1f11e1ff82a68fc6ab2000000000000000000000000e2b321ceefb2df6def2c4adfe0fdb23325529e8f000000000000000000000000fb0b325d90f27f5c8512981f23c6f7f406b7b1b40000000000000000000000004669f10272474e6b71daa34dd254e90bf5ecc3640000000000000000000000005248b51a5ae489b82629707be13b4dc7d531bc10000000000000000000000000fd01bbaf585d777a6382d06efb7be594cf7d38b4000000000000000000000000ab963c501ddf83f0b58d2c3aeb4d8224cc0d14c400000000000000000000000087ce9c8a157ce25d91e0dc57243c4e568a61fe4e000000000000000000000000c3aed72a4eb0271bdcd18b1a490499a983e6d9a4000000000000000000000000a1505e511cf6cb413a302c1e75968b349e343d770000000000000000000000001ed770c21c8a46562a0cc57e42dc105c45f85fab00000000000000000000000097fd9f29b44695573b20e0ecfb9ca12807030122000000000000000000000000e935448c28c081bea19ef833438ba5630dd8d554000000000000000000000000077b2c100b8714648f6f0e69cf9cf7bb01c305b10000000000000000000000005b5a6ae20cc6fb2f8d702e8f45833fce9bce653f0000000000000000000000002019189f256d77be1596c788488be2697f765858000000000000000000000000eef7f7767963576d37091408fe78af25a5c350e4000000000000000000000000169c7c34142cff8223040f8dd545d7300fbfe3ef00000000000000000000000053e6e54d42451aa85b67411f32eb4df275a5960700000000000000000000000033cf4977eedae8278e3c0344df3eb86b3c83480f000000000000000000000000344493bc265c494016453203c6dcee53b72066a200000000000000000000000096422ae2c0738a8173783268660da4ba1f20b96b000000000000000000000000da1c31fc8e9f7bb881e578f65ff304203ed80b83000000000000000000000000c9f5299ccf3335b7a9c9e6d2ab3a724056a7cafe0000000000000000000000005305d68c9290aa087a516481b2d2cc49b52141560000000000000000000000009ce8125089a3223e51ca772d69057483dd6f020f000000000000000000000000d0a35fe2813b7a31ad834b9bcb8482c45886c0f700000000000000000000000064241be80ee10fa0a2dff64267f6f8ac7b384fe8000000000000000000000000653181142dc87d1bc4a1b7849604d4ba510a4a3d000000000000000000000000c5e407847656e565e90f7723a7f14c384c1069b2000000000000000000000000f02d2149b3ef8b87bac85f580aafb85441155306000000000000000000000000391b6da9c61b077e76a42d314cd8aaaee1d6a77d0000000000000000000000008b29d8e15ad9e8b81fcace4dbbe4728c86fb0994000000000000000000000000d2ccd2b9b210965b2e03555366603b542dbc85230000000000000000000000001f8231ef50e99d361b5252a24ec2ec44285367e10000000000000000000000001e8ad123d9dff38f57745fb2570c0c9adfed24bd0000000000000000000000007fed03f9bb8c83b38e825e7eb5569b7253f28f98000000000000000000000000b7e928a5765399ee25f9c2e3379e88d7bc1c7cf2000000000000000000000000a52e7eddcbe96dc7f4ef8d4eb2d60c304f8172b4000000000000000000000000465a63919063585ae552f4356bf365f02bc2f17f0000000000000000000000007eec817616db347f1a2df574d40ba231e6ca3aa70000000000000000000000007750144e95462f292564d82e86ccd4137280cd9300000000000000000000000026c3ef14247b192758ef7dc14a2786a2701da67400000000000000000000000062c0dc342636b0838ec86ac9200a7c64cbd492fc00000000000000000000000048b576c87e788a762d6f95a456f2a39113b469500000000000000000000000008177578fc92e9ab1cb026b6af1abcfb2ead5c3df00000000000000000000000064a08e968efd1c50c10a5ba3f94cea6a2d1c6e3b000000000000000000000000ff830e8764b2550fd758a6a211387336faa697ac0000000000000000000000004d462004250bed9ca7566753d91418f5fcf2ce1600000000000000000000000045b77723de0c158d8e71cd2def61a0ff984507a5000000000000000000000000e9dadd9ded105d67e6cb7aadc48be0c2d45df6520000000000000000000000003bb5a214218d9f12b5acd7ab5b9b56498076a4a80000000000000000000000000d3c17af32e1d47d91ea55e107880cc27e7abc520000000000000000000000003e198b4c62cc84bf66e97c21c6ed8ab09f4f78460000000000000000000000006e30cc87180210014712adcedeb744fda0bb5dd7000000000000000000000000cc17b9a72cd3242267d50fc7a04985878ada4075000000000000000000000000044acee661740e6492ddfe36b2e1722ece47576a0000000000000000000000003f31e1e3ed93ca354b580cc83178932c8d55a548000000000000000000000000d7d653a0041621a0788b194400090abec994d8690000000000000000000000005f8d277d8a252ef402a0d361a817f3f3635be74000000000000000000000000023c071a45b98a4070aa26dbabe230cfd6e2202b900000000000000000000000016ffeaf4aed279360e12fbb5c62baffdaa377f7d000000000000000000000000c42709c680799ca52851692037326ec8c0019da300000000000000000000000090096022b8ecf8e60d246ad85aaa5f229b108f72000000000000000000000000e46a81f6bc4c3d7c38166cdf36022020accb0a55000000000000000000000000b1ab14d1bd518729ec423f8612039df0e52c5911000000000000000000000000ea959ab4f605220165e47f4983b2b0da900c6917000000000000000000000000cbf286503ae67e06fb6a58517d2c7acbba1d0371000000000000000000000000f9efc778754c1bb02bd02ba3c26e4e30e40b8b95000000000000000000000000723d93df6881fba4a8ebeb1368132c4b210d6723000000000000000000000000bcd94405c34a3faa38ecb93bbc69eaecf5e704c100000000000000000000000014f1e421756b9f1218af316fb7a4fd74518749a10000000000000000000000001f0ef0a58c5bf8ec3912d64f017cfdf0ef6e413400000000000000000000000063f9dbfe4338f4191461b3c6e95630a02f962f5d0000000000000000000000002e89237570bffa2174718a198910770ee40fa9910000000000000000000000002d946ce4dfeca3a151a7c156c17f10762e55fdb0000000000000000000000000c980962e0c4865cb53b65a91378435520d1a487a0000000000000000000000003a0017248d8c15a97bec8f3a8a3798933b2b3c07000000000000000000000000d1d41aa19768b159d07fe5e64a36ad843108c186000000000000000000000000879a6e7eb589e67e474f6867fb9e2c01dfca525b0000000000000000000000002e4bf81368e50fdd3d478c46743013985378397b00000000000000000000000089d69d17b0f595f19c4c8657593dec4ce2c359e5000000000000000000000000a1e55e3445416a0ab0e185a04595a3be9371ed3d00000000000000000000000076e267d626d273ae07af42e92ab0cf30d3faf65d0000000000000000000000005565d1bd425febbabdb574a4cb129dac139565f50000000000000000000000004fcfec92fbfcacac5588bffdf9cc3451486d9c850000000000000000000000000f2f7050e19130f942e1724920b5ff5af9db717a000000000000000000000000da04862735138ff7d963ebe1f0ada67ebc38d6b400000000000000000000000068a7d17935dd49078c165abc395bd8cc475deb81000000000000000000000000df3fb88802bada47f1a6eafd14aa58ac57bca501000000000000000000000000e2a570028d28158557c25691f4af5c3b0d5b0845000000000000000000000000600996e99c79eb9b3ed93fb0a4e127ec6411c1ac00000000000000000000000069c386c9473cd81f3c29f99daf1a53c6412d846c000000000000000000000000457b4b7ac604b4190ea27160a7744f8b02926bf2000000000000000000000000011483a493cf5fdab7a9fc365fb27cb5f394a16a000000000000000000000000c95122aecf71faf7271acffb977771a7ee08c302000000000000000000000000da80b1fb0cd82c95d85e78972f8a0038dbd3714500000000000000000000000073dcc3334cd7b111f4a3340899a3962b9473da6f00000000000000000000000096f3f3f3d9bf076313b0b30436a7823e6a60c765000000000000000000000000311a32c2af9a167cbbabb6d88efe4f9c0c3fc3350000000000000000000000005bfdb1fa1f81161ec4271fe21f5c8b2662e3f22d0000000000000000000000001195814ebded671252f277ced357dbec74cb29980000000000000000000000009ab7cb139dbd9c9b659324232bf09dbf574d600b00000000000000000000000055549b29391589c93f27c06704c30cdfd41830e7000000000000000000000000a097d71baa9eab44704eea9ff01081dffd1b8e56000000000000000000000000a7697bbfd13f737c2d77333ccd8c250150c7410e0000000000000000000000007d8373e0fab20f73a5ff4b25433a2446edc0b0fd00000000000000000000000052525a3eeff5af67e385dd2cb23b6aa986bfaea70000000000000000000000007e55648f627e6081a8505cd5e568780ce12a5f9f0000000000000000000000008e9a0d20c86d23a8200852fdec455f9d03b52672000000000000000000000000299a42e204254cfa14298ded9a9b2f570fe805c200000000000000000000000065b6f9a133a2f36bedd2cbdd422bb763e27f62a1000000000000000000000000fbe0028e8ec61c67ff8bef21f419bcf5dce48276000000000000000000000000ff7128cac9b2dbf6b31785095ba76ba4c3146f1b0000000000000000000000001269cd4c51701cfa1ece62ee8d358b16c7a047a1000000000000000000000000f35831063cb9630a95d5793bd9dc60104026398e00000000000000000000000087a427c0a3508705f7f7d0c8b90e270f4f3d82680000000000000000000000008fe27f7973fea894a629130aefa6e34a5b0a8e1f000000000000000000000000075dd3c64f87798dae2d23a38f38c1f6ac041ec9000000000000000000000000e24f16ab77256c7630f7ca7aa975fa63cf80349900000000000000000000000056e128490ddf7ca0d40470a719fab47a8ac87cd1000000000000000000000000d6a39ef7e4d2814d7536549c59a89d1afdb1c6bf0000000000000000000000005797c881d5a4bda37bd1eab4fde8eb28a5e21322000000000000000000000000831283a628f377ccf760d885968c6a0b8019c22a000000000000000000000000cad33b8948a491f5aef2b43a62ff7aba212190e800000000000000000000000040276d2b40c06db2117cad18859826f6c95c924c0000000000000000000000008ab093a6f60f8f802cefa06cc41fb9ffebd37784000000000000000000000000eb62b2e2c7524f6f899b37dddc72ac84c0b7c45b0000000000000000000000005f24d55cb7729c69b26a136e68b6d921712d82eb00000000000000000000000099fe04b8cc24e9eaf1c6e71d8bc013752e2de3b70000000000000000000000002ca94c51e900ec97c4c64385136fc7cb5546a2d0000000000000000000000000c94c889a8ba65c06a7e0c5920ccdb33f548267990000000000000000000000001de75196b6f5064537b66c9361a08d5c8bcf3dc800000000000000000000000091d62ba28ab82990dcf9b2337614dd0c773b0a9f0000000000000000000000008c3996617922c3ca288958c233141d2672b6c4cf0000000000000000000000001c269bebfd3e2930a0b192c11dc6d2458aec6d0d0000000000000000000000007a70d539f38f91aec73fd33010db377514e4b3b60000000000000000000000009a9928156986447a89f41653ece4085af71d6ca30000000000000000000000000a1d2baaa2dd95f2a50f2e33e418a36808e65fc6000000000000000000000000bd22e386fc1c6c4d57832aeea27b209733466f8e000000000000000000000000f628398cdafd94d72360f1159d1ff342f11f3a3e0000000000000000000000001d76f7cae0756cc599178e1d47ef1d46e9f08b6b000000000000000000000000cb2396735159e0bfb6f1e9aa1c7913c6141ec1bf000000000000000000000000d83ff01c5dea3f44eae2d41b12d79bb487f455f9000000000000000000000000a0425d3aa00cf20c812b828e4fd7ed01ff4c978e0000000000000000000000003d337c13f8755c202874213af588306a8f1548f90000000000000000000000007259a7e5f1fdd8d048b8b1799adf823980ea08ae000000000000000000000000968145b1a97e6bf9c347d1b2b6a7c024e6d5d5d20000000000000000000000000bf2c9843a284ded4467f43e259d21340f65d0610000000000000000000000001931164fc4115cc5a244e758879fe23448957ed300000000000000000000000070fb75e866d6eb8fa80a454acfe3f44002b326da000000000000000000000000dbcc190d7c5144c832ffea3d6ecea2b5fb2e8b91000000000000000000000000fe5d4f8e6bfdc08b5b0cacd8201d8f3aff1dbe6b00000000000000000000000047aacef91af223ee6783184fa9d6c0b4dabbe09a0000000000000000000000004159dea474e626170b60784b6ceff0a54de2d1a8000000000000000000000000ebc5e0140f5939f1ceadf5009c1f578fab03907d000000000000000000000000d5598f43de007bd1c79751cd65d7ca637f57814a0000000000000000000000008a00923dbb6c7b43ae712a1de31deb68c7636d360000000000000000000000005dd803d1a9c9182bce8593234dac5afd9f01ef4b00000000000000000000000033af77ad508b027932eb7ded6f204615c976d18d000000000000000000000000f8a7606a22f13df180348f41d5ee32a4310c8e61000000000000000000000000f59922e034abec3142f748a92b1a7826d1845a07000000000000000000000000d187bfdf291d3bf2ea8927ed096ae2caa59f2ccd0000000000000000000000000e7fb5fff3168fe035ec136b762496a98546b92e000000000000000000000000bf5288b99cde6923b947ef84b298f1094152a4fb0000000000000000000000006f009b8d79fa1b5287dece7aaf676eedbc6b599a000000000000000000000000851daf22253640768f0437f34f116bd8d36d52c1000000000000000000000000beb9999fe3334db5521c3c64ca735b4aaae4ea4800000000000000000000000001992b46350a48e7729eca9cec6c7890aab9723d0000000000000000000000000d5ec52a7b9f60d95a2d273e058b7b77e296dd0a000000000000000000000000a7e7c2de88ca6d805aec3e28b90727125533ef1400000000000000000000000065e9a5cbfee2ce93dbe10d542b07b8fa765ef0fa000000000000000000000000a9ca26cd9079aeb529dbe8e17a39f677531ec5df0000000000000000000000008c9e0f84beb56e860f586eddf4067f8133b1e4d300000000000000000000000061a88fe3b8882eb3bbcf1b78d5439c77102f07e60000000000000000000000005dcdabb4284d30c7a864cf14e62adfe83e027321000000000000000000000000a2ee40748a415837ca364afb6065504024dc7c8100000000000000000000000097f54afb50e01647bb4132eb4c00b2d8c1bf7c71000000000000000000000000ce46006c7db33a3356cc3ea0ddf52e1c35727be2000000000000000000000000546a9a88a3b1c1d3fc519d1e673f87dc17d9f412000000000000000000000000bf37a2f4f1eafe152e8336465cfaad1fda44b588000000000000000000000000b6e2e07235b295655571cf59b6080a561453c0a20000000000000000000000000287db886c189e8262946ab9f066af5063c633370000000000000000000000009d496f328952edb9e869b085df86c2a91e94a407000000000000000000000000db6307d00b414554ef0b4e59ecc44af6302fef2c000000000000000000000000c8c16c236a825f3dca939b84c1e34cf03507bbc500000000000000000000000002661c7785b87a4407a27bd2919037b2b6d81c180000000000000000000000004acf1a18191e89b406f0968fa52ba0b842e5dd92000000000000000000000000674a10e8fd1e6753d38f429cd6cf7bb1f4ba46ea000000000000000000000000b84694ac523e08fb38531c35ef8f04d9724c07f80000000000000000000000004b89910ca8ffec03795a34b3ffe9a441894e0abc00000000000000000000000096923a8882264cb6fd65d72b861ef098951a2710000000000000000000000000162dabb3bde01894a7f6360cf24d7bbfc09239d8000000000000000000000000250ad130b712f83641b917afb02c8ccf39b52bc5000000000000000000000000eb4f30e7308ee042590508c7d722d8f17c718676000000000000000000000000cc342bc3e27066a6387ac927856053819d826f03000000000000000000000000157853dff7210c2d5e21faa621be31f84b9f4e3300000000000000000000000065800785b93dee4ec20310c0ac81c75722014671000000000000000000000000a530596bc4219b8d07e80c82189fffab8b97094c00000000000000000000000045f42c655b4a3e84a87e0448cebcb948e4be387e00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e78400000000000000000000000000000000000000000000000000001daff710e784000"}}}},{package:"@metamask/test-dapp",file:"node_modules/@metamask/test-dapp/dist/constants.json"}],[289,{lodash:4855},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),f.migrate=async function(e){const t=(0,a.cloneDeep)(e);return t.meta.version=n,function(e){(function(e){var t,f;const a=(null===(t=e.IncomingTransactionsController)||void 0===t?void 0:t.incomingTransactions)||{};if(0===Object.keys(a).length)return;const n=(null===(f=e.TransactionController)||void 0===f?void 0:f.transactions)||{},s=Object.values(a).reduce(((e,t)=>(e[t.id]=t,e)),n);e.TransactionController={...e.TransactionController||{},transactions:s}})(e),function(e){var t;const f=(null===(t=e.IncomingTransactionsController)||void 0===t?void 0:t.incomingTransactions)||{};if(0===Object.keys(f).length)return;const a={};for(const e of Object.values(f)){if(!e.blockNumber||!e.chainId||!e.txParams.to)continue;const t=parseInt(e.blockNumber,10),f=`${e.chainId}#${e.txParams.to.toLowerCase()}`,n=a[f]||-1;a[f]=Math.max(n,t)}e.TransactionController={...e.TransactionController,lastFetchedBlockNumbers:a}}(e),function(e){delete e.IncomingTransactionsController}(e)}(t.data),t},f.version=void 0;var a=e("lodash");const n=f.version=95}}},{package:"$root$",file:"app/scripts/migrations/095.ts"}],[29,{"./cronjob-controller-messenger":27,"./execution-service-messenger":28,"./rate-limit-controller-messenger":30,"./snap-controller-messenger":31,"./snap-insights-controller-messenger":32,"./snap-interface-controller-messenger":33,"./snaps-registry-messenger":34},function(){with(this.scopeTerminator)with(this.globalThis)return function(){"use strict";return function(e,t,f){Object.defineProperty(f,"__esModule",{value:!0}),Object.defineProperty(f,"getCronjobControllerMessenger",{enumerable:!0,get:function(){return a.getCronjobControllerMessenger}}),Object.defineProperty(f,"getExecutionServiceMessenger",{enumerable:!0,get:function(){return n.getExecutionServiceMessenger}}),Object.defineProperty(f,"getRateLimitControllerInitMessenger",{enumerable:!0,get:function(){return s.getRateLimitControllerInitMessenger}}),Object.defineProperty(f,"getRateLimitControllerMessenger",{enumerable:!0,get:function(){return s.getRateLimitControllerMessenger}}),Object.defineProperty(f,"getSnapControllerInitMessenger",{enumerable:!0,get:function(){return r.getSnapControllerInitMessenger}}),Object.defineProperty(f,"getSnapControllerMessenger",{enumerable:!0,get:function(){return r.getSnapControllerMessenger}}),Object.defineProperty(f,"getSnapInsightsControllerMessenger",{enumerable:!0,get:function(){return i.getSnapInsightsControllerMessenger}}),Object.defineProperty(f,"getSnapInterfaceControllerMessenger",{enumerable:!0,get:function(){return o.getSnapInterfaceControllerMessenger}}),Object.defineProperty(f,"getSnapsRegistryMessenger",{enumerable:!0,get:function(){return c.getSnapsRegistryMessenger}});var a=e("./cronjob-controller-messenger"),n=e("./execution-service-messenger"),s=e("./rate-limit-controller-messenger"),r=e("./snap-controller-messenger"),i=e("./snap-insights-controller-messenger"),o=e("./snap-interface-controller-messenger"),c=e("./snaps-registry-messenger")}}},{package:"$root$",file:"app/scripts/controller-init/messengers/snaps/index.ts"}]],[],{});