1function e(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function t(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function n(e){return e.replace(/-/g,`+`).replace(/_/g,`/`)+`=`.repeat((4-e.length%4)%4)}var r=null;function i(){return r?Date.now()>=r.policyExpiresAt?(r=null,null):r:null}function a(e){r=e}function o(){r=null}var s=new Map;function c(e,t){s.set(e,t)}function l(e){return s.get(e)??null}function u(e){s.delete(e)}function d(e){return s.has(e)}async function f(e){let t=h();if(t&&t.walletId===e){let n=l(e);if(n)return{privateKey:n,publicKeyBase64:t.publicKeyBase64,isFresh:!1}}let{privateKey:n,publicKeyBase64:r}=await _();return c(e,n),m({publicKeyBase64:r,walletId:e,deviceKeyQuorumId:t?.deviceKeyQuorumId??``}),{privateKey:n,publicKeyBase64:r,isFresh:!0}}var p=`embedded-wallet-neck-meta`;function m(e){localStorage.setItem(p,JSON.stringify(e))}function h(){let e=localStorage.getItem(p);if(!e)return null;try{let t=JSON.parse(e);return!t.publicKeyBase64||!t.walletId?null:{publicKeyBase64:t.publicKeyBase64,walletId:t.walletId,deviceKeyQuorumId:t.deviceKeyQuorumId??``}}catch{return null}}function g(){localStorage.removeItem(p)}async function _(){let t=await crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`,`verify`]),n=await crypto.subtle.exportKey(`spki`,t.publicKey),r=e(new Uint8Array(n));return{privateKey:t.privateKey,publicKeyBase64:r}}async function v(r,i){let a=t(n(i)),o=await crypto.subtle.sign({name:`ECDSA`,hash:{name:`SHA-256`}},r,a);return e(new Uint8Array(o))}export{_ as a,h as c,v as d,m as f,e as g,t as h,f as i,l,n as m,g as n,i as o,c as p,u as r,d as s,o as t,a as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.